Vpn Site to Site tra Pfsense Server e WRT54GL client: server non pinga client



  • Salve a tutti,
    ho creato una vpn site to site tra una macchina Server con PfSense e un client WRT54GL.
    Per il primo ho utilizzato una comunissima macchina, mentre per la seconda ho installato la versione 2.4 con supporto VPN di DDWRT.
    Fin qua nulla di particolarmente difficile, il client si collega corretamente con il server, e scambiano pacchetti. Dal client poi riesco tranquillamente a pingare le macchine sulla rete remota lato server. Diverso invece il discorso se voglio fare l'inverso: ovvero dal server non riesco a pingare il client.

    Lato server ho la seguente configurazione:

    Rete 192.168.100.0/24

    Tunnel 10.5.9.0

    Routing:

    10.5.9.0/24         10.5.9.2 UGS 0 4 1500 ovpns4
    10.5.9.1                 link#11 UHS 0 0 16384 lo0
    10.5.9.2                 link#11 UH 0 0 1500         ovpns4
    192.168.100.0/24 link#2 U 0 0 1500 re0
    192.168.100.254 link#2 UHS 0 0 16384 lo0
    192.168.101.0/24 10.5.9.2 UGS 0 12 1500  ovpns4

    Lato Client:

    Rete 192.168.101.0/24

    Routing:
    Destination    Gateway        Genmask        Flags  MSS Window  irtt Iface
    10.5.9.5              *              255.255.255.255 UH        0 0          0 tun0
    10.5.9.1          10.5.9.5        255.255.255.255 UGH      0 0          0 tun0
    192.168.100.0  10.5.9.5        255.255.255.0    UG        0 0          0 tun0
    192.168.101.0      *              255.255.255.0    U            0 0          0 br0
    192.168.1.0        *              255.255.255.0    U            0 0          0 vlan1
    169.254.0.0        *              255.255.0.0      U            0 0          0 br0
    127.0.0.0            *              255.0.0.0          U            0 0          0 lo

    Se al posto che il client DDWRT collego una macchina con pfsense configurato come client invece funziona tutto corretamente.

    Qualcuno sa aiutarmi sul dove stà il problema???

    Ringrazio Anticipatamente

    Fabio



  • Ciao, dalle route statiche che vedo è tutto corretto, se il collegamento c'è e il client riesce a pingare Pfsense direi che il problema è nelle regole di routing lato server oppure i computer sulla rete LAN del PFsense client non hanno settato quest'ultimo come gateway.
    Quando avevo fatto anche io una VPN tra due PFsense site-to-site ho dovuto inserire due regole, una per LAN, una per l'interfaccia OVPN. Ma era la versione 2.0 BETA quindi prendi questo consiglio con le molle.



  • Ciao, ti ringrazio per la risposta; io per fugare ogni dubbio pingo i diversi client direttamente dal firewall lato server e non da un client di questo.
    Per le regole le intendi i rules di della sezione firewall? Per evitare ogni dubbio ho messo * * e any any…
    La cosa strana è che se il site to site è costituito da server pfsense e client pfsense tutto funziona. Solo quando il client è ddwrt o una macchina la cosa non va. Possibile che il problema stia nelle politiche di firewall lato client?



  • @fabio05:

    Ciao, ti ringrazio per la risposta; io per fugare ogni dubbio pingo i diversi client direttamente dal firewall lato server e non da un client di questo.

    Io intendevo proprio di fare un ping da un client in LAN verso un IP di un client della LAN dall'altra parte del tunnel VPN. Molto spesso mi capitava di osservare dei client con gateways non corretti (in questo caso il Pfsense e il router DDWRT rispettivamente) oppure route statiche sbagliate.

    Per le regole le intendi i rules di della sezione firewall? Per evitare ogni dubbio ho messo * * e any any…

    Si intendevo proprio quello. Hai messo l'any anche per l'interfaccia OVPN?

    La cosa strana è che se il site to site è costituito da server pfsense e client pfsense tutto funziona. Solo quando il client è ddwrt o una macchina la cosa non va. Possibile che il problema stia nelle politiche di firewall lato client?

    Non ho mai provato DD-WRT ma potrebbe essere che non sia perfettamente compatibile con PFsense, non lo posso escludere. La mia esperienza in VPN con PFsense mi ha portato ad usare sempre 2 PFsense sia per quanto riguarda site to site che roadwarrior. Potresti provare a postare il log della sessione di collegamento, in modo da capire che non ci siano problemi banali, es. autenticazione TLS di solito.

    Nella sezione di OpenVPN comunque ci sono alcuni thread che parlano di DD-WRT, può essere che il problema sia in alcune regole da inserire proprio in quest'ultimo.

    Dai un'occhiata su:
    http://forum.pfsense.org/index.php/topic,28114.0.html
    http://forum.pfsense.org/index.php/topic,40861.0.html
    http://forum.pfsense.org/index.php/topic,29944.0.html

    e poi fammi sapere.



  • La via del ping è stata la prima prova che ho fatto; da client verso server tutto ok, viceversa non passa nulla.
    Le regole sono in any any sia per la vpn che per lan.
    L'autenticazione tls l'ho disabilitata.
    Ecco il log lato server:
    nvpn[19390]: Listening for incoming TCP connection on [AF_INET]xxx.xxx.xxx.xxx:1196
    Nov 3 22:51:01 openvpn[19390]: TCPv4_SERVER link local (bound): [AF_INET]xxx.xxx.xxx.xxx:1196
    Nov 3 22:51:01 openvpn[19390]: TCPv4_SERVER link remote: [undef]
    Nov 3 22:51:01 openvpn[19390]: Initialization Sequence Completed
    Nov 3 22:51:06 openvpn[19390]: Re-using SSL/TLS context
    Nov 3 22:51:06 openvpn[19390]: LZO compression initialized
    Nov 3 22:51:06 openvpn[19390]: TCP connection established with [AF_INET]xxx.xxx.xxx.xxx:15265  –> ip client
    Nov 3 22:51:06 openvpn[19390]: TCPv4_SERVER link local: [undef]
    Nov 3 22:51:06 openvpn[19390]: TCPv4_SERVER link remote: [AF_INET]xxx.xxx.xxx.xxx:15265  –> ip client
    Nov 3 22:51:10 openvpn[19390]: xxx.xxx.xxx.xxx:15265 [VpnServer] Peer Connection Initiated with [AF_INET]xxx.xxx.xxx.xxx:15265
    Nov 3 22:51:10 openvpn[19390]: VpnServerxxx.xxx.xxx.xxx:15265 MULTI_sva: pool returned IPv4=10.5.9.6, IPv6=54da:bfbf:42:4728:78d7:bfbf:391:608
    Nov 3 22:51:12 openvpn[19390]: /usr/local/sbin/ovpn-linkdown ovpns4 1500 1544 10.5.9.1 10.5.9.2 init
    Nov 3 22:51:12 openvpn[19390]: SIGTERM[hard,] received, process exiting
    Nov 3 22:51:12 openvpn[37316]: OpenVPN 2.2.0 i386-portbld-freebsd8.1 [SSL] [LZO2] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Aug 11 2011
    Nov 3 22:51:12 openvpn[37316]: NOTE: the current –script-security setting may allow this configuration to call user-defined scripts
    Nov 3 22:51:13 openvpn[37316]: TUN/TAP device /dev/tun4 opened
    Nov 3 22:51:13 openvpn[37316]: do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
    Nov 3 22:51:13 openvpn[37316]: /sbin/ifconfig ovpns4 10.5.9.1 10.5.9.2 mtu 1500 netmask 255.255.255.255 up
    Nov 3 22:51:13 openvpn[37316]: /usr/local/sbin/ovpn-linkup ovpns4 1500 1544 10.5.9.1 10.5.9.2 init
    Nov 3 22:51:13 openvpn[38868]: Listening for incoming TCP connection on [AF_INET]xxx.xxx.xxx.xxx:1196
    Nov 3 22:51:13 openvpn[38868]: TCPv4_SERVER link local (bound): [AF_INET]xxx.xxx.xxx.xxx:1196
    Nov 3 22:51:13 openvpn[38868]: TCPv4_SERVER link remote: [undef]
    Nov 3 22:51:13 openvpn[38868]: Initialization Sequence Completed
    Nov 3 22:51:17 openvpn[38868]: Re-using SSL/TLS context
    Nov 3 22:51:17 openvpn[38868]: LZO compression initialized
    Nov 3 22:51:17 openvpn[38868]: TCP connection established with [AF_INET]xxx.xxx.xxx.xxx:15266
    Nov 3 22:51:17 openvpn[38868]: TCPv4_SERVER link local: [undef]
    Nov 3 22:51:17 openvpn[38868]: TCPv4_SERVER link remote: [AF_INET]xxx.xxx.xxx.xxx:15266
    Nov 3 22:51:22 openvpn[38868]: xxx.xxx.xxx.xxx:15266 [VpnServer] Peer Connection Initiated with [AF_INET]xxx.xxx.xxx.xxx:15266
    Nov 3 22:51:22 openvpn[38868]: VpnServer/xxx.xxx.xxx.xxx:15266 MULTI_sva: pool returned IPv4=10.5.9.6, IPv6=54da:bfbf:42:4728:78d7:bfbf:391:608
    Nov 3 22:51:24 openvpn[38868]: VpnServer/xxx.xxx.xxx.xxx:15266 send_push_reply(): safe_cap=960

    Ecco il log lato client:

    Nov  3 22:51:12 DD-WRTCasa daemon.err openvpn[752]: Connection reset, restarting [0]8
    Nov  3 22:51:12 DD-WRTCasa daemon.notice openvpn[752]: SIGUSR1[soft,connection-reset] received, process restarting
    Nov  3 22:51:17 DD-WRTCasa daemon.warn openvpn[752]: WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
    Nov  3 22:51:17 DD-WRTCasa daemon.notice openvpn[752]: Re-using SSL/TLS context
    Nov  3 22:51:17 DD-WRTCasa daemon.notice openvpn[752]: LZO compression initialized
    Nov  3 22:51:17 DD-WRTCasa daemon.notice openvpn[752]: Attempting to establish TCP connection with xx.xx.xxx.xxx:1196 [nonblock]
    Nov  3 22:51:18 DD-WRTCasa daemon.notice openvpn[752]: TCP connection established with xx.xx.xxx.xxx:1196
    Nov  3 22:51:18 DD-WRTCasa daemon.notice openvpn[752]: TCPv4_CLIENT link local: [undef]
    Nov  3 22:51:18 DD-WRTCasa daemon.notice openvpn[752]: TCPv4_CLIENT link remote: xx.xx.xxx.xxx:1196
    Nov  3 22:51:22 DD-WRTCasa daemon.notice openvpn[752]: [VpnServer] Peer Connection Initiated with xx.xx.xxx.xxx:1196
    Nov  3 22:51:24 DD-WRTCasa daemon.notice openvpn[752]: Preserving previous TUN/TAP instance: tun0
    Nov  3 22:51:24 DD-WRTCasa daemon.notice openvpn[752]: NOTE: Pulled options changed on restart, will need to close and reopen TUN/TAP device.
    Nov  3 22:51:24 DD-WRTCasa daemon.notice openvpn[752]: /sbin/ifconfig tun0 0.0.0.0
    Nov  3 22:51:24 DD-WRTCasa daemon.notice openvpn[752]: /tmp/openvpncl/route-down.sh tun0 1500 1576 10.5.9.6 10.5.9.5 init
    Nov  3 22:51:25 DD-WRTCasa daemon.notice openvpn[752]: TUN/TAP device tun0 opened
    Nov  3 22:51:25 DD-WRTCasa daemon.notice openvpn[752]: /sbin/ifconfig tun0 10.5.9.6 pointopoint 10.5.9.5 mtu 1500
    Nov  3 22:51:26 DD-WRTCasa daemon.notice openvpn[752]: Initialization Sequence Completed



  • I log sono perfetti e dimostrano che la configurazione è perfetta, l'unico suggerimento che ti posso dare è quello di spulciare i link che ti ho segnalato, soprattutto quelli in cui sono state aggiunte delle regole di iptables su DD-WRT.



  • ne sono venuto a capo ora: la risposta era nelle tabelle di routing.
    DDWRT supporta un canale solo in /32 (255.255.255.0). Avevo lato server un /24 e lato client un /32. Tutto li!!
    Grazie comunque del supporto e a buon rendere!!



  • Passano i giorni e i problemi si moltiplicano. La situazione è strana in quanto quando metto il tunnell in classe 10.5.9.0/24 il server open vpn di pfsense me lo vede come una vpn client (non site to site anche se ho chiaramente impostato site to site). Appena modifico la cosa in 10.5.9.0/32 il server vpn lo riconosce in site to site, mi da che l'interfaccia è up.
    Se vado sul client ddwrt invece, noto che l'interfaccia tun0 è down, chiaramente non c'è schiantato dentro alcun ip, e le tabelle di instradamento non vengono aggiornate…..
    Stò letteralmente impazzendo...



  • forse ma forse ne sono venuto a capo: mancava un iroute sul client specification overrides.
    Seguendo questo topic ( http://forum.pfsense.org/index.php/topic,12888.0.html ) Ho quindi aggiunto la seguente configurazione:

    • aperto la sezione open vpn –-> client specification overrides
    • common name: ho inserito il common name della vpn
    • descrizione 192.168.101.0/24 -per capire che cavolo faceva quella iroute-
    • tutto decommentato e deflaggato fino ad advanced in cui ho aggiunto iroute 192.168.101.0 255.255.255.0
    • salvare, riavviare il servizio sia lato server che lato client per sicurezza.
      E per ora sembra tutto funzionare, vediamo la stabilità dell'opera.

    Se lo ritenete utile posso postare una guida sul come configurare un ddwrt come client open vpn site to site di pfsense.

    Saluti



  • Controllerò un paio di configurazioni site to site che ho usato un paio d'anni fa ma sono abbastanza sicuro di non aver mai dovuto istruire OpenVPN con delle route aggiuntive, non appena recupero i miei dati ti faccio sapere.



  • ok ti ringrazio! Io per ora ho tutto su ormai dal famoso giorno!! Soddisfatto insomma!


Locked