Poniamo di avere questa situazione: Sede A e Sede B connesse tra loro tramite una VPN IPSec di due firewall pfSense. L’utente remoto connesso con OpenVPN alla Sede A vorrebbe poter accedere alla rete di Sede B.
La configurazione standard di IPSec consente la connessione tra due reti. Come possiamo aggiungere una terza rete?
La soluzione è molto semplice: aggiungendo una nuova Phase 2. Vediamo come.
Colleghiamoci a pfSense di Sede A. Andiamo in VPN > IPSec e sulla riga del tunnel verso Sede B premiamo il pulsante Add P2.
Dovremo andare a configurare il riquadro General Information. Nei campi Local Network andiamo ad inserire la rete OpenVPN. Rispetto alla P2 standard andiamo a compilare i campi NAT/BINAT translation, selezionando dalla dropdown LAN subnet. Nei campi Remote Network indichiamo la rete di Sede B, ed il gioco è fatto!
Compilare il resto della pagina con gli stessi parametri della P2 standard, et voilà, configurazione terminata. Applichiamo la configurazione ed abbiamo finito.
Su pfSense di Sede B non è necessario fare modifiche al firewall, in quanto i client di OpenVPN arriveranno nattati con la rete di Sede A.
Possiamo ora fare una piccola modifica alla configurazione del server OpenVPN per aggiungere automaticamente l’instradamento. Su pfSense di Sede A andiamo in VPN > OpenVPN, modifichiamo il server e nel campo Custom options aggiungiamo la rotta per instradare verso Sede B:
In questo modo i client che si connetteranno ad OpenVPN riceveranno automaticamente l’instradamento verso la seconda sede.
UPDATE per IKEv2
Nel caso la connessione IPSec sia di tipo IKEv2 potrebbe essere necessario abilitare l’opzione Split connections nella configurazione della Phase1. Questo perché per questa tipologia nella configurazione di StrongSwan si possono accorpare le reti remote, ma non tutti gli apparati supportano questa opzione. In questo caso abilitando la spunta la rotta verrà definita direttamente su pfSense.
Ottimo articolo, mi ha funzionato perfettamente con Pfsense ma non sono riuscito con Opnsense nella parte BINAT.
Già, ho avuto lo stesso problema, non sono riuscito a far funzionare BINAT su OPNsense. Ho risolto facendo un NAT “semplice” in uscita. Firewall > NAT > Outbound. Seleziona “Hybrid outbound NAT rule generation”, quindi crea una regola con questi parametri:
Source: 10.1.2.0/24 (subnet openvpn)
Destination: 10.2.3.0/24 (subnet di destinazione in ipsec)
NAT Address: LAN Address (nel mio caso)
works!
Grazie Maxxer per il consiglio