In questa guida si spiega come creare una rete privata che metta in comunicazione due o più Cloud Server presenti in due Data Center diversi, creando un tunnel VPN tra due Router/Firewall, uno in ciascun Data Center. Utilizzeremo come Router/Firewall un Cloud Server basato su
pfSense, uno dei template disponibili in Aruba Cloud.
Lo schema della struttura di rete che otterremo al termine di questa guida:
Al termine quindi "server1" ubicato nel "Data Center 1" sarà connesso a "server2" nel "Data Center 2", lo scambio di dati avverrà attraverso un canale protetto, e i due server potranno comunicare utilizzando l'indirizzo IP privato che assegneremo a ciascun server.
In particolare i dati che da "server1" viaggiano verso "server2" sono criptati da "pfsense1" e decriptati da "pfsense2", in questo modo anche se i dati transitano attraverso una rete non sicura (Internet) nessuno potrà decifrarli.
Inoltre per quanto possa essere complesso il percorso dei dati attraverso Internet tra "Data Center 1" e "Data Center 2", "server1" e "server2" potranno comunicare separati da 2 soli "hop" ("pfsense1" e "pfsense2").
La guida ha dei prerequisiti ed è divisa in 4 parti:
- questo documento che descrive i come stabilire il canale protetto
- una parte che descrive gli step necessari se si desidera mettere in comunicazione server Windows ("server1" e/o "server2" hanno sistema operativo Windows)
- una parte che descrive gli step necessari se si desidera mettere in comunicazione server Linux ("server1" e/o "server2" hanno sistema operativo Linux)
- un addendum per chi ha necessità di mettere in comunicazione 3 o più Cloud Server suddivisi in 3 o più Data Center diversi, utilizzando più collegamenti punto-a-punto tra i vari Data Center (una sorta di rete MESH)
Questi sono i prerequisiti:
- disporre di due Cloud Server in due Data Center diversi che si desidera mettere in comunicazione tra loro, che in questa guida indicheremo con "server1" e "server2"
- aver creato due virtual switch, uno in ciascun Data Center "virtual switch 1" e "virtual switch 2"
- aver creato due Cloud Server basati su pfSense, di seguito indicati con "pfsense1" e "pfsense2"
- aver messo in collegamento "server1" e "pfsense1" tramite "virtual switch 1"
- aver messo in collegamento "server2" e "pfsense2" tramite "virtual switch 2"
Nel dettaglio gli step necessari (con le relative guide) per completare i prerequisiti sono:
- Nel Data Center 1:
- creare un cloud server pfSense "pfsense1"
- creare un virtual switch "virtual switch 1"
- connettere la seconda scheda di rete di "pfsense1" a "virtual switch 1"
- connettere la seconda scheda di rete di "server1" a "virtual switch 1"
- Nel Data Center 2:
- creare un cloud server pfSense "pfsense2"
- creare un virtual switch "virtual switch 2"
- connettere la seconda scheda di rete di "pfsense2" a "virtual switch 2"
- connettere la seconda scheda di rete di "server2" a "virtual switch 2"
- 1 - Configurazione dei 2 Router/Firewall pfSense
- 1.1 Per completare gli step che seguono è necessario conoscere gli indirizzi IP pubblici dei 2 Cloud Server pfSense ("pfsense1" e "pfsense2"), assegnati in fase di creazione.
pfSense può essere configurato tramite l'interfaccia web, collegandosi all'interfaccia di amministrazione web con il proprio browser.
Se ad esempio al Cloud Server pfSense è stato assegnato al momento della creazione l'indirizzo IP "95.110.156.254" si può:
- 1.1.1 aprire il proprio browser collegandosi all'indirizzo https://95.110.156.254
- 1.1.2 saranno richiesti i dati di autenticazione: inserire "admin" nel campo "Username" e la password che avete scelto durante la creazione del Cloud Server come password.
- 2 - Configurazione "pfsense1"
- 2.1 Assegnare un indirizzo IP alla seconda scheda di rete di "pfsense1" (nel nostro esempio useremo l'indirizzo IP privato 10.0.1.1)
- 2.1.1 dal menù in alto scegliere "Interfaces", quindi "LAN"
- 2.1.2 in questa pagina è necessario solo modificare in "Static IP configuration" il campo IP Address ed inserire il valore "10.0.1.1", quindi selezionare "/24" dal menù a fianco, e al termine fare click su "Save" in fondo alla pagina
- 3 - Configurare pfSense come server OpenVPN
- 3.1 nell'interfaccia di amministrazione web di pfSense dal menù in alto scegliere "VPN", quindi "OpenVPN"
- 3.2 nella scheda "Server" fare click sul simbolo "+" in basso a destra, come nell'immagine qui sotto:
- 3.3 in questa pagina, rispetto alle impostazioni di default modificare solo i valori:
- 3.3.1 Server Mode: selezionare "Peer to Peer (Shared Key)"
- 3.3.2 Tunnel Network: inserire "10.0.8.0/24"
- 3.3.3 Local Network: inserire "10.0.1.0/24"
- 3.3.4 Remote Network: inserire "10.0.2.0/24"
- 3.4 gli altri valori possono essere lasciati vuoti o con le impostazioni di default
- 3.5 al termine di queste operazioni la pagina deve essere uguale all'immagine che segue:
- 3.6 fare click su "Save" in fondo alla pagina
- 3.7 è adesso necessario copiare la "Shared Key" che è stata generata automaticamente durante lo step precedente: fare click sul simbolo "e" (edit) in basso a destra, per tornare nella pagina di modifica della connessione OpenVPN creata precedentemente, come nell'immagine qui sotto:
- 3.8 Posizionarsi all'interno del campo di testo "Shared Key", selezionare tutto il contenuto, quindi fare click con il tasto destro e selezionare "Copia" dal menu contestuale, come nell'immagine:
- 3.9 Salvare il testo copiato in un file. Questo testo rappresenta la chiave di autenticazione che inseriremo durante la configurazione di OpenVPN in "pfsense2" per far si che si autentichi durante la connessione a "pfsense1".
- 4 - Configurare il firewall
- 4.1 Configurare il firewall per l'interfaccia WAN
- 4.1.1 Nell'interfaccia di amministrazione web di pfSense dal menù in alto scegliere "Firewall", quindi "Rules"
- 4.1.2 nella scheda "WAN" fare click sul simbolo "+" in basso a destra, come nell'immagine qui sotto:
- 4.1.3 in questa pagina, rispetto alle impostazioni di default modificare solo i valori:
- 4.1.3.1 Protocol: selezionare "UDP"
- 4.1.3.2 Destination port range: inserire nei campi "from:" e "to:" il valore "1194"
- 4.1.4 al termine di queste operazioni la pagina deve essere uguale all'immagine che segue:
- 4.1.5 fare click su "Save" in fondo alla pagina
- 4.2 Configurare il firewall per l'interfaccia "OpenVPN"
- 4.2.1 Nell'interfaccia di amministrazione web di pfSense dal menù in alto scegliere "Firewall", quindi "Rules"
- 4.2.2 fare click sulla scheda OpenVPN, quindi fare click sul simbolo "+" in basso a destra, come nell'immagine qui sotto:
- 4.2.3 in questa pagina, rispetto alle impostazioni di default modificare solo il valore:
- 4.2.3.1 Protocol: selezionare "any"
- 4.2.4 al termine di queste operazioni la pagina deve essere uguale all'immagine che segue:
- 4.2.5 fare click su "Save" in fondo alla pagina
- 4.3 Applicare le modifiche alle regole firewall
- 4.3.1 Concluso lo step precedente ci ritroveremo in una pagina con la lista delle regole di firewall, in alto a destra fare click sul "Apply changes"
- 4.3.2 la configurazione del firewall in pfSense è terminata.
- 5 - Configurazione "pfsense2"
- 5.1 Collegarsi all'interfaccia web di amministrazione di "pfsense", seguendo le indicazioni dello step 1
- 6 - Assegnare un indirizzo IP alla seconda scheda di rete di "pfsense2" (nel nostro esempio useremo l'indirizzo IP privato 10.0.2.1)
- 6.1 dal menù in alto scegliere "Interfaces", quindi "LAN"
- 6.2 in questa pagina è necessario solo modificare in "Static IP configuration" il campo IP Address ed inserire il valore "10.0.2.1", quindi selezionare "/24" dal menù a fianco, e al termine fare click su "Save" in fondo alla pagina
- 7 - Configurare pfSense come client OpenVPN
- 7.1 nell'interfaccia di amministrazione web di pfSense dal menù in alto scegliere "VPN", quindi "OpenVPN"
- 7.2 selezionare la scheda "Client", quindi fare click sul simbolo "+" in basso a destra, come nell'immagine qui sotto:
- 7.2.1 Server Mode: selezionare "Peer to Peer (Shared Key)"
- 7.2.2 Server host or address: inserire l'indirizzo IP pubblico di "psfense1"
- 7.2.3 Shared Key: deselezionare "Automatically generate a shared key", quindi incollare nella casella di testo la Shared Key di "pfsense1", che abbiamo salvato durante la configurazione di "pfsense1" (step 3.8 e 3.9)
- 7.2.4 Tunnel Network: inserire "10.0.8.0/24"
- 7.2.5 Remote Network: inserire "10.0.1.0/24"
- 7.3 gli altri valori possono essere lasciati vuoti o con le impostazioni di default
- 7.4 al termine di queste operazioni la pagina deve essere simile all'immagine che segue (ad eccezione del campo "Server host or address"):
- 7.5 fare click su "Save" in fondo alla pagina
- 8 - Configurare il firewall
- 8.1 Ripetere tutti i passaggi dello step 4 precedente (4.1, 4.2, 4.3), questa volta nel Cloud Server "pfsense2"
- 9 - Configurare il firewall
- 9.1 Verificare la connessione tra "pfsense1" e "pfsense2"
- 9.2 nell'interfaccia di amministrazione web di pfSense dal menù in alto scegliere "Status", quindi "OpenVPN"
- 9.3 in "pfsense1" (OpenVPN server) lo "Status" deve essere "up", e la pagina deve essere simile a questa:
- 9.4 in "pfsense2" (OpenVPN client) lo "Status" deve essere "up", e la pagina deve essere simile a questa:
- 9.5 Se la connessione è stabilita possiamo passare alla configurazione dei server che fanno parte della rete virtuale, "server1" e "server2", in caso contrario è necessario verificare di nuovo tutti i passaggi precedenti a partire dallo step 2.