Vpn Facile! Accedi alla rete con un paio di comandi.

Sei il felice possessore di un RaspberryPi, sei pronto a sperimentare tutte le sue potenzialità, domotica, webserver, mediacenter, retrogame e tutto ciò che la tua fantasia di permette di creare.
Ma c’è un problema, il RaspberryPi è confinato alla rete a cui è collegato, che si a casa o al lavoro, come si può fare ad accedere a tutto ciò da remoto, da uno smartphone, dall’ufficio, all’estero o cumunque all’esterno della rete del RapsberryPi?
I servizi installati nel RaspberryPi resta in ascolto su determinate porte di norma standard, ma che per ragioni di sicurezza possono venir cambiate. Alcuni esempi sono la porta per i siti web non cifrati http usa la porta 80, i cifrati httpS la 443, ssh usa la 22.
Chi arriva da internet si trovare il router/firewall che blocca tutte le porte non configurate su di esso, quindi saranno accessibili solo dall’interno.
Ci sono due modi per permetterne e reindirizzarne l’accesso e vanno usati in base alle esigenze, il primo è il NAT o Port Forwarding dove si aprirà una porta per ogni servizio, più porte si aprono e più i rischi di sicurezza aumentano.
Qui entra in gioco la seconda opzione, più idonea per i servizi che non necessitano di divenire pubblici, la VPN.
La vpn permette, aprendo una sola porta, l’accesso totale alla rete di destinazione trovando cosi accesso a tutte le porte e servizi del Raspberry ed eventuali altri dispositivi in rete, il tutto in modo cifrato e sicuro.
Il software più usato per la vpn è OpenVpn, che dispone di client per Linux, Mac, Windows e Smartphone, il problema è che non è user-friendly, per ovviare a questo problema è stato creato il tool PiVpn che grazie ad un semplice comando ti permette di installare il server OpenVpn e di creare un semplice file da importare nei client da connettere.
Il sito ufficiale di PiVpn è http://www.pivpn.io/
La repository è https://github.com/pivpn/pivpn
Le caratteristiche principali sono
– Semplicità assoluta: si installa con un comando e la configurazione è molto semplice anche grazie al comando da shell “pivpn [parametro]”. Inotre crea già il file di configurazione da importare nei client
– Flessibilità: si possono modificare le porte vpn, i certificati, la robustezza delle chiavi crittografiche, usare un nome dns nel caso avessimo un ip pubblico dinamico e molto altro
– Gestione: tramite il comando pivpn <command> [option]
Options:
-a, add [nopass] Crea un utente per il client vpn, opzione nopass
-c, clients Elenca tutti i client connessi al server vpn
-d, debug Avvia il debug in caso di problemi
-l, list Elenca tutti i certificati validi e revocati
-r, revoke Revoca l’accesso ad un profilo client
-u, uninstall Rimuove PiVpn
Nelle mie guide parto sempre con Raspian perché è conosciuto e la maggior parte dei tutorial in rete lo usano come riferimento.
Prerequisiti:
RaspberryPi connesso in rete >>  Guida
– Ip pubblico fisso o un nome DDNS (consiglio DuckDns.org)
– Accesso al Router/Firewall della rete dove è connesso il RaspberryPi
Installazione:
PiVpn è pensato per rendere una cosa complicata, la più semplice in assoluto e per installare il nostro Server OpenVpn su RaspberryPi basta questo semplice comando

 sudo curl -L https://install.pivpn.io | bash

Lo script esegue apt-get update e poi scarica ed avvia l’installazione, che procederà con delle semplici schermate di selezione.
La prima cosa da scegliere sarà il nome dell’utente locale da utilizzare, verrano tutti proposti automaticamente in una comoda lista.
Successivamente consiglio di attivare [yes] alla proposta di attivare gli aggioramenti di sicurezza automatici.
Poi la scelta tra il tipo di protocollo UDP o TCP, lasciamo UDP senza troppi problemi.
Ora la parte da modificare sarà la porta di ascolto, per scongiurare qualche attacco hacker, consiglio di cambiarla e restare magari tra la 10000 e la 20000, ovviamente la scelta spetta a voi.

Nella scelta del livello di criptazione loro consigliano 2048, un livello già molto sicuro.

Una volta avviata la procedura di creazione del certificato, vai pure a prendere un caffè, ci sarà molto da aspettare…

Dopo il caffè, si configurano l’ip pubblico, se hai un ip Pubblico FISSO fai la prima scelta, se invece è dinamico, puoi creare cinque nomi DDNS gratuiti con DuckDns.org, scegliene uno e scrivilo nella voce dns entry .


Per il Dns Provider, lasciamo tranquillamente Google, va più che bene.
Una volta completata l’installazione e riavviato il RaspberryPi eseguiamo il comando

sudo pivpn -a

per creare una configurazione da importare nei client

La cosa bella è che verrà creato il file di configurazione /home/pi/ovpns/nomeScelto.ovpn e sarà sufficente importarlo dal tuo client OpenVpn preferito per connetterti alla rete.
In fine è fondamentale creare nel Router/firewall il NAT/Port Forwarding dalla porta scelta prima verso l’ip Fisso INTERNO del RaspberryPi. Se il RaspberryPi non ha l’ip fisso, ti verrà chiesto di impostarlo durante l’installazione di Pivpn.
Di seguito il video di tutta questa procedura eseguita su Raspbian 2016-12-13 jessie.
Spero di essere stato utile

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *