Creare una VPN con PFSense e OPENVPN

Ciao a tutti,

in questo articolo vi voglio descrivere come realizzare una VPN con PFSense Release 2.3.2. Visto che in comune ho sostituito il firewall fortigate, ormai vecchio e non adattabile alla nuova infrastruttura in fibra, la soluzione più veloce per poter far funsionare il tutto è stata quella di mettere in pied un firewall con PFSense. Un ottimo sistema di firewalling ricco di addons aggiuntivi.

Per ovvii motivi ho dovuto mettere in piedi in fretta anche la VPN e per fare questo ho utilizzato il tools OPENVPN. Googolando qua e la non ho trovato alcuna guida valida per configurare il mio server OPENVPN su PFSense con autenticazione SSL/TLS + Auth. Dopo varie prove e tentativi ho trovato finalmente la configurazione che fa al caso mio, una configurazione funzionante che alla fine mi ha detto soddisfanzione nella velocità di configurazione dei vari client, ma lasciamo stare le parole e iniziamo a vedere comne configurarla.

Per prima cosa dobbiamo creare 3 certificati. Il primo il certificato CA; apriamo Pfsense e poi clicchiamo su System –> Cert.Manager a questo punto premiano il pulsante verde in basso per creare il certifiacto CA e compiliamo i campi come mostrato in figura:

 

compilatelo in questo modo:

Method – Create an Internal Certificate Authority

Key Length – 2048

Digest Algorithm – sha256

Lifetime – 3650

Country Code – IT

State or Province – il vostro capoluogo

City – la vostra città

Organization – la vostra azienda

Email Address – la vostra email

Common Name – Questo compilatelo se volete

una volta compilati i campi, facciamo click su Save ci troveremo un questa situazione:

 

ora il certificato CA è creato, su questo andremo a realizzare il certificato per il server e poi quello per i client.

Certificato per il server , clicchiamo ora su System –> Cert.Manager e poi su certificates, cliccare anche qui sul pulsante verde Add, la videata è la stessa della precedente ma seguite questa linee guida riportate su questa immagine:

 

fate poi la stessa cosa per il certificato utente stando attenti però di selezionare Client certificate al posto di server.

Bene i tre certificati sono stati creati ora passiamo alla configurazione vera e propria del server openvpn, spostiamoci prima di tutto sotto la voce VPN e clicchiamo la voce OPENVPN e poi su Wizard, nella prima maschera che appare selezionate  local user access come da figura qui sotto:

Andiamo avanti e  selezionare il certificato CA che avete creato, andiamo ancora avanti e selezionaiamo anche il certificato server. Andiamo ancora avanti e iniziamo a selezionare l’interfaccia WAN, il protocollo di ascolto UDP e la porta 1194 e poi una descrizione del server.

 

A questo punto dovremmo cliccare su fine e andare avanti nella configurazione del server seguite le immagini qui sotto per aiutarvi nella vostra configurazione: prima parte della configurazione, abilitate il TLS Authentication, poi controllate che alla voce peer certificate autority vi sia il vostro certificato CA e sotto server certificate il vostr certificato server

Vediamo poi la voce IPv4 Tunnel network, qui inseriamo la rete virtuale che userà OpenVPN per interfacciare con la lan, nella voce IPv4 local network digitate la rete del firewall lato lan esempio “172.16.0.0/24” dopo di che potete cliccare su force all client generated trafic throught the tunnel inserire il numero di client che si connetteranno alla vpn nella voce compression io ho messo No preference, se impostavo la preferenza di compressione questa avveniva ma non riuscivo a pingare le macchine della lan, ho selezionato la voce Set the TDS IP header…  Abilitato gli IP dinamici e l’Address pool e poi ho impostato il dominio e i server che mi fanno da DNS internamente

 

Nella schermata che segue ho abilitato il netbios con node type b-node e poi ho salvato la configurazione.

 

Ed ecco la configurazione server pronta:

Fatto questo PFSense mette a disposizione un tools per la generazione dei client personalizzata per ogni utente creato, per installare il tools andiamo in System –> package Manager e selezioniamo Available package cerchiamo la voce openvpn-client-export e installiamola.

ora non ci resta che creare l’utente e per farlo andiamo sempre in System —> User Manager e creiamo il nostro utente dando un nome, una password inserendo un full name, cliicare poi su certifacte per creare il certificato per l’utente, in certifate autority, selezionate il certificato CA per generale quello utente. Se  volete prima di creare un utente potete creare un gruppo chiamato utentiVPN e poi confinare tutt gli utenti vpn in esso.

 

bene a questo punto possiamo scaricare il pacchetto personalizzato per l’utente per farlo andiamo nuovamente su VPN –> OPENVPN e selezioniamo il tab client export, ora controllate che nella finestra remote access server vi sia il nome del vostro server:porta, dopo di che scendendo verso il basso vedremo il nome utente sulla sinistra e a destra dei pulsanti che ci permetteranno di scaricare l’applicazione più adatta per il nostro dispositivo.

tutto qui. dopo svariate prove a me cosi funziona egreggiametne sia su Windows che Linux Ubuntu.

spero di esservi stato utilie un saluto.

Adam

Pubblicato da appuntidiadam

Sistemista informatico, e grande appasionato di astronomia e fisica, ricercatore indipendente in cosmologia

6 Risposte a “Creare una VPN con PFSense e OPENVPN”

  1. Ciao,
    ottima guida alla quale aggiungerei la necessità di creare le regole di entrata.

    Ne occorre una sulla WAN per l’accesso sulla 1194 (o sulla porta impostata per la VPN)
    Ne occorre una anche nella scheda OpenVPN (sempre in firewall->rules) che generalmente si configura per far entrare tutti i protocolli e tutte le porte ma che può servire anche per limitare l’accesso a determinate risorse in lan.

    Sulla WAN la regola per permettere la connessione sulla porta 1194 e s

  2. Bisogna cambiare il remote address nel file di configurazione. mette l indirizzo ip della lan come remote address. se si vuole usare da “fuori” bisogna mettere l indirizzo ip pubblico.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.