[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Openvpn Ethernet Bridging alla Debian Way



Fabio Napoleoni ha scritto:
> Listemessaggi CoPlast ha scritto:
>>> Quindi se io volessi farlo su eth0 dovrei fare
>>> #auto br0
>>> iface br0 inet static
>>>     address xxx.xxx.254.75
>>>     netmask 255.255.255.192
>>>     gateway xxx.xxx.254.65
>>>     pre-up openvpn --mktun --dev tap0
>>>     pre-up ifconfig eth0 0.0.0.0 promisc up
>>>     pre-up ifconfig tap0 0.0.0.0 promisc up
>>>     post-down openvpn --rmtun --dev tap0
>>>     bridge_ports eth0 tap0
>>>
>>> e poi un bel /etc/init.d/networking restart e dovrei andare sul sicuro?

Allora ci sono riuscito o quasi, la giusta configurazione per far
funzionare il tutto e la seguente:

auto br0
iface br0 inet static
    address xxx.xxx.254.75
    netmask 255.255.255.192
    gateway xxx.xxx.254.65
    pre-up openvpn --mktun --dev tap0
    post-down openvpn --rmtun --dev tap0
    bridge_ports eth0 tap0

in quanto i comandi che settano l'ip a 0.0.0.0 in modalità promiscua
vengono eseguiti dallo script bridge installato dal pacchetto
bridge-utils in /etc/network/if-pre-up.d. In questo modo la cosa
funziona correttamente ed anche i vari comandi ifup, ifdown e
/etc/init.d/networking restart hanno l'esito voluto.

Ma (c'è sempre un ma) ho un problema, al boot la macchina viene
configurata correttamente, ed anche in caso di utilizzo dei comandi
indicati in precedenza, ma solo a condizione che il servizio openvpn sia
fermo, altrimenti i comandi pre-up openvpn --mktun --dev tap0 e
post-down openvpn --rmtun --dev tap0, falliscono in quanto l'interfaccia
tap0 è utilizzata dal servizio, causando il mancato funzionamento della
rete e conseguente isolamento da internet.

Ho visto che in /etc/network/if-up.d e in /etc/network/if-down.d ci sono
gli script per l'avvio/stop di openvpn, ma evidentemente questi script
vengono eseguiti dopo i comandi pre-up e post-down. Qualcuno mi può
confermare la cosa? Sto leggendo la documentazione di ifupdown ma non
trovo quale sia l'ordine di esecuzione dei vari script/comandi.

Alla luce di queste considerazioni, dove mi consigliate di mettere i
comandi necessari alla creazione dell'interfaccia tap0 per essere sicuro
che i comandi siano *sempre* eseguiti nel giusto ordine evitando in ogni
caso il blocco della rete.

Ultima domanda, ma è più che altro una curiosità, nel mio interfaces ho
indicato la riga
    bridge_ports eth0 tap0
ma in altri esempi trovati su internet ho trovato l'opzione
    bridge_ifaces eth0 tap0
che però non risulta indicata nel file
/usr/share/doc/bridge-utils/README.Debian.gz nel quale sono indicate le
opzioni configurabili attraverso il file interfaces, qualcuno mi sa
spiegare la differenza oppure quali sono i pro e contro di usare l'uno
oppure l'altro?

Grazie.

-- 
Fabio Napoleoni
f.napoleoni@email.it

****************************************************************
 "Computer Science is no more about computers than astronomy is
 about telescopes"
                                             Edsger W. Dijkstra
****************************************************************



Reply to: