Newsgroup: it.comp.reti.locali
Titolo: Collegare 2 reti con OpenVPN su pfSense

Ho 2 reti, la prima in ufficio 
192.168.10.0/24
 a cui è possibile
connettersi con OpenVPN grazie ad un firewall pfSense; tale firewall ha
2 server OpenVPN SSH/TSL, uno per le connessioni volanti con client
software (
10.0.8.0/24
), ed uno per una connessione peer-to-peer PSK con
l'altra rete (tunnel 
10.0.7.0/28
, rete 
192.168.11.0/24
), dove c'è
un'altro apparato con pfSense configurato come client peer-to-peer. Le 2
reti si vedono e tutto funziona, il problema è far vedere i client
software dalla rete 
192.168.11.0/24
. Ho già provato ad aggiungere le
route, ma probabilmente sbaglio qualcosa. Qualcuno saprebbe dirmi quali
sono i comandi da aggiungere alla configurazione, sui sue lati della
VPN?
Schematizzo la rete ed il percorso:
192.168.11.x -- computer dal quale voglio accedere ai client
192.168.11.1/10.0.7.2
 -- firewall pfSense OpenVPN Client
      #tunnel OpenVPN tramite internet#
10.0.7.1/192.168.10.1/10.0.8.1
 -- firewall pfSense OpenVPN Server
      #tunnel OpenVPN tramite internet#
10.0.8.y -- Client software
Se faccio un traceroute da 192.168.11.x a un computer della rete
192.168.10.0/24
 tutto OK, se faccio un traceroute da 192.168.11.x ad un
client 10.0.8.y il tutto esce dal mio getaway (192.168.11.1) e si perde
nella rete
nelle opzioni avanzate del mio firewall, ho provato ad aggiungere questo
comando (ma anche altri, questo mi dovesse essere quello corretto):
route add -net 10.0.8.0 netmask 255.255.255.0 gw 10.0.7.1
ma non ho avuto nessun risultato... traceroute 10.0.8.y non imbocca il
tunnel ma esce nella rete :-/
Qualcuno ha capito la situazione e può darmi una dritta?
-- 
Per rispondere, togliere -NOSPAM- dall'indirizzo.

 corretto): route add -net 10.0.8.0 netmask 255.255.255.0 gw 10.0.7.1
La route di cui sopra è stata aggiunta al firewall 192.168.11.1 ?
In caso affermativo, prova a fare un trace da tale box all'indirizzo
10.0.8.1 e verifica se il trace funzioni; se, come credo, funzionerà,
ho il sospetto che i clients della subnet 
10.0.8.0/24
 non abbiano
una corretta route "di ritorno" verso 192.168.11.x quindi il traffico
da tale subnet verso la 10.0.8 verrà inoltrato ma... quello di ritorno
dalla 10.0.8 alla 192.168.11, non avendo una route appropriata...
si perderà nel nulla :)

 wrote:
A dire il vero non avevo indicato la route al 192.168.11.x, avevo solo
il push della vpn, adesso l'ho aggiunto ma sospetto che il problema non
sia solo lě: infatti il traceroute ad un ip 192.168.10.1 parte dal mio
computer, passa all'ip del firewall e da lě va sulla VPN, mentre il
traceroute all'ip di un client dell'altra VPN, dal firewall si passa al
router e poi si perde. Per chiarire, il firewall č collegato lato wan ad
un router (VodafoneStation) con un'altra subnet (192.168.1.x) composta
dai due dispositivi. E' chiaro che il traffico passa comunque per il
router, ma nel traceroute alla lan 192.168.10.x questo non si vede,
mentre per i client della OpenVPN 10.0.8.x la route si ferma sull'IP del
mio router, invece di passare per la 10.0.7.x come gli altri. 


 passare per la 10.0.7.x come gli altri.
quindi, se ho capito bene, un trace avviato da un client posto
sulla 10.0.8.0 verso un IP 192.168.11.0 si ferma a 10.0.8.1 ?!?
Nel caso, hai nel firewall 10.0.8.1 una rotta che indichi allo
stesso che i pacchetti destinati a 192.168.11.0 debbono
essere inoltrati a 10.0.7.2 ?

Forse non mi sono spiegato bene,vediamo se con un po' di ifconfig (fatti
dai due firewall) e qualche traceroute fatto sia dai firewall che dai
client delle vpn, ci riesco meglio... in pratica, mi interesserebbe che
l'ultima route vada a buon fine.
ad...@192.168.11.1/~
: ifconfig
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
1500
options=8280b<RXCSUM,TXCSUM,VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
        ether 00:0d:b9:1c:0c:10
        inet6 fe80::20d:b9ff:fe1c:c10%vr0 prefixlen 64 scopeid 0x1 
        inet 192.168.1.2 netmask 0xffffff80 broadcast 192.168.1.127
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
vr1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
1500
options=8280b<RXCSUM,TXCSUM,VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
        ether 00:0d:b9:1c:0c:11
        inet 192.168.17.1 netmask 0xffffff00 broadcast 192.168.17.255
        inet6 fe80::20d:b9ff:fe1c:c11%vr1 prefixlen 64 scopeid 0x2 
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
pflog0: flags=100<PROMISC> metric 0 mtu 33200
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet 127.0.0.1 netmask 0xff000000 
        inet6 ::1 prefixlen 128 
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4 
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
pfsync0: flags=0<> metric 0 mtu 1460
        syncpeer: 224.0.0.240 maxupd: 128
enc0: flags=0<> metric 0 mtu 1536
ovpns1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        options=80000<LINKSTATE>
        inet6 fe80::20d:b9ff:fe1c:c10%ovpns1 prefixlen 64 scopeid 0x7 
        inet 10.0.17.1 --> 10.0.17.2 netmask 0xffffffff 
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
        Opened by PID 33740
ovpnc2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        options=80000<LINKSTATE>
        inet6 fe80::20d:b9ff:fe1c:c10%ovpnc2 prefixlen 64 scopeid 0x8 
        inet 10.0.7.2 --> 10.0.7.1 netmask 0xffffffff 
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
        Opened by PID 5114
pptpd0: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> metric 0 mtu
1500
ad...@192.168.10.1/~
: ifconfig
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
1500
options=8280b<RXCSUM,TXCSUM,VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
        ether 00:0d:b9:17:9a:08
        inet 192.168.5.2 netmask 0xffffff00 broadcast 192.168.5.255
        inet6 fe80::20d:b9ff:fe17:9a08%vr0 prefixlen 64 scopeid 0x1 
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
vr1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
1500
options=8280b<RXCSUM,TXCSUM,VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
        ether 00:0d:b9:17:9a:0a
        inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255
        inet6 fe80::20d:b9ff:fe17:9a0a%vr2 prefixlen 64 scopeid 0x3 
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
pflog0: flags=100<PROMISC> metric 0 mtu 33200
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet 127.0.0.1 netmask 0xff000000 
        inet6 ::1 prefixlen 128 
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5 
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
pfsync0: flags=0<> metric 0 mtu 1460
        syncpeer: 224.0.0.240 maxupd: 128
enc0: flags=0<> metric 0 mtu 1536
ovpns1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        options=80000<LINKSTATE>
        inet6 fe80::20d:b9ff:fe17:9a08%ovpns1 prefixlen 64 scopeid 0x8 
        inet 10.0.8.1 --> 10.0.8.2 netmask 0xffffffff 
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
        Opened by PID 26690
ovpns2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        options=80000<LINKSTATE>
        inet6 fe80::20d:b9ff:fe17:9a08%ovpns2 prefixlen 64 scopeid 0x9 
        inet 10.0.7.1 --> 10.0.7.2 netmask 0xffffffff 
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
        Opened by PID 36852
pptpd0: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> metric 0 mtu
1500
iMac-G5-di-Marcello-3:~ sta_admin$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
        inet 127.0.0.1 netmask 0xff000000 
        inet6 ::1 prefixlen 128 
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet6 fe80::211:24ff:fe2f:4b84%en0 prefixlen 64 scopeid 0x4 
        inet 192.168.1.3 netmask 0xffffff80 broadcast 192.168.1.127
        ether 00:11:24:2f:4b:84 
        media: autoselect (100baseTX <full-duplex,flow-control>) status:
active
        supported media: none autoselect 10baseT/UTP <half-duplex>
10baseT/UTP <full-duplex> 10baseT/UTP <full-duplex,flow-control>
10baseT/UTP <full-duplex,hw-loopback> 100baseTX <half-duplex> 100baseTX
<full-duplex> 100baseTX <full-duplex,flow-control> 100baseTX
<full-duplex,hw-loopback>
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 2030
        lladdr 00:11:24:ff:fe:2f:4b:84 
        media: autoselect <full-duplex> status: inactive
        supported media: autoselect <full-duplex>
