davide80 ha scritto:ok. quindi dipende dal client che si collega.. non posso fare una cosa globale per tutti sul router? (ad esempio se una volta mi collego dal telefono, piuttosto che da un altro pc..)
Premessa1:
1. normalmente nelle reti casalinghe basate su server dhcp integrato nei router SOHO la rete è 192.168.0.0/24 o 192.168.1.0/24 ed il router ha l'indirizzo 1 oppure 254.
2. il server vpn del nas, di serie, assegna ip sulla 10.0.0.0/24 per la pptp; sulla 10.2.0.0/24 per la l2tp e 10.8.0.0/24 per la openvpn
Premessa2:
il server vpn sul nas non lo uso, ho 14 vpn statiche attive su 2 adsl in loadbalancing, di cui alcune di anonimizzazione altre lan2lan ipsec, ma
tutte configurate sul router che fa anche da server teleworker (o se preferisi client2lan) per smartphone e nb quando in mobilità (4g/lte).
I pacchetti udp sono unidirezionali mentre i tcp richiedono la risposta, la conferma di ricezione. Se per i primi basta che le rotte corrette siano presenti da un lato solo (o meglio dire lungo una sola direttrice), mittente=>destinatario, per i secondi se non vi sono rotte corrette anche per la direzione opposta la conferma di recapito non potrà mai esser restituita al mittente e quindi il tcp non potrà funzionare.
Nelle rotte la netmask non identifica la rete ma un insieme d'indirizzi tanto che più sottoreti possono esser instradate con un'unica rotta. Il gateway indicato può esser quello finale oppure il prossimo punto di smistamento, a patto che poi questo le abbia per la tratta successiva.
La vpn può essenzialmente esser configurata in due modalita: bridging o routing, a seconda anche dal protocollo utilizzato. Nel bridging ai client viene assegnato un ip della lan remota ed il server vpn sostanzialmente sulla propria scheda di rete presenta ip multipli, ip proprio più uno per ciascuna connessione client attiva. Non serve alcuna rotta in quanto equivale a prolungare il cavo di rete. E' logicamente identico ad esser connessi fisicamente nella lan in oggetto. Con il routing i client ricevono indirizzi appartenenti ad un'altra sottorete "conosciuta" nella lan remota alla quale si sta accedendo. Quindi i pacchetti per transitare in entrambe le direzioni (e passare da una rete all'altra) necessitano di rotte che gli instradino, su entrambi i lati. Qui i domini broadcast e multicast vengono isolati, e per trasmetterli fra i due endpoint del tunnel ci vogliono configurazioni particolari con indirizzi helper (ip ausiliari che esplichino la ripetizione "mirroring" dei broadcast) configurati generalmente solo quando necessari solitamente su vpn lan2lan.
Ora con l'uso del gateway remoto sul client dovrebbe venir creata una rotta che dice sostanzialmente instrada tutti i pacchetti nel tunnel. Se lo rimuovi dovresti avere solamente la rotta per quelli relativi all'ip del nas. Per tutti gli altri (esterni alla lan del client remoto) varrà la rotta del default gateway che in caso di reti semplici li instraderà al router della lan del client remoto mentre in caso di connettività mobile (3g) al primo (prossimo/adiacente) router nella struttura del gestore.
Con il gateway remoto abilitato mi aspetto che tu possa si navigare in internet usando l'ip della wan del nas, ma non accedere ad altri pc presenti nella lan del nas. Gli altri pc hanno probabilmente come default gateway l'ip del router. Un pacchetto tcp dal pc remoto via vpn entrerebbe in pancia al nas e poi in chiaro attraverso la nic del nas raggiungerebbe un pc collegato alla stessa lan. Quest'ultimo però nel confermare la ricezione, essendo il mittente esterno alla lan locale, invierebbe la risposta al router (il suo default gateway) che poi non saprebbe come instradarla per raggiungere l'indirizzo di destinazione.
Quindi senza l'uso del gateway remoto dovresti:
- impostare la rotta sul client vpn per tutta la lan casalinga (quella locale del nas)
- impostare una rotta statica sul router della lan locale al nas indicando che la via per la 10.2.0.0/24 (rete di default dalla quale il server vpn del nas assegna gli indirizzi ai client l2tp) passa per il nas quindi 10.2.0.0/255.255.255.0 gtw ip.locale.del.nas
Quindi un paio di regole base potrebbero essere:
- il nas deve avere ip statico
- le tre reti (quella locale del nas, quella da cui il server vpn assegna gli indirizzi, quella locale del pc remoto) devono essere diverse affinché possano esistere rotte univoche che instradino i pacchetti.
- su ambo i lati del tunnel devono esser impostate rotte corrette per poter raggiungere l'estremo opposto in base al traffico che si vuole veicolare.
- fra due nodi che tentano la comunicazione (indipendentemente che parte o totalità del percorso sia via vpn o no) tutti i router coinvolti devono avere almeno una rotta che instradi il pacchetto sino al router successivo, se non il percorso completo alla destinazione finale. L'eventuale server vpn in questo caso è da considerarsi un router.
Dovresti indicativamente fare almeno queste rotte
10.2.0.0/24 gtw 192.168.1.100 sul router della lan del nas dove .100=ip del nas
10.2.0.0/24 gtw 10.2.0.0 if 10.2.0.1 sul pc client
192.168.1.0/24 gtw 10.2.0.0 if 10.2.0.1 sul pc client
Attenzione però che la comunicazione
IP ha molti protocolli di cui i più usati: il n°6 TCP ed il n°17 UDP.
Per la l2tp/ipsec è necessario anche il 47 GRE che non deve essere bloccato da nessuno dei router attraversati dalla vpn. Se questo non è un problema per i routers in internet potrebbe esserlo per i due terminali (quello di casa ed ad esempio quello dell'ufficio nel caso il pc client non sia su chiavetta 3G). Generalmente se trovi voci "vpn passtrough" nei router abilitale !!! Altrimenti devi sperare che i router SOHO usati non costituiscano un blocco per il GRE. Questo ovviamente non riguarda te, visto che eri riuscito a connetterti correttamente pingando il nas in precedenza, ma potrebbe interessare altri.
La openvpn, anche se su windows (e/o smartphone) richiede l'installazione del client aggiuntivo, può costituire una buona alternativa sia in termini di sicurezza (utilizzabile con certificato digitale) che praticità:
- utilizza un unica porta udp 1194 con fallback su tcp 443 (quella del https quindi sempre aperta)
- il client imposta autonomamente le rotte sul pc
- il server vpn (previo opzione spuntabile) fa altrettanto sul nas
- scaricati configurazione e certificato dal server sul client non occorre fare praticamente nulla per metterla in servizio.
- semmai devi aggiungere solamente la rotta statica sul router della lan del nas