Dalla versione 25.7 in poi di OPNSense, per creare un Server VPN con OpenVPN, sarà obbligatorio utilizzare il tab instances.
Si potranno ancora importare le vecchie configurazione delle VPN da un backup fino all’ultima versione della 25, mentre dalla 26 non sarà più possibile.
Al momento della scrittura di questo documento, per creare una VPN con OpenVPN/istance (VPN→OpenVPN→Instances), non è previsto un wizard; pertanto, bisognerà creare tutto manualmente.
Come Creare una VPN Road Warrior su OPNsense con OpenVPN Instances
1. Creazione certificati
– Authorities
Dal menu scegliete System→Trust→Authorities e configurate una CA interna.
Compilate la vostra internal certificate authority facendo attenzione a scegliere un lifetime appropriato e a mettere un common name parlante.

– Certificato Server
Dal menu scegliete System→Trust →Certificates e aggiungete un internal certificate – Server certificate
Compilate il vostro internal certificate server facendo attenzione a scegliere la CA corretta (in questo esempio quella appena creata) un lifetime appropriato e un common name parlante.


2. Creazione utenti
Per ogni utilizzatore della VPN devo creare un utente e il relativo certificato.
ATTENZIONE: il nome utente e il nome del certificato dovranno essere identici!
Dal menu scegliete System→Users e quindi aggiungere un utente (in questo esempio usr1)

3. Creazione certificato utente
Dal menu scegliete System→Trust →Certificates e aggiungete un internal certificate – Client Certificate


-Description- e sopratutto -Common Name- devono essere identici al nome utente creato prima.
Nota. A questo punto nel menu system→Trust→Certificate, vedrete il certificato client “usr1” col simbolo dell’omino che sta ad indicare che è associato ad un utente; mentre il certificato server, ha una x che indica che non è ancora in uso.
4. Creazione Instance
Dal menu VPN→OpenVPN→Instances aggiungo l’istanza server OpenVPN.
Importante scegliere il certificato corretto.


– generiamo una chiave dal tab Static Key

– Posso anche creare una lista di revocation list da system→Trust→ Revocation e faccio un edit della CA utilizzata nel server Openvpn (non volendo revocare alcun certificato posso lasciare Nothing selected)


– Generati questi due parametri posso aggiungerli nel mio server OpenVPN rispettivamente su Certificate revocation list e TLS static key

5. Creazione regole
Un modo per permettere il collegamento al server OpenVPN sta nel creare una regola in firewall→rules→ floatting, nel nostro esempio devo permettere l’accesso sulla WAN alla porta UDP 1194.
Dovrò poi aggiungere una regola sul tab OpenVPN, per permettere il traffico VPN. Inizialmente consiglio di permettere tutto e poi restringere le regole secondo le esigenze.

6. Esportazione del certificato per il client OpenVPN
OpnSense ha l’utility client export inclusa. Nel campo Hostname dovete mettere l’ip oppure l’FQDN che punta all’IP pubblico con cui potete raggiungere il firewall sulla WAN.

7. Type TUN Vs DCO
Potete sperimentare un nuovo parametro di OpenVPN utile soprattutto per velocizzare il traffico VPN.
Editate il vostro server OpenVPN (da vpn→OpenVPN→Instance), cambiate il type da TUN a DCO (experimental).
Salvate.
Non avete bisogno di fare altro sul firewall. Per testarlo sul client, dovete scollegarvi dalla VPN (se siete collegati) e ricollegarvi. Nei vari test effettuati ho notato un aumento della velocità dal 10% al 20% con brevi picchi iniziali del 30% (dipende da vari fattori). Se il fatto che il DCO è sperimentale non vi da fiducia, o notate dei problemi, potete facilmente ritornare al type TUN.


