Tramite il nostro Raspberry Pi è possibile realizzare un server vpn gratis utilizzando il protocollo OpenVpn in pochi minuti.
Potremo accedere ad esempio dall’ufficio alla nostra rete di casa comunicando in COMPLETA SICUREZZA con tutti i nostri dispositivi, pc, stampanti, dispositivi IOT. A livello logico è come se fossimo nella nostra rete di casa. Vorrei spendere qualche riga spiegare l’argomento.
Che cosa vuol dire V.P.N.?
E’ l’acronimo di “Virtual Private Network” che tradotto in italiano vuol dire “rete privata virtuale”.
E’ un servizio di comunicazione “logico” fra due o più apparecchiature realizzata utilizzando una infrastruttura di rete pubblica potenzialmente non sicura, come Internet per esempio.
La VPN instaura una comunicazione sicura attraverso internet usando il meccanismo del tunneling, viene costruito un “tunnel” virtuale tra le apparecchiature abilitate. I dati possono essere spediti dall’origine verso la fine del tunnel, avendo la certezza che arriveranno a destinazione.
I dati vengono “imbustati” due volte per far si che essi siano trasmessi solamente ai destinatari finali autorizzati.
La cifratura trasforma poi le informazioni in chiaro in qualcosa di incomprensibile nella sua forma codificata per chi non è autorizzato.
La funzione di decifratura ripristina le informazioni in modo comprensibile per il destinatario.
Quali sono i vantaggi usando un VPN?
Garantisce la riservatezza.
Alza il livello di sicurezza, tenendo al sicuro i tuoi dati e proteggendoti da intercettazioni e manomissioni.
Permette di bypassare censure e filtri regionali ( vedi Google e Facebook oscurati dal governo Cinese ).
I servizi vpn in commercio hanno un abbonamento mensile non molto economico offrendo sicuramente molti servizi accessori.
Ho deciso così di realizzare un mio server vpn gratis in modo che, da fuori casa, possa accedere a tutti i miei progetti, schede, pc, stampanti, sensori ecc ecc
in modo SICURO, VELOCE e GRATUITO!
Ho aggiunto questa funzionalità al Raspberry PI 3A+ usato per il mio video in cui mostravo come realizzare una retroconsole.
(In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei. A voi non costerà nulla di più e avrete modo di supportare il mio lavoro).
https://amzn.to/4cPgbcY Raspberry Pi Model A+
https://amzn.to/3U6t1w9 32 GB Memory Card
https://amzn.to/4atWdmD Alimentatore per Raspberry 5V 3A
La scheda consuma veramente pochi Watt quindi il costo in termini di energia elettrica è proprio irrisorio. Mettiamoci all’opera.
Colleghiamoci al Raspberry in SSH
Apriamo un client SSH, io uso PuTTy, e inseriamo l’ip del nostro Raspeberry, nel mio caso 192.168.2.126 e porta 22, clicchiamo su Open.

Dovremmo inserire la user e la pw di root. N.B non compaiono gli ***** nella compilazione della password.

Digita:
sudo su
inserisci la password dell’utente di root, questo farà si che non venga più richiesta per questa sessione.

Digita :
apt update

Successivamente:
apt full-upgrade

Potrebbero impiegare diversi minuti affinché vengano scaricati tutti gli aggiornamenti necessari.
Installazione di PiVPN – Vpn Gratis
Ho trovato questo progetto molto interessante, si chiama pivpn.io e consente di installare OpenVpn Server in pochissimo tempo. Avremo così una vpn gratis!
Potete trovare la sua documentazione a questo indirizzo. Per installare il pacchetto potete usare questo comando:
curl -L https://install.pivpn.io | bash
Se visualizzate un messaggio di errore
Cloning https://github.com/pivpn/pivpn.git into /usr/local/src/pivpn…main: line 1034: cd: /usr/local/src/pivpn: No such file or directory
potete usare invece questo in alternativa:
sudo rm /root/bin/git
curl -L https://install.pivpn.io | bash
Partirà il download del pacchetto:

una volta terminato vedremo la schermata di benvenuto

PiVPN ci ricorda che è necessario avere un ip statico assegnato.

Il setup ci chiede se abbiamo già assegnato un ip statico oppure se abbiamo una Reservation del Raspberry sul nostro router. Dato che ho una Reservation ho cliccato su Yes.

Lasciamo selezionato pi e proseguiamo cliccando su OK.

Ora possiamo decidere quale protocollo usare: WireGuard oppure OpenVpn. Per scegliere OpenVpn scendi giù e premi la barra spaziatrice.

Configurazione di rete del server VPN
Possiamo scegliere di personalizzare le configurazioni o utilizzare le più comuni. In questa fase, ho avuto dei problemi, per il mio modem/router ho dovuto attivare il protocollo TCP anziché quello UDP, quindi ho dovuto cliccare su YES.


