giovedì 15 maggio 2008

OpenVPN su PFSense: Site to Site

Ipotizziamo una situazione di questo tipo:

Ufficio1 LAN: 192.168.0.0/24
Ufficio2 LAN: 192.168.1.0/24

Impostare i server PfSense per connettere le due reti.
Bisognerà configurare un ufficio come server e l’altro come client

NB: se è gia stato configurato un accesso VPN per i client remoti, non modificare la configurazione esistente ma aggiungere un nuovo tunnel.


Configurazione Ufficio1
Configuriamo l’Ufficio1 come server.
Dal menu “VPN à OpenVPN”, selezionare il tab “Server” e fare click su “+”.

Utilizzare il protocollo TCP e, se sono stati configurati altri tunnel VPN, usare una porta diversa da quelle utilizzate (nell’esempio è stata utilizzata la 1193). Ovviamente bisognerà creare una regola sul firewall che permetta le connessioni dalla WAN su questa porta. (vedi post precedente sulla Vpn per client remoti)

“Address pool” deve essere una sottorete indipendente, che non sia usata ne in Ufficio1 ne in Ufficio2.

In “Remote network” inserire la rete LAN dell’Ufficio2.

Ora si deve creare la “Shared key”. Fare il login sul server PfSense dell’Ufficio1 in SSH, digitare “8” (la shell) ed utilizzare il seguente comando:

# openvpn --genkey --secret shared.key

Questo comando creerà la shared key per questo server OpenVPN. Generata la chiave, copiare il contenuto del file shared.key appena creato nel box Shared Key dell’interfaccia Web e premere “Save”.

Bisogna copiare la shared key appena generata in modo da utilizzarla sul server nell’Ufficio2.


Configurazione Ufficio2

Configuriamo l’ufficio2 come client.

Dal menu “VPN à OpenVPN”, selezionare il tab “Client” e fare click su “+”.

Utilizzare “TCP” come protocollo.

“Server address” deve essere l’IP pubblico dell’Ufficio1.

“Server port” è la porta di connessione per la VPN impostata sul PfSense dell’Ufficio1 (in questo caso 1193.)

“Interface IP” deve essere l’indirizzo IP della rete locale.

“Remote network” è l’indirizzo IP della LAN dell’Ufficio1.

Incollare la shared key generata nell’Ufficio1 nel box shared key e alla fine cliccare su “Save”.

A questo punto il tunnel VPN tra le due sedi dovrebbe essere “up and running”.

3 commenti:

Daniele ha detto...

È possibile, con pfSense, collegare TRE o più uffici?

Se UFFICIO1 fa da server, mi basta aggiungere un tunnel, o devo crearne tanti quanti sono le sedi remote da collegare?

E se UFFICIO2 e UFFICIO3 sono due client di questa VPN, i relativi host riusciranno anche a vedersi tra loro oppure devo fare un'ulteriore VPN tra queste due sedi?
Ovvero, se devo collegare "n" sedi (per farle diventare come un'unica rete), mi basta UN server VPN e "n-1" client, oppure devo considerare tutte le combinazioni e quindi creare n*(n-1)/2 tunnel VPN?

Davide "n3wt0n" Benvegnù ha detto...

Mentre per le VPN client-server più client possono utilizzare lo stesso tunnel, per le site-to-site bisogna utilizzare un tunnel per ogni sede remota. Inoltre, le varie sedi non possono avere lo stesso range di IP, in quanto altrimenti il server non saprebbe su quale "sottorete" fare il routing delle richieste.

Daniele ha detto...

Come immaginavo...

Il mio problema è quello di dover unire 10 sedi distaccate, ognuna con un suo indirizzamento IP (e non sono neanche sicuro se nessuno si sovrappone).

Visto che non mi serve vedere TUTTA la rete, ma solo alcuni host (tipicamente i server, e qualcos'altro), mi piacerebbe poter costruire una rete "super partes", utilizzando una classe di indirizzi che nessuna delle 10 sedi ha, e potendo aggiungere o togliere host a piacimento dalle varie sedi.
Ad esempio, gli host della sede 1 verrebbero visti sulla rete 10.1.x.x, quelli della sede 2 sulla rete 10.2.x.x, ecc...
Quindi vorrei, quando ho bisogno di aggiungere un host, poter impostare un NAT statico (es.: l'host 192.168.1.1 della sede 1 viene raggiunto da tutte le altre 9 sedi tramite l'IP 10.1.0.1, e così via per tutti gli altri host).

pfSense riesce a fare una cosa del genere?
Oppure c'è qualche altra distribuzione che potrei usare?