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

Shorewall + OpenVpn



Salve,
ho la necessita' di collegare due sedi remote con una vpn, la mia esigenza e' quella di far vedere sia i pc che le stampanti delle due sedi come se fossero una rete locale.
Ecco come ho configurato il tutto
RETE LOCALE A : indirizzi ip utilizzati dal 192.168.10.2 al 192.168.10.99
|
|
|
|
eth0: 192.168.10.1

FIREWALL A : ( distribuzione debian ; openvpn ver. 2.0.beta15 ; shorewall ver 2.0.11 )

eth1 : xxx.xxx.xxx.xxx ( indirizzo ip pubblico )
|
|
|( linea adsl con ip statici )
|

INTERNET

|
|
|
eth1 : yyy.yyy.yyy.yyy ( indirizzo ip pubblico )

FIREWALL B : ( distribuzione debian ; openvpn ver. 2.0.beta15 ; shorewall ver 2.0.11 )

eth0 : 192.168.10.201
|
|
|
|
RETE LOCALE B : indirizzi ip utilizzati dal 192.168.10.202 al 192.168.10.244

Sul firewall A ho attivato openvpn in modalita' bridge ethernet tunnel, sul firewall B lancio la connessione VPN al firewall A. Le due reti locali si vedono ed i vari computer Windows posso sia scambiarsi i file che stampare sulle stampanti condivise delle due sedi. Ho quindi abilitato il firewall ( utilizzando shorewall ) partendo dallo script di esempio fornito dal loro sito, ho quindi configurato shorewall per permettere i collegamenti della vpn seguendo l'howto presente a questo link : http://shorewall.net/OPENVPN.html a questo la vpn non funziona piu' ad esempio quando una macchina della rete locale B tenta di accedere ad un dns server presente su internet nei file di log di shorewall ho :

Dec 1 15:38:57 dnsprova kernel: Shorewall:all2all:REJECT:IN=br0 OUT=eth1 PHYSIN=eth0 SRC=192.168.10.221 DST=62.123.105.181 LEN=50 TOS=0x00 PREC=0x00 TTL=127 ID=1176 PROTO=UDP SPT=1045 DPT=53 LEN=30

E' ovvio che il firewall vede i pacchetti che arrivano dalla rete locale ( tramite la vpn e quindi br0 ) come se fossero inviati dall'esterno e quindi li scarta, sembra che non veda le modifiche fatte per accettare i dati della vpn. Secondo voi e' possibile una configurazione di questo tipo' o devo rivedere l'intera struttura ? Tenete presente che le macchine nella rete locale devono anche navigare in Internet.
Mille grazie da Obe.

ecco come ho configurato shorewall sul FIREWALL B :

/etc/shorewall/interfaces :
net     eth1            detect          tcpflags,dhcp,routefilter,norfc1918
loc     eth0            detect          tcpflags
vpn     br0

/etc/shorewall/zone :
net     Net             Internet
loc     Local           Local Networks
vpn     Vpn             prova vpn obe

/etc/shorewall/masq :
eth1                    192.168.10.0/24

/etc/shorewall/policy :
loc             net             ACCEPT
# If you want open access to the Internet from your Firewall
# remove the comment from the following line.
fw              net             ACCEPT
net             all             DROP            info
# THE FOLLOWING POLICY MUST BE LAST
all             all             REJECT          info
# per openvpn oberdan
vpn             all             ACCEPT
all             vpn             ACCEPT

/etc/shorewall/tunnels
openvpn                 net             xxx.xxx.xxx.xxx

SCRIPT per lanciare la vpn sul FIREWALL A :

#!/bin/sh

/usr/local/sbin/openvpn --mktun --dev tap0

/usr/sbin/brctl addbr br0
/usr/sbin/brctl addif br0 tap0
/usr/sbin/brctl addif br0 eth0

/sbin/ifconfig tap0 0.0.0.0 promisc up
/sbin/ifconfig eth0 0.0.0.0 promisc up

/sbin/ifconfig br0 192.168.10.1 netmask 255.255.255.0 broadcast 192.168.0.255


/usr/local/sbin/openvpn --tun-mtu 1500 --tun-mtu-extra 64 --dev tap0 --secret /etc/openvpn/static.key --ping 40 --float --comp-lzo --daemon _____________________________________________________________________________________________________________

SCRIPT per lanciare la vpn sul FIREWALL B :

#!/bin/sh

/usr/local/sbin/openvpn --mktun --dev tap0

/usr/sbin/brctl addbr br0
/usr/sbin/brctl addif br0 tap0
/usr/sbin/brctl addif br0 eth0

/sbin/ifconfig tap0 0.0.0.0 promisc up
/sbin/ifconfig eth0 0.0.0.0 promisc up

/sbin/ifconfig br0 192.168.10.201 netmask 255.255.255.0 broadcast 192.168.0.255


/usr/local/sbin/openvpn --tun-mtu 1500 --tun-mtu-extra 64 --dev tap0 --ping 40 --float --comp-lzo --secret /etc/openvpn/static.key --remote xxx.xxx.xxx.xxx --daemon _____________________________________________________________________________________________________________


Reply to: