Installazione e configurazione di OpenVPN all’interno di OpenMediaVault su Raspberry Pi
In un precedente articolo ho descritto come installare OpenMediaVault sul nostro Raspberry Pi.
Quest’oggi andrò a descrivere come installare il plugin OpenVPN all’interno di OpenMediaVault.
Per cominciare colleghiamoci alla pagina Web di OpenMediaVault aprendo un browser internet ed inserendo nella barra del percorso, l’indirizzo ip del nostro Raspberry Pi.
L’installazione di default di OpenMediaVault, pubblica questa pagina sulla rete LAN, sulla porta TCP 80 (sempre se non abbiate “nattato” questa porta anche sul vostro router).
Per cui digiteremo:
http://IP-DEL-TUP-RPI:80
Non è obbligatoriamente necessario scrivere “:80” perchè è la porta predefinita del protocollo “http://“, ho aggiunto questa descrizione giusto per far intendere che qual’ora fosse stata impostata una porta differente, in questa maniera si forza l’apertura della pagina web da una differente porta
Detto questo, possiamo procedere eseguendo il login all’interno dell’interfaccia web di OpenMediaVault.
Una volta autenticati, dal menù laterale (nella sezione System),clicchiamo sulla voce Plugins.
All’interno di questo menù sarà possibile scaricare ed installare diversi plugin, in questa guida andremo ad installare il plugin openmediavault-openvpn che, una volta configurato, ci consentirà di attivare un vero e proprio server VPN.
Una volta aperta la pagina Plugins di OpenMediaVault cerchiamo il nostro pacchetto digitando vpn nel campo di ricerca posto in alto a destra di questa pagina web.
Per avviare l’installazione del plugin, non dobbiamo far altro che selezionare il pacchetto e cliccare sul tasto install posto subito sopra.
Terminata la fase di installazione, applichiamo le modifiche e se richiesto, riavviamo il nostro Raspberry Pi.
Configurazione del server OpenVPN
Una volta riavviato il nostro Raspberry Pi, riapriamo la pagina web di OpenMediaVault e questa volta, sempre dal menù laterale, clicchiamo sulla voce “OpenVPN” all’interno della sezione “Services“.
Per cominciare, all’interno della sezione “General settings“, abilitiamo il servizio attivando l’interruttore “Enable“.
Nel campo “Port” di default è impostata la porta 1194 (volendo è possibile selezionare una numero di porta differente) e nel campo “Protocol” è impostato di default il protocollo UDP (anche qui se vogliamo possiamo cambiarlo con il protocollo TCP).
Nal campo “Device” lasciamo selezionato “TUN” e opzionalmente attiviamo la voce “Use Compression“
L’impostazione successiva, serve per attivare o meno, la possibilità di connettersi contemporaneamente con due o più device utilizzando lo stesso utente (più avanti in questa guida descriverò come aggiungere un utente per la VPN).
L’interruttore successivo invece serve per abilitare o meno l’autenticazione con nome utente e password per avviare la connessione VPN verso questo server.
Scorrendo la pagina verso il basso, posizioniamoci nella sezione “VPN network“, qui troveremo altri settaggi inerenti alle impostazioni di rete della nostra interfaccia VPN.
A questo punto mi soffermo giusto per fare una precisazione, quando abbiamo installato il plugin OpenVPN è stata creata un’interfaccia di rete virtuale dove il nostro Raspberry Pi svolge il ruolo di server DHCP e da gateway per tutti i client che si connetteranno alla VPN.
Per cui nel campo Address andiamo ad impostare la subnet su cui vogliamo lavorare e nel campo Mask andiamo a definire la grandezza della nostra rete (quanti indirizzi IP assegnare simultaneamente)
Una subnet 255.255.255.0 (detta anche /24) consente di ospitare 254 dispositivi. Se volete approfondire l’argomento vi consiglio di dare un’occhiata qui.
Come Gateway interface lasciate selezionato “eth0” purchè abbiate connesso il Raspberry Pi tramite cavo LAN, altrimenti selezionate l’adattatore di rete wireless (ad es. wlan0).
A seguire troviamo le voci:
– Default Gateway, impostiamo l’interruttore sullo stato acceso qual’ora volessimo impostare il nostro server VPN come gateway predefino per i client VPN connessi;
– Default Route, ache qui accendiamo l’interruttore qualora volessimo impostare il Raspberry Pi come rotta di default per il client VPN;
– Client to client, accendiamo questo interruttore qualora volessimo abilitare l’individuazione in rete tra i client VPN.
Scorrendo ancora la pagina troveremo la sezione DHCP Options ma non dobbiamo far altro che scorrere alla sezione successiva denominata Public.
Qui possiamo inserire o il nostro indirizzo IP Statico (o anche detto pubblico) oppure se abbiamo un indirizzo ip dinamico (che cambia quando vuole il nostro provider) possiamo inserire un nostro DDNS (in questi precedenti articoli ho descritto come utilizzare un DDNS con il nostro Raspberry Pi).
Una volta impostati questi parametri possiamo cliccare sul tasto “Save” posizionato nella parte in alto di questa pagina Web e successivamente cliccare sul tasto Apply.
Non appena tornerà disponibile la pagina web consiglio di eseguire un riavvio del Raspberry Pi.
Creazione dell’utenza abilitata all’accesso VPN
Arrivati a questo punto dobbiamo creare un utente (con relativa password) che sarà necessario per autenticarci con il nostro Raspberry Pi dal nostro client VPN. Per fare ciò, apriamo nuovamente la pagina web di OpenMediaVault e scorrendo il menù laterale troveremo la sezione “Access Rights Management” all’interno della quale clicchiamo su “User“.
Per aggiungere un account clicchiamo sul tasto “+ Add” e nella finestra che segue andiamo ad attribuirgli:
– un Nome (campo obbligatorio);
– un Commento (campo opzionale);
– una email (campo opzionale);
– Password e conferma Password (campi obbligatori);
– la posizione della Shell (lasciare invariato);
– attivando l’interruttore “Modify Account” si darà, all’utenza che si andrà a creare, la possibilità di modificare il proprio account accedendo alla pagina web di OpenMediaVault. Se si desidera creare una utenza dedicata alla sola VPN consiglio di lasciare questa impostazione disattivata.
Completato l’inserimento dei dati clicchiamo sul tasto “Save” e di seguito clicchiamo sul trasto “Apply” che apparirà in alto a destra della finestra.
Ora, dobbiamo creare il certificato OpenVPN per l’utenza appena creata, per cui dal menù laterale scorrendo verso il basso troveremo la sezione “Services” all’interno della quale dobbiamo cliccare sulla voce OpenVPN.
Successivamente, in alto nella finestra di destra, clicchiamo su “Certificates” e a questo punto possiamo aggiungere il certificato cliccando sul tasto “+ Add” posizionato in alto.
Qui non dovremo far altro che selezionare dal menù a tendina “User” l’utenza appena creata, opzionalmente possiamo inserire in nome comune nel campo “Common name” ed infine per salvare l’impostazione cliccheremo sul tasto “Save” posizionato subito sotto.
Una volta salvate queste impostazioni sarà possibile scaricare il certificato. Questo certificato andrà trasferito sul dispositivo che dovrà connettersi alla VPN per cui consiglio di inviarlo via email oppure di salvarlo su una chiavetta USB.
Il client per collegarsi alla vpn dovrà avere un applicazione per gestire connessione VPN. Per i dispositivi mobili (come smartphone o tablet) è possibile scaricare l’applicazione ufficiale di OpenVPN direttamente dalgi store ufficiali (Google Play Store per Android, o AppStore per Apple IOS) mentre se vogliamo installare il client VPN su un PC o Mac basterà recarsi alla questa pagina per scaricare il programma.
Una volta scaricato ed installato il client OpenVPN, non dovremmo far altro che importare il certificato che abbiamo generato e scaricato dall’interfaccia web di OpenMediaVault all’interno del client OpenVPN.
A questo punto, nonostante abbiamo installato e configurato il server di OpenVPN sul nostro Raspberry Pi, creata e abilitata l’utenza per la connessione VPN, installato e configurato il client VPN, ci manca ancora un ultimo passaggio, quello di “nattare” la porta e il protocollo del server di OpenVPN verso l’esterno della nostra rete domestica.
Quasi all’inizio di questa guida avevo impostato nel plugin di OpenVPN in OpenMediaVault, l’utilizzo della porta UDP 1194. Queste due informazioni ci serviranno per impostare il NAT di questa porta dall’esterno verso l’ip (interno) del Raspberry Pi.
Qui di seguito allego una schermata di questa impostazione, settata sul mio modem/router
Una volta completata questa configurazione sul nostro Router sarà possibile stabilire una connessione VPN con il nostro Raspberry Pi, dall’esterno della nostra rete.
Buon divertimento!