Pi2ModB1GB

Una connessione VPN è un collegamento “sicuro” tra un dispositivo che si trova in una rete pubblica verso una rete privata, solitamente aziendale ma sempre più spesso anche casalinga.

I motivi per accedere alla propria rete potrebbero essere molti, ad esempio per visualizzare le videocamere per la propria videosorveglianza o altri.

Nel mio caso l’utilizzo principale è quello di accedere alla mia rete e navigare come se mi trovassi a casa, utile soprattutto perché trovandomi spesso in viaggio mi serve poter sfruttare gli abbonamenti TV, tipicamente Sky o Mediaset altrimenti vietati alle reti estere.

Per creare questa connessione occorre un server VPN, il mio router (Netgear R6400) ha una gestione integrata della VPN creando una configurazione OpenVPN compatibile però solo con il mondo pc (Windows o MacOs) ma non con quello mobile (Android e iOS) perché basato su un tunnel TAP (Quello supportato dai dispositivi mobili è TUN, su Android ci sarebbe un client OpenVPN compatibile TAP ma è a pagamento, circa 7 euro).

Per risolvere questa mancanza ho utilizzato il caro Raspberry, è un po’ il giocattolino di casa, un tappabuchi insomma.. con lui ci si può fare un po’ di tutto spendendo davvero poco (circa 35 euro).

Se non avete un indirizzo IP statico associato alla vostra connessione internet (molto probabilmente non lo avrete) potete aggirare il problema con un servizio DynamicDns, ce ne sono di gratuiti ed a pagamento, spesso anche gestiti direttamente dal vostro router, si basano su un aggiornamento automatico del vostro IP attualmente distribuito dal gestore internet associato ad un nome che vi siete creati sul loro servizio (ad esempio casamia.dyndns.it).

In internet si trovano molte guide su come creare un server OpenVPN ma serve un pochino di manualità e digitare un po’, ne ho provate diverse..
La soluzione migliore che ho trovato è questa, così vi risparmio il tempo impiegato a scovarla😉

Partiamo da zero, un raspberry model 2 o 3 con una microsd inserita da almeno 8gb, il software Noobs scaricabile dal sito Raspberry (https://www.raspberrypi.org/downloads/noobs/) copiato sulla MicroSd, al primo avvio viene richiesto quale sistema installare, ho scelto Rasbian (https://www.raspbian.org/).

Prima di iniziare è sempre utile un aggiornamento della piattaforma, il comando è semplice “sudo apt-get update && sudo apt-get dist-upgrade”, si attende il completamento del download ed alla domanda se si accetta di continuare (s/n) rispondere “s”.

Ora che il raspino è bello aggiornato si può passare al pacchetto wizard di PiVPN (http://www.pivpn.io/):
curl -L https://install.pivpn.io | bash

L’applicazione è davvero alla portata di tutti, un percorso passo-passo che vi segue fino alla fine della creazione del server VPN senza bisogno di (quasi) nessuna competenza in merito..

Una volta terminata la configurazione il raspino va riavviato, nel frattempo passate alla configurazione del router di casa, bisogna abilitare l’inoltro della porta 1194 (port forwarding) del traffico proveniente da internet (wan) verso l’indirizzo ip statico scelto per il raspino durante la configurazione del pacchetto PiVPN.

Sul raspino va lanciato il comando “sudo pivpn add“, un piccolo wizard chiederà alcuni dati per creare il file di configurazione (file.ovpn) che andrà poi copiato sul dispositivo.

Ora si passa al dispositivo che si vuole usare per collegarsi, che può essere un tablet o uno smartphone, si installa il client OpenVPN (disponibile gratuitamente per tutti i sistemi).

Il modo più semplice che utilizzo per copiare il file sul mio dispositivo è quello di caricarlo come bozza su Gmail ed aprirlo dal telefono o tablet per salvarlo così nella memoria locale, da qui si può poi importare nel client OpenVPN.

Al primo collegamento viene richiesta la password scelta in precedenza, si può anche salvare ma io preferirei evitarlo..
Se il collegamento è andato a buon fine siete finalmente entrati in casa vostra🙂