giovedì 25 luglio 2013

Vpn Site to Site con router Netgear

Vi è mai capitato di avere in testa un idea e di intestardirvi fino all'inverosimile per riuscire a realizzarla? A me capita spesso e ques'articolo è frutto di una di queste idee.
In questi anni mi è capitato più volte di avere a che fare con router ADSL Netgear DG834 o simili. Sono dei router ADSL di fascia bassa ma a cui non manca nulla compresa la semplicità d'uso e cosa non da poco il prezzo che si aggira sui 60€.
Come molti di voi sapranno questo router offre la possibilità di gestire VPN IpSec e da qui è nato il tarlo di volerlo configurare in modo da poter creare una VPN site to site con il pfSense dell'ufficio. Dopo svariate ore di troubleshooting e tentativi ci sono riuscito.
Dato che il router non offre ampio spazio di manovra e le modalità per configurarlo sono abbastanza limitate, il lavoro più grosso è stato nel trovare le impostazioni corrette per configurare pfSense.


LA CONFIGURAZIONE DEL ROUTER


Per prima cosa partiamo dalla configurazione del router, creiamo una nuova VPN Policies con i seguenti parametri:

Remote Endpoint 
Address Type: Fixed IP Address
Address Data: [Inseriamo l'ip pubblico del nostro pfSense]
IKE Keep Alive: Yes
Ping IP Address: [Inseriamo per esempio l'ip della lan di pfSense]

Local LAN
Impostiamo con i dati della nostra rete gestita dal netgear. Attenzione a non indicare la subnet utilizzando una notazione in stile 192.168.5.0/24 ma inserendo i dati come se si trattasse di un range di IP quindi nel nostro caso 192.168.5.1

Remote LAN
Impostiamo con i dati della nostra rete gestita da pfSense. Attenzione a non indicare la subnet utilizzando una notazione in stile 192.168.0.0/24 ma inserendo i dati come se si trattasse di un range di IP quindi nel nostro caso 192.168.0.1

IKE
Direction: Initiator and responder
Exchange Mode: Main Mode
Diffi-Hellman (DH) Group: Group 2 (1024 bit)
Local Identity Type: WAN IP Address
Remote Identity Type: IP Address

Parameters
Encryption Algorithm: 3DES
Authentication Algorithm: SHA-1
Pre-Shared key: [inserire la password condivisa da voi scelta]
SA Life Time: 3600
Enable PFS: Yes


A questo punto la configurazione del nostro router è pronta. Se per caso il vostro abonamento non prevede l'assegnamento di IP Pubblici Statici, vi consiglio di attivare il servizio dynamic dns per permettere a pfSense di poter contattare il router.

LA CONFIGURAZIONE DI PFSENSE

 

Accediamo al menù VPN > IPsec
Clicchiamo su add phase 1 entry

Selezioniamo l'interfaccia su cui vogliamo che il nostro server vpn si metta in ascolto
Interface = WAN

Remote Gateway = [Impostiamo l'IP pubblico del router netgear o in alternativa il nome DNS o dynDNS]

Passiamo a configurare la fase 1
Authentication method = Mutual PSK
Negotiation mode = main
Pre-Shared Key = Password Condivisa
My identifier: My IP address
Peer identifier: peer IP address
Policy Generation: Require
Proposal Checking: Strict
Encryption algorithm = 3DES
Hash algorithm = SHA1
DH Key group = 2
Lifetime = 28800 seconds

Nella sezione Advanced Options
NAT Traversal = Enable
Dead Peer Detection = Yes
Ora clicchiamo su Save e torniamo alla schermata precedente


Clicchiamo su Phase-2 entries

Impostiamo le fase due
Mode = Tunnel
Local Netvork
   Type = LAN Subnet
Remote Netvork
   Type = Network
   Address = 192.168.5.1/24

Protocol = ESP
Encryption algorithms = 3DES
Hash algorithms = SHA1 e MD5
PFS keygroup = 2
Lifetime = 3600
Automatically ping host = 192.168.5.1 IP address (è l'ip remoto da pingare per mantenere attiva la connessione, noi useremo quello della lan di pfSense)
Clicchiamo su Save


Ora la nostra VPN è pronta, non ci resta che attivarla cliccando su Enable IPsec e creare le regole di Firewall per permettere il passaggio dei pacchetti all'interno del tunnel e le regole per permettere l'accesso dei pacchetti per stabilire il tunnel sull'interfaccia WAN.

Selezioniamo Firewall > Rules > IPsec
Aggiungiamo una regola che consenta il passaggio di qualsiasi protocollo.
Ricordiamoci ri ripetere l'operazione per entrambi i firewall.

Selezioniamo Firewall > Rules > IPsec e creiamo due regole per consentire il passaggio dei pacchetti UDP diretti alla porta 500 ed UDP/TCP per la porta 4500.

Se tutto è stato configurato correttamente firewall e router cominceranno a scambiare pacchetti per negoziare i parametri per instaurare il tunnel IpSec.

NOTE CONCLUSIVE


Vista così, la configurazione, sembra banale, in realtà alcuni parametri che ho riportato sono stati ricavati dopo numerose prove e verifiche. Per prima cosa occorre sapre che il router netgear ammette solo la modalità Main per la negoziazione e questo genera una serie di scelte obligate come per esempio l'uso degli indirizzi IP come Identificativi dei due host.
Anche la notazione con cui sono indicate le subnet è fondamentale, ho sperimentato che indicare la subnet inserendo come IP 192.168.0.0/24 o 192.168.0.1/24 può portare il sistema a stabilire il tunnel VPN ma a non far transitare il traffico.

Spero che quest'articolo vi sia stato in qualche modo utili, magari per gestire postazioni di telelavoratori. Se invece avete portato a termine configurazioni analoghe con altri router ed avete voglia di mandarmela, sarò felice di pubblicare il vostro articolo sul blog.
Posta un commento