OpenVPN Bridging

Tempo fa mi è capitato di dover configurare openvpn in bridge mode, questo modo.
a differenza della classica assegna ai client lo stesso indirizzo ip della rete locale.
È utilizzata per configurazioni particolari, dove il modo routing ha dato qualche problema.

Procediamo con l’installazione:
apt-get install openvpn bridge-utils iproute

Configuriamo il bridge tra la scheda di rete virtuale (tap0) e quella vera (eth0):
vi /etc/network/interfaces
auto br0
iface br0 inet static
address 192.168.10.2
netmask 255.255.255.0
gateway 192.168.10.254
pre-up /usr/sbin/openvpn –mktun –dev tap0
pre-up /sbin/ip link set tap0 up
pre-up /sbin/ip link set eth0 up
pre-up /usr/sbin/brctl addbr br0
pre-up /usr/sbin/brctl addif br0 eth0
pre-up /usr/sbin/brctl addif br0 tap0
post-up /etc/init.d/openvpn start
pre-down /etc/init.d/openvpn stop
pre-down /usr/sbin/brctl delif br0 eth0
pre-down /sbin/ip link set eth0 down
pre-down /usr/sbin/brctl delif br0 tap0
pre-down /sbin/ip link set tap0 down
post-down /usr/sbin/brctl delbr br0
post-down /usr/sbin/openvpn –rmtun –dev tap0

Generiamo le chiavi rsa:
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0

Modifichiamo il file vars mettendo i dati che servono.
export KEY_COUNTRY=IT
export KEY_PROVINCE=CZ
export KEY_CITY=Lamezia Terme
export KEY_ORG=Catanzaro
export KEY_EMAIL=francesco.gabriele@

Creiamo la sottodirectory keys se non esiste.
Mkdir key

Iniziamo con le chiavi del server.
. ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh
openvpn –genkey –secret ta.key

Copiamo le chiavi generate nel path corretto.
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys
cp ca.crt /etc/openvpn
cp server.crt /etc/openvpn
cp server.key /etc/openvpn
cp dh1024.pem /etc/openvpn
cd ..
cp ta.key /etc/openvpn

Ora generiamo quelle del primo client.
Mkdir /etc/openvpn/client1
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
./build-key client1
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys
cp ca.crt /etc/openvpn/client1
cp client1.crt /etc/openvpn/client1
cp client1.key /etc/openvpn/client1
cd ..
cp ta.key /etc/openvpn/client1

Queste chiavi vanno copiate sul client

Creiamo il file di configurazione del Server.
vi /etc/openvpn/server.conf
port 1194
proto tcp
dev tap0
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
client-to-client
local 192.168.10.254
server-bridge 192.168.10.254 255.255.255.0 192.168.10.16 192.168.10.19
comp-lzo
keepalive 15 45
ping-timer-rem
persist-tun
persist-key
status openvpn-status.log
verb 3

Ora creiamo quello del Client.
client
dev tap
proto tcp
remote 87.53.101.XX 1194
resolv-retry infinite
nobind
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
ping 15
ping-restart 45
ping-timer-rem
persist-tun
persist-key
mute-replay-warnings
route-method exe
route-delay 2
verb 3

Per qualsiasi problema potete consultare la guida ufficiale http://www.openvpn.net/index.php/documentation/howto.html

Frank :-)

About Francesco Gabriele

Inserisci un commento

Il tuo indirizzo email non sarà pubblicato. Required fields are marked *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>