Per il protocollo TCP la porta di default che è la 1194, ho lasciato questa porta. Se il provider bloccasse questa porta immetti un altro valore.

Estremamente importante è abilitare il Port Forwarding sul vostro modem per la porta 1194 al raspberry.
Cercate su internet come fare per il modem che utilizzate. Di solito è nella parte della sicurezza/firewall,
nel mio caso la pagina si presenta così:


Viene chiesto quale server DNS dovranno usare i nostri client collegati, io ho scelto quelli di Google ( 8.8.8.8, 8.8.4.4 ).
Ci verrà chiesto se vogliamo aggiungere un dominio per la ricerca, noi mettiamo No.

Occorre indicare se i client si dovranno collegare al nostro server vpn utilizzando un ip pubblico statico (come nel mio caso) o un ip pubblico dinamico (l’ip cambia tutte le volte che riavviate il modem). In questo caso potete usare come server DDNS siti gratuiti come noip.com oppure come duckdns.org che aggiornano l’ip assegnato ad un nome.

Nel secondo caso scriverai una roba del tipo lutritech.noip.com

Ti consiglio di impostare il servizio DDNS direttamente sul tuo modem, ad ogni accensione verrà aggiornato la entry in automatico. Per configurarlo vai nella pagina relativa del tuo modem, nel mio caso si presenta così:

Dovrai inserire i tuoi parametri di registrazione al sito: username, password, nome host che hai scelto di usare.
Tornando all’installazione, possiamo personalizzare l’installazione mettendo YES.


Ho impostato la cifratura a 256 bit. I certificati crittografici vengono creati in modo automatico. Arrivati a questa schermata vi consiglio di abilitare gli aggiornamenti che potrebbero provocare un riavvio del dispositivo.

L’installazione è completata! Ma ci manca ancora un passaggio: bisogna creare un profilo per almeno un client.

Prima dobbiamo riavviare per sicurezza il Raspberry Pi cliccando su YES. Ci dovremmo ricollegare poi con Putty.
Configurazione del client vpn
Ora bisogna creare il profilo utente per il client che si dovrà collegare da remoto al nostra rete di casa, con questo comando:
sudo pivpn add

Ci viene chiesto:
il nome del client : lutritech
la durata in giorni del certificato: 1080
la password per il client: ********
nuovamente la stessa password: ********
Viene creato il certificato per il client e la sua chiave privata, la chiave pubblica e la chiave privata del server.
Se tutto è andato bene, dovreste vedere una cosa simile:

OpenVPN su Windows – VPN Gratis
Il file lutritech.ovpn è il file di configurazione del client che useremo sul pc/smartphone remoto. Per copiarlo possiamo usare un client Sftp come FileZilla. Inseriamo l’ip del nostro Raspberry Pi nel mio caso (192.168.2.126) è la password di root.

Dalla cartella \ovpns, copiare file del profilo utente che servirà per la configurazione del client.

Ora occorre installare il client OpenVPN per PC. Copiare il file .ovpn nella cartella C:\Program Files\OpenVPN\config
Selezionando il proprio profilo vi verrà chiesto di inserire la password, mettete il flag su ricorda la password.

Se tutto è andato a buon fine in basso sulla destra vedrete comparire la seguente notifica:

Vi ricordo che sarà necessario aprire verso l’esterno la porta 1194 dal vostro router,
quindi bisognerà fare un port forward dal router al vostro Raspberry Pi.
OpenVPN da Smartphone – VPN Gratis
Installate l’app dallo store di Google nel vostro smartphone. Dopo averla avviata selezionate il file .ovpn (copiato precedentemente).

Impostate la password:

Cliccate sul profilo e in un attimo sarete collegati!

Se vi riuscite a collegare dal vostro client ma non avete accesso a internet sarà necessario eseguire questo comando via ssh:
pivpn -d
Verrà visualizzato questa domanda:
:::: Self check ::::
:: [OK] IP forwarding is enabled
:: [ERR] Iptables MASQUERADE rule is not set, attempt fix now? [Y/n]
Dovete rispondere Y e così verranno inserite le corrette voce nella iptable.
Abbiamo visto in questo articolo come realizzare un server vpn gratis in pochi e semplici passi.
Non sarà più necessario aprire mille porte sul vostro router mettendo a rischio la vostra sicurezza!
Si potrebbe anche usare il nostro server gratuito in cloud, saremo localizzati negli stati uniti con tutti i vantaggi che possono portare, ma occhio al traffico generato!
Nel caso volessi stoppare il servizio sul Raspberry PI, dovrai lanciare il seguente comando tramite ssh:
service openvpn stop
In modo analogo se volessi farlo partire o ripartire:
service openvpn start
Invece per vedere lo stato del servizio:
service openvpn status