SCOPI DELLA GUIDA:
CONCETTI AFFRONTATI:
|
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
DISPOSITIVI FISICI UTILIZZATI: |
GUIDA MAGGIORMENTE INDICATA PER: |
|
NOTE E DISCLAIMER
|
|
Revisione guida: 1.0 |
Abstract
Negli ultimi anni c’è stato un proliferare di servizi VPN a pagamento, i quali consentono da dentro la propria rete domestica (o comunque un qualsiasi host connesso a Internet) di navigare in modo anonimo attraverso tale servizio. In sostanza ci si collega (sempre con la filosofia del tunnelling) alla rete del provider VPN e da lì si naviga anonimizzati verso Internet (per questioni di estrema privacy o altro).
A prescindere dall’anonimizzazione di cui sopra, le motivazioni per collegarsi tramite VPN a una rete target possono essere le più disparate. Si immagini quindi la connessione VPN come un generico “tunnel” che ci consenta ci collegarci, tramite client, sulla rete dell’host che ospita la controparte server, quale che sia – magari lavorativa, oppure di un proprio sito remoto, magari una seconda casa o altro.
Esempi di VPN “target” possono essere:
- servizi a pagamento per navigare anonimizzati, per esempio:
- un modem/router che permetta di collegarsi alla sua rete locale e che offra servizio VPN (come per esempio i FRITZ!Box);
- un computer generico che abbia configurato il servizio VPN server (con debite configurazioni lato modem/router per far sì che il traffico VPN in arrivo da Internet gli possa essere recapitato sulla rete locale). Esempi di questo tipo di configurazioni da noi trattati sono:
- altro.
Il tema VPN è vastissimo (leggi approfondimento) e non è pensabile trattarlo in dettaglio; la presente guida si concentra sulla possibilità di far sì che un proprio Raspberry Pi dotato di sistema operativo Raspberry Pi OS possa collegarsi con una VPN remota basata su OpenVPN, un server/client gratuito Open Source.
Utilizzeremo, allo scopo, OpenVPN client installato come applicativo su Raspberry Pi OS; spiegheremo quindi passo passo come realizzare questa connessione verso la rete target, ovviamente basata su OpenVPN server. Alternativa alla presente guida, quella dedicata al medesimo scopo ma utilizzando Docker.
Si parte
Assunti
Come anticipato, assumeremo che la VPN alla quale andremo a collegare il nostro Raspberry sia basata su OpenVPN.
Ciò che ci servirà è:
- il file (con estensione .ovpn) contenente le chiavi dell’utente configurato lato server OpenVPN;
- la password relativa all’utente configurato lato server OpenVPN.
Questa informazioni, quindi, si reperiscono lato server.
Si assume altresì che il Raspberry Pi sia configurato (inclusa la possibilità di collegarvisi tramite SSH), collegato alla rete locale e, attraverso essa, a Internet.

Credenziali d’accesso
Innanzitutto è necessario configurare Raspberry in modo da accogliere le informazioni che poi OpenVPN Client utilizzerà per collegarsi a OpenVPN server, ovvero alla nostra VPN target.
Collegarsi dunque via SSH al proprio Raspberry ed eseguire i seguenti comandi:
mkdir openvpn
cd openvpn
Entrati all’interno della cartella, creare il file della password relativo all’utente che utilizzeremo per collegarci alla VPN target (da non confondersi con l’utente con cui ci si collega a Raspberry Pi, per dire). Se l’utente si chiamasse openvpn-client, il file contenente la password si chiamerebbe openvpn-client.pwd:
sudo nano openvpn-client.pwd
all’interno dell’editor che si aprirà, scrivere semplicemente la password e uscire salvando (CTRL-X, Y, invio).
Sempre rimanendo all’interno della cartella in cui ci troviamo, creare il file .ovpn sempre relativo all’utente che utilizzeremo per collegarci alla VPN target. Se l’utente si chiamasse openvpn-client, il file contenente la password si chiamerebbe openvpn-client.ovpn.
sudo nano openvpn-client.ovpn
Apertosi il client, copia-incollare il seguente testo:
pull-filter ignore "route-gateway" askpass /vpn/NOME_UTENTE.pwd AUTOSTART="NOME_UTENTE"
avendo cura di personalizzare il nome dell’utente (se fosse openvpn-client, la seconda stringa diventerebbe askpass /vpn/openvpn-client.pwd, mentre la terza AUTOSTART=”openvpn-client”)
Andare poi a capo e copia-incollare il contenuto del file .ovpn che si dovrebbe, come spiegato negli assunti, avere a disposizione. Attenzione che il contenuto del file .ovpn sia copiato per intero.
Uscire salvando (CTRL-X, Y, invio).
Installare OpenVPN Client
Una volta dotati di un proprio FQDN è dunque il momento di installare OpenVPN Client su Raspberry Pi OS.
Eseguire quindi i comandi:
sudo apt-get install openvpn sudo systemctl is-enabled openvpn.service
Fatto questo possiamo provare a collegarci con:
sudo systemctl start openvpn@NOME_UENTE.service
Verifichiamo quindi che sia partito tutto correttamente con:
sudo systemctl status openvpn@NOME_UENTE.service
andando a controllare che sia presente la seguente riga:
1980-01-01 00:00:00 raspberrypi ovpn-homeassistant[1802]: Initialization Sequence Completed
il che confermerà il funzionamento del tutto.
In pratica, il log ci sta dicendo che Raspberry si è effettivamente collegato alla nostra VPN target utilizzando le credenziali configurate su Raspberry in precedenza.
Se invece si ottiene un errore del tipo:
1980-01-01 00:00:00 Exiting due to fatal errors
allora c’è qualcosa che non va. Solitamente la riga precedente all’errore indica il motivo (e quindi concentrarsi su tale motivo, correggerlo e riavviare il container col comando di cui sopra.
Congratulazioni: OpenVPN Client è ora operativo.
Uso
A questo punto l’uso che se ne fa è personale: come detto, le casistiche sono le più disparate. Il servizio si avvierà sempre e in automatico una volta che il demone sarà in esecuzione, la connessione verrà stabilita e il nostro host locale si collegherà sulla rete del server remoto OpenVPN.
Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Se ti sei perso, a tua disposizione c'è la mappa. |