tun0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 10.0.8.13 --> 10.0.8.14 netmask 0xffffffff 
        open (pid 21704)
iMac-G5-di-Marcello-3:~ sta_admin$ traceroute 192.168.10.100
traceroute to 192.168.10.100 (192.168.10.100), 64 hops max, 40 byte
packets
 1  10.0.8.1 (10.0.8.1)  83.161 ms  74.170 ms  73.061 ms
 2  Server-STA.sta.lan (192.168.10.100)  75.576 ms  91.278 ms  73.267 ms
iMac-G5-di-Marcello-3:~ sta_admin$ traceroute 192.168.11.70
traceroute to 192.168.11.70 (192.168.11.70), 64 hops max, 40 byte
packets
 1  192.168.1.1 (192.168.1.1)  2.929 ms  1.360 ms  0.619 ms
 2  *^C
ad...@192.168.10.1/~
: traceroute 192.168.17.70
traceroute to 192.168.17.70 (192.168.17.70), 64 hops max, 40 byte
packets
 1  rfc-1918 (10.0.7.2)  74.729 ms  60.225 ms  73.997 ms
 2  rfc-1918 (192.168.17.70)  72.812 ms  72.218 ms  70.355 ms
ad...@192.168.10.1/~
: traceroute 10.0.8.13
traceroute to 10.0.8.13 (10.0.8.13), 64 hops max, 40 byte packets
 1  rfc-1918 (10.0.8.13)  72.623 ms  72.035 ms  73.298 ms
ad...@192.168.11.1/~:traceroute
 10.0.8.13
traceroute to 10.0.8.13 (10.0.8.13), 64 hops max, 40 byte packets
 1  192.168.1.1 (192.168.1.1)  1.092 ms  1.000 ms  0.880 ms
 2  *^C
MacPro-di-Alessandro:~ studio$ traceroute 192.168.10.100
traceroute to 192.168.10.100 (192.168.10.100), 64 hops max, 52 byte
packets
 1  pfsense.ab-studio.lan (192.168.11.1)  0.413 ms  0.318 ms  0.219 ms
 2  10.0.7.1 (10.0.7.1)  61.037 ms  63.928 ms  61.517 ms
 3  server.sta.lan (192.168.10.100)  62.841 ms  62.810 ms  61.284 ms
MacPro-di-Alessandro:~ studio$ traceroute 10.0.8.13     
traceroute to 10.0.8.13 (10.0.8.13), 64 hops max, 52 byte packets
 1  pfsense.ab-studio.lan (192.168.17.1)  0.428 ms  0.315 ms  0.418 ms
 2  192.168.1.1 (192.168.1.1)  1.215 ms  2.120 ms  0.973 ms
 3  *^C
E provo anche a schematizzare meglio la rete:
Schematizzo la rete ed il percorso:
192.168.11.x                    #computer admin
       |
       |
192.168.11.1 -- LAN             #
10.0.7.2 --OpenVPN 1 client--+  # firewall A
192.168.1.2  -- WAN          |  # pfSense 2
       |                     |
       |                     |
192.168.1.1                  |  # router A
       |                     |
       |                     |
   <internet>            <tunnel 1>
       |              peer-to-peer PSK
       |                     |
192.168.5.1                  |  # router B 
       |                     |
       |                     |
192.168.5.2  -- WAN          |  #
10.0.7.1 -- OpenVPN 1 srv----+  # firewall B
10.0.8.1 -- OpenVPN 2 srv----+  # pfSense 2
192.168.10.1 -- LAN          |  #
       |                     |
       |                     |
192.168.10.x                 |  # rete ufficio
                             |
                         <tunnel 2>
                          SSL/TSL
                             |
10.0.8.5 --OpenVPN 2 client--+  #
                             |  #
                             |  #
10.0.8.9 --OpenVPN 2 client--+  # computer da amministrare
                             |  #
                             |  #
10.0.8.13--OpenVPN 2 client--+  #
                             |  #
                            ...
Preciso che se mi connetto con il portatile, ovvero client della VPN2,
posso accedere agli altri client della stessa VPN, come lo posso fare
dalla rete dell'ufficio.


 essere inoltrati a 10.0.7.2 ?
OK, oggi in un impulso del tipo: "possibile che sta cosa non funzioni,
adesso mi ci metto sul serio...", mi sono letto il man e sono riuscito a
fa funzionare la connessione tra le VPN.
In pratica ho dato un comando:
route -add 
10.0.8.0/24
 192.168.10.1
