In questa guida rapida vedremo come creare un server VPN avendo a disposizione un server dedicato oppure un VPS da pochi euro al mese. Il server deve usare una delle ultime versioni di Ubuntu o Debian, pertanto è richiesta una minima conoscenza del sistema operativo GNU/Linux. I client della rete saranno computer con Windows che non dovranno installare nulla. Anche altri sistemi operativi sono supportati.
Cos'è una VPN?
In questo sito si trova già una risposta esauriente a questa domanda. In estrema sintesi, una VPN è una rete privata virtuale che a sua volta ha accesso ad internet. La connessione alla VPN avviene per mezzo di una connessione sicura e protetta.
A cosa serve una VPN?
Le reti VPN vengono usate per:
- Ottenere l'anonimato in internet
- Cambiare e nascondere il proprio indirizzo IP
- Proteggere l'intero traffico internet
- Aggirare limiti e imposizioni del proprio operatore
Gli utenti esperti possono anche usare una vpn per:
- Accedere in maniera sicura a risorse o servizi di rete
- Ottenere le porte aperte anche su connessioni nattate
Per queste ragioni ultimamente questo genere di servizio in forma commerciale sta prendendo sempre più piede. In questa guida comunque si intende realizzare un server VPN personale che permetta di raggiungere questi scopi. Nell'immagine sottostante ho riportato un test della velocità di rete tramite un server VPN realizzato seguendo questa guida.
Quale sistema VPN usare?
Esistono molti sistemi VPN, noi realizzeremo una VPN del tipo L2TP/IPSec. La maggioranza degli operatori commerciali usa OpenVPN, ma questo sistema impone agli utenti Windows di installare software aggiuntivo sul computer. Per questa ragione in questa guida rapida abbiamo preferito questo sistema, che ha comunque una sicurezza elevata.
Compatibilità e client supportati
Il sistema VPN del tipo L2TP/IPSec è nativamente compatibile con Windows, Android, iOS, OS X, Chromebook. Il server che andremmo a realizzare supporta inoltre il sistema del tipo IPsec/XAuth (Cisco IPSec) che è nativamente compatibile con Android, iOS and OS X. Questa guida tratta solo il caso dei client con Windows 10, per gli altri sistemi operativi vi devo rimandare alla lettura della pagina di istruzioni ufficiale in inglese.
CREARE IL SERVER VPN
Bisogna disporre di un server con una delle ultime versioni di Debian o di Ubuntu. Io ho usato Ubuntu 18.04 su un VPS di Scaleway a 3€ al mese. Questa guida si basa sull'eccellente script realizzato da Lin Song su GitHub.
» Leggi: Come noleggiare un server VPS con Scaleway
Dopo aver effettuato l'accesso al server tramite un terminale, bisogna immettere questo comando da un utente DIVERSO dall'amministratore (root):
wget https://git.io/vpnsetup -O vpnsetup.sh && sudo sh vpnsetup.sh
Questo comando effettua automaticamente tutte le operazioni necessarie per installare e configurare il software sul server, creando un singolo utente con nome, password e chiave di sicurezza. Questi dati verranno visualizzati al termine della procedura.
Se preferisci specificare fin da subito le tue credeziali di accesso, puoi immettere in alternativa questi 3 comandi:
wget https://git.io/vpnsetup -O vpnsetup.sh
nano -w vpnsetup.sh
In questa pagina inserisci un nome utente, una password e una chiave di sicurezza negli appositi campi, quindi premi CTRL+O e CTRL+X per salvare e chiudere. Procedi con l'ultimo comando:
sudo sh vpnsetup.sh
Anche in questo caso, al termine dell'operazione, verranno riepilogati i dati di accesso.
Aggiungere o rimuovere utenti
Anche la procedura di aggiunta di un utente è facile ed immediata. Nei seguenti comandi occorre sempre specificare gli apici per i campi username e password, evitando qualsiasi carattere non alfanumerico.
Vediamo i comandi di aggiunta utente:
wget -O add_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/add_vpn_user.sh
sudo sh add_vpn_user.sh 'username_to_add' 'password_to_add'
Vediamo i comandi di rimozione utente:
wget -O del_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/del_vpn_user.sh
sudo sh del_vpn_user.sh 'username_to_delete'
CONNESSIONE ALLA VPN DA windows
Per collegarsi alla VPN da Windows occorre seguire una procedura molto semplice. Da Windows 10 bisogna andare su Pannello di controllo -> Rete e Internet -> Centro connessioni di rete e condivisione
, quindi premere su Configura nuova connessione o rete
. Occorre specificare subito l'indirizzo IP del server.
» Leggi anche: Connessione VPN con Windows 10: come si fa?
A questo punto bisogna andare su Pannello di controllo -> Rete e Internet -> Connessioni di rete
e modificare le proprietà della Connessione VPN. Bisogna prestare ATTENZIONE a specificare a Windows che la VPN è del tipo L2TP/IPSec
e inserire la CHIAVE DI SICUREZZA nelle Impostazioni Avanzate
.
A questo punto potremmo collegarci alla vpn inserendo username e password. Se al momento della connessione ottieni un problema di connessione del tipo "Errore 809", applica una correzione al registro di sistema di Windows, come spiegato in questa pagina.
Il file di configurazione VPN ti semplifica la vita
Se ora desideri disporre di un file di configurazione VPN già pronto da mandare agli altri client della rete VPN, sappi che Windows ne ha generato uno per te: si chiama rasphone.pbk e si trova in una cartella di sistema. Per trovarlo, premi WIN+R, incolla questa stringa e premi invio:
%AppData%\Microsoft\Network\Connections\Pbk
Conclusioni
Sicuramente l'utente medio, per una serie di valide ragioni, preferisce utilizzare un servizio VPN commerciale, tuttavia chiunque possieda già un server potrebbe preferire questa strada. Bisogna inoltre tener conto che più persone possono dividersi la spesa di un singolo server, andando quindi a risparmiare rispetto ad un servizio commerciale.
La questione delle porte aperte tramite VPN richiede una trattazione aggiuntiva.
» Leggi: Come aprire le porte su qualsiasi connessione usando una VPN