al mio firewall pfSense (collegato a quello dello studio con la OpenVPN
1 ed ho aggiunto il seguente comando all'altra VPN (OpenVPN 2, quella
che collega i client da amministrare alla rete dello studio)
push "route 192.168.11.0 255.255.255.0"
E funziona! Ma adesso mi sorgon 2 problemi:
1. immagino che il comando "route -add 
10.0.8.0/24
 192.168.10.1" dato al
mio firewall resti funzionante fino al primo riavvio dello stesso, come
lo rendo permanente?
2. se mi collego con il portatile sulla OpenVPN 2, e mi connetto
contemporaneamente alla mia rete su un'altra VPN (OpenVPN 3) in cui il
mio firewall fa da OpenVPN Server, mi trovo ad avere 2 strade per la
rete 
192.168.11.0/24
 ovvero quella per la OpenVPN 3 e quella che fa il
giro "OpenVPN 2 - 192.168.10.1 - OpenVPN 1"... cosa può succedere? Crea
problemi (immagino di sì, ma non ne so valutare l'entità)?


 Crea problemi (immagino di sì, ma non ne so valutare l'entità)?
aggiungi un valore di "metrica" alle routes, se hai più route verso la
stessa rete, quella con il "costo" inferiore sarà quella selezionata

 stessa rete, quella con il "costo" inferiore sarà quella selezionata
Questo cercherò di capirlo.


 Questo cercherò di capirlo.
magari con l'aiuto dell'help relativo al comando "route" :D

 magari con l'aiuto dell'help relativo al comando "route" :D
http://tinyurl.com/3xxwb8o
questo è lo stesso del pfSense... mi pare che la metrica è gestita im
modo un po' diverso da altri comandi route... tra l'altro netstat non mi
da la metrica delle route, e non so come visualizzarla. Ad esempio,
questa è la routing table del mio firewall (con la route 10.0.8.0
attivata manualmente da shell):
netstat -r
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif
Expire
default            192.168.1.1        UGS         0  6358702    vr0
10.0.7.1           link#8             UH          0        0 ovpnc2
10.0.7.2           link#8             UHS         0        0    lo0
10.0.8.0           192.168.10.1       UGS         0       20 ovpnc2
10.0.11.0          10.0.11.2          UGS         0        8 ovpns1
10.0.11.1          link#7             UHS         0        0    lo0
10.0.11.2          link#7             UH          0        0 ovpns1
fmidmzdns006.dsl.v 192.168.1.1        UGHS        0        0    vr0
localhost          link#4             UH          0      131    lo0
192.168.1.0/25
     link#1             U           0      370    vr0
192.168.1.1        00:0d:b9:1c:0c:10  UHS         0  1211026    vr0
192.168.1.2        link#1             UHS         0        0    lo0
192.168.10.0       10.0.7.1           UGS         0     1190 ovpnc2
192.168.11.0       link#2             U           0 11065937    vr1
pfsense            link#2             UHS         0       23    lo0
dns2.bluewin.ch
    192.168.1.1        UGHS        0        0    vr0
resolver1.opendns. 192.168.1.1        UGHS        0        0    vr0
mentre questa è quella del firewall dell'ufficio:
netstat -r
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif
Expire
default            rfc-1918           UGS         0 24044240    vr0
rfc-1918           link#9             UHS         0        0    lo0
rfc-1918           link#9             UH          0        9 ovpns2
10.0.8.0           rfc-1918           UGS         0     4783 ovpns1
rfc-1918           link#8             UHS         0        0    lo0
rfc-1918           link#8             UH          0        0 ovpns1
localhost          link#5             UH          0      131    lo0
192.168.5.0        link#1             U           0  1312332    vr0
rfc-1918           link#1             UHS         0        0    lo0
192.168.10.0       link#3             U           0 14089782    vr2
pfsense            link#3             UHS         0        0    lo0
192.168.11.0       rfc-1918           UGS         0     5734 ovpns2


 Sarò io di coccio, ma proprio non trovo la soluzione.
vabbè, proviamo in altro modo
http://www.freebsd.org/doc/handbook/network-routing.html
http://www.freebsd.org/cgi/man.cgi?query=route&sektion=8
http://www.erudition.net/freebsd/Basic-Routing-HOWTO
meglio :) ?