Come trasformare il vostro Raspberry Pi in un server VPN – Guida all’installazione

Condividi questo articolo:


Pi VPN trasforma il vostro Raspberry Pi in un server VPN economico ed efficace utilizzando un’installazione guidata che fa la maggior parte del duro lavoro per voi.

Sarete in grado di bypassare i filtri dei siti web al lavoro o a scuola, e di collegarvi facilmente ai dispositivi della vostra rete domestica come i file server o le stampanti. E con pochi passi in più, potrete anche abilitare la crittografia end-to-end ed eseguire tutto il vostro internet mobile attraverso un tunnel sicuro e anonimo.

Che cos’è la Pi VPN?

Pi VPN è un leggero server OpenVPN progettato per funzionare su Raspberry Pi 2 o 3. Vi dà accesso alla vostra rete domestica attraverso una connessione sicura su Internet. Collegando un Raspberry Pi al vostro router, agisce in qualche modo come un ponte tra i dispositivi mobili e la vostra rete.

Cosa puoi fare con una VPN PiVPN :

  • Accedi ai tuoi file, musica e film da qualsiasi luogo
  • Crittografa la tua connessione internet mobile
  • Stampa sulle stampanti di casa dal portatile
  • Bypassare i firewall e le restrizioni sui siti web sul lavoro e all’estero
  • Nascondi il tuo indirizzo IP mobile
  • Connettiti con le telecamere di casa e i dispositivi intelligenti
  • Se vi trovate a inoltrare molti servizi attraverso il router, una connessione VPN domestica è un’alternativa più sicura. Ogni porta che inoltri è un tunnel che qualcuno, da qualche parte, potrebbe usare per entrare nella tua rete. Pi VPN apre solo una porta, e utilizza una forte crittografia per mantenere la vostra LAN sicura.

La scelta di un fornitore di VPN

Una delle scelte più importanti prima ancora di iniziare questo progetto è quale fornitore di VPN utilizzerai. E quando si sta facendo questa scelta, i fattori da tenere a mente sono la sicurezza, la larghezza di banda e la latenza.

La sicurezza è vitale, dovete sapere che il vostro fornitore VPN non terrà i registri della vostra connessione. Ma la larghezza di banda e la latenza sono altrettanto importanti in questo caso. Se scegliete un provider con tempi di ping elevati o con una larghezza di banda insufficiente, la vostra connessione internet ne risentirà.

Tenendo presente questo, vi consiglio di utilizzare IPVanish per questo progetto. IPVanish ha alcuni dei più bassi tempi di latenza e la più alta larghezza di banda di qualsiasi altro provider, e ne abbiamo testati molti. Questo manterrà la vostra connessione veloce e reattiva, anche quando state navigando sul web attraverso una connessione VPN a doppio hop.

VELOCE E AFFIDABILE:IPVanish ha una grande rete di server non congestionati che raggiunge grandi velocità. Forte sicurezza e caratteristiche di privacy. Uno dei preferiti da Kodi e Amazon Fire Stick per le loro applicazioni e le capacità di streaming. Adatto alle famiglie in quanto è in grado di gestire fino a 10 dispositivi collegati contemporaneamente. Provatelo senza rischi con la garanzia di rimborso entro 7 giorni.

Prepararsi per Pi VPN

Per iniziare, ne avrete bisogno:

  • un Raspberry Pi 2 o 3 con Raspbian installato
  • una scheda di memoria da 8GB o superiore
  • Per ottenere i migliori risultati, il Raspberry Pi dovrebbe essere collegato ad un router con un cavo ethernet, ma funzionerà anche una connessione wifi.
  • Se si utilizza il wifi, sarà necessario sostituire
  • wlan0 con eth0 in tutto questo tutorial.

 

Attivare il servizio SSH in Raspberry Pi Config abilitandolo nel menu Opzioni di interfacciamento. È possibile avviare lo strumento di configurazione dal menu Pi o utilizzare questo comando:

sudo raspi-config

Riavviare il Pi dopo aver abilitato il server SSH.

Una volta che il vostro Pi è connesso alla rete domestica con SSH acceso, potete disabilitare il desktop X e scollegare il vostro monitor se volete. È altrettanto facile connettersi al vostro Pi Raspberry da remoto utilizzando un’utilità come Putty o il terminale del vostro Mac quanto lo è digitare direttamente sul Pi.

Collegamento al vostro Pi Raspberry

La maggior parte delle volte si desidera eseguire il server Pi VPN senza doverlo collegare a un monitor. Questo è facile da fare fintanto che si dispone di un client di shell sicura (SSH). Utilizzando SSH, potrete accedere alla linea di comando del vostro Pi Raspberry da un altro computer.

Prima di scollegare il vostro Pi Raspberry dal suo monitor, eseguite il comando ifconfig per mostrare l’indirizzo IP del vostro Pi. E’ elencato nel campo inet come mostrato sopra. Vi servirà per collegare il vostro client SSH.

Se avete intenzione di configurare il vostro server VPN Pi in Windows, usate Putty per connettervi al vostro Pi Raspberry.

Una volta che Putty è pronto e funzionante, connettiti al tuo Raspberry Pi digitando l’indirizzo IP che hai annotato prima. Assicuratevi anche che il tipo di connessione sia impostato su SSH. Fare clic sul pulsante Salva per creare un profilo per questa connessione.

Se state installando Pi VPN Pi utilizzando un computer con Mac o Linux, non c’è motivo di scaricare un client SSH. Basta utilizzare il terminale del vostro sistema operativo, che supporta SSH di default.

La prima volta che vi collegate al vostro Raspberry Pi, vi verrà richiesto di salvare una chiave di sicurezza. Fare clic sul pulsante Sì per accettare la chiave come valida e salvarla sul computer.

Successivamente, inserisci la tua password. Se non l’hai ancora cambiata, Raspberry Pi utilizza Raspberry Pi come password predefinita.

È una buona idea cambiare la password di default la prima volta che ci si connette su SSH. È possibile farlo utilizzando il comando passwd.

Aggiornamento Raspbian per Pi VPN

Assicuratevi che il vostro sistema operativo sia aggiornato prima di installare Pi VPN.

In primo luogo, ottenere un elenco di tutti i software più recenti. Potete controllare le ultime versioni di tutto ciò che avete installato con il comando:

sudo apt-get update

Una volta che avete l’elenco aggiornato dei software, dite al vostro Raspberry Pi di aggiornarsi con il comando:

sudo apt-get upgrade

Vi verrà richiesto di premere Y se volete effettuare l’aggiornamento, e dovreste farlo. Ci vorranno alcuni minuti per eseguire il processo di aggiornamento, e si può guardare il progresso sullo schermo.

Impostazione di un indirizzo IP statico

Dato che vi affiderete al vostro Raspberry Pi per i servizi di rete, dovrete sapere dove trovarlo. Ciò significa che dovrete impostare un indirizzo IP statico prima di iniziare.

Potete anche cogliere l’occasione per cambiare il vostro hostname. Tra le altre cose, questo cambierà il prompt che vedrete quando vi connetterete. È un modo semplice per distinguere più Pi, ma cambiare il vostro hostname è facoltativo.

 

Sarà necessario modificare /etc/dhcpcd.conf per impostare un indirizzo IP statico. Prima di aprire il file, assicuratevi di conoscere l’indirizzo IP del router e i server DNS che utilizzerete. Se non avete già queste informazioni, potete ottenerle usando ifconfig.

Una volta pronti, usate questo comando per aprirlo nell’editor di testo nano:

sudo nano /etc/dhcpcd.conf


Scorrere il file fino a quando non si vede una riga etichettata come Esempio di configurazione IP statica. Tutto quello che dovete fare è decommentare la configurazione di esempio e fare alcune sostituzioni con il vostro indirizzo IP, il router e i gateway.

Togliere l’indirizzo ip_address statico e sostituire l’indirizzo IP statico che si desidera utilizzare. Ho scelto 192.168.1.2 perché è vicino all’indirizzo IP del router ed è facile da ricordare.

Disattivare i router statici e i server_nome_di_dominio statici e inserire i propri valori. Una volta apportate le modifiche, premere Ctrl+X per uscire, poi Y per confermare che si desidera salvare.

 

If you’re going to change your hostname, open /etc/hostname in nano as root with the following command:

sudo nano /etc/hostname

Cambiare il nome dell’host nel file e poi premere Ctrl+X per uscire dall’editor e Y per salvare il file.

Dovrete fare la stessa cosa con il file in /etc/hosts. Il comando per modificare il file è:

sudo nano /etc/hosts
Scorrere verso il basso fino a visualizzare 127.0.0.1 e cambiare il nome dell’host a quello scelto. Nel mio caso, questo è pivpn. Quando hai finito, di’ al tuo Raspberry Pi di ricominciare con il seguente comando:

sudo reboot
Dopo il riavvio del Pi, assicuratevi di aggiornare l’indirizzo IP a cui vi state connettendo per riflettere il nuovo indirizzo IP statico.

Scoprire il firewall di Raspbian

Poiché Raspbian è un sistema operativo Linux, il firewall è integrato nel kernel e abilitato di default. Ma su una nuova installazione è lasciato aperto.

La politica del firewall di Raspbian (iptables) è di permettere tutti i pacchetti in entrata e in uscita, e di inoltrare tutto ciò che lo richiede. Più tardi vi mostrerò come bloccare il firewall, ma prima di iniziare assicuratevi che sia completamente aperto alle connessioni.

Potete usare iptables -L per elencare le vostre attuali regole del firewall e assicurarvi che corrispondano a quelle sopra indicate. Se avete cambiato il firewall, potete ripristinarlo con i seguenti comandi:

sudo iptables -F
sudo iptables -P INPUT ACCEPT
sudo iptables -P ACCETTO DI USCITA
sudo iptables -P ACCETTO AVANTI
Scelta del livello di crittografia

Quando impostate la vostra Pi VPN, vi verrà chiesto di scegliere la forza della vostra crittografia. Sarete in grado di scegliere tra la crittografia RSA a 1024 bit, 2048 bit e 4096 bit. Ecco cosa dovete tenere a mente:

  • La crittografia RSA a 2048 bit è lo standard
  • L’utilizzo di una crittografia più debole consente una maggiore velocità
  • 2048-bit è buono per il download e lo streaming
  • L’utilizzo di una crittografia più forte fornisce una maggiore protezione
  • 4096-bit è meglio utilizzato per la posta elettronica e la navigazione
  • L’abilitazione della RSA a 4096 bit è allettante ma, se avete intenzione di trasmettere video in streaming o di riprodurre musica attraverso la vostra connessione, aggiungerà molte spese generali e rallenterà notevolmente le cose. La crittografia a 2048 bit è lo standard per un motivo, e vi consiglio di usarla nella maggior parte dei casi.
  • Timing out durante le lunghe operazioni

SSH ha una mania, e prima o poi lo scoprirai da solo. Durante le lunghe operazioni, se siete collegati al vostro Pi attraverso SSH, la connessione si interrompe quando il computer si spegne. Non appena la connessione SSH si interrompe, il comando che stavate eseguendo sul vostro Pi smette di essere eseguito e dovete ricominciare da capo.

Un’utilità chiamata schermo rende le operazioni SSH lunghe molto più facili da gestire. Usando lo schermo, è possibile avviare una sessione legata ad una singola operazione. Poi ci si può collegare o scollegare quando si vuole, e tornare alla sessione per verificare il suo avanzamento.

Una volta installata la schermata, è sufficiente conoscere solo alcuni comandi per utilizzarla. Iniziate usando apt to install screen:

sudo apt-get install screen

Una volta installato lo schermo, lanciarlo con questo comando:

screen

Non sembrerà che sia successo nulla, ma ora i comandi che date non smetteranno di funzionare se vi disconnettete.

Quindi, se la vostra connessione si interrompe, basta che SSH ritorni nel vostro Raspberry Pi e digitiate:

schermo -r

Verrete automaticamente ricollegati alla sessione SSH, purché sia l’unica attiva.

Se avete più di una sessione di schermo attiva, potete elencarli con il comando screen -ls. Se volete connettervi ad una sessione che vedete nella lista, avrete bisogno dell’ID a 5 cifre. Quindi, per riconnettermi alla sessione 11712, userei questo comando:

screen -r 11712

Una volta abituati all’uso, lo schermo rende molto più piacevole la gestione del vostro Raspberry Pi con SSH. Si può imparare di più su tutte le diverse cose che lo schermo è in grado di fare qui.

Installazione di Pi VPN

Una volta che avete risolto il vostro Pi Raspberry Pi, è possibile connettersi ad esso e iniziare l’installazione di Pi VPN. Questa è la prima parte di un’installazione in più parti e fornirà le funzionalità di backend VPN necessarie per connettersi alla Pi VPN. Nei passi successivi, installeremo una pagina web di gestione e configureremo una connessione VPN in uscita per la privacy.

Avvio dell’installazione

Pi VPN è installato attraverso uno script che si scarica dal suo sito web utilizzando lo strumento a riga di comando curl. Curl è solo uno strumento per il download da internet senza bisogno di un browser.

 

Il comando da eseguire per iniziare l’installazione di Pi VPN è:

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

Questo comando scaricherà lo script di installazione su pivpn.io e lo invierà all’interprete del comando bash per l’esecuzione.

Il processo di installazione inizia immediatamente. Inizia controllando apt per vedere se ci sono pacchetti che si possono aggiornare. Se state seguendo questa guida, avete già aggiornato il vostro sistema, quindi lo script passerà al passo successivo.

Verranno installati alcuni pacchetti necessari, poi verrà lanciato il programma di installazione di Pi VPN.

Il PiVPN installer

Il Pi VPN installer è una procedura guidata di configurazione pseudo-grafica perfetta per eseguire una connessione SSH. Quando il vostro schermo diventa blu e vi viene mostrato un messaggio dal programma di installazione, potete iniziare.

Per iniziare, premere enter per dire al Pi VPN wizard di configurazione guidata che siete pronti.

Sarete avvertiti che è necessario impostare un indirizzo IP statico. Vi consiglio di farlo prima di lanciare la procedura guidata di configurazione, quindi se non avete già impostato un indirizzo IP statico uscite ora e seguite le istruzioni della sezione precedente.

 

Pi VPN vi mostrerà l’indirizzo IP rilevato. Se questo è l’indirizzo IP statico impostato in precedenza, premere il pulsante Sì.

Sarete avvisati dei conflitti di indirizzi IP. Il modo più sicuro per evitare conflitti è quello di cercare sul router l’intervallo DHCP e di utilizzare un indirizzo IP statico al di fuori di tale intervallo.

Nel mio caso, sto usando 192.168.1.2 e il mio router assegna indirizzi DHCP tra 192.168.1.100 e 192.168.1.200 in modo che non ci sia pericolo di conflitti.

Premere Ok per andare avanti.

 

Nella maggior parte dei casi si vuole andare con l’utente di default pi, quindi assicurarsi che sia selezionato e premere il pulsante Ok.

Vi consiglio di fare clic su Sì per consentire aggiornamenti di sicurezza non presidiati sul vostro server Pi VPN. Il vostro Pi sarà esposto a Internet attraverso il port forwarding, quindi è particolarmente importante che il Pi VPN rimanga aggiornato.

Se cliccate No, fate attenzione a eseguire aggiornamenti regolari per conto vostro.

È normale che venga mostrata la console per un momento dopo aver configurato gli aggiornamenti automatici. Il programma di installazione tornerà dopo pochi secondi.

Nella maggior parte dei casi, si vorrà configurare la Pi VPN utilizzando il protocollo UDP. Se si prevede di utilizzare un fornitore di VPN in abbonamento per creare una connessione a doppio hop ultra sicura, utilizzare il protocollo TCP.

Prendete nota del numero di porta che state usando per la VPN Pi; ne avrete bisogno in seguito.

La porta 1194 è il default per UDP, mentre TCP è il default per la porta 443. Se state seguendo le istruzioni per creare una VPN a doppio salto, non usate la porta TCP di default o causerà un conflitto in seguito. Ho scelto invece la porta TCP 4430, perché era facile da ricordare.

Impostazione della crittografia

Ora potrete scegliere il vostro livello di crittografia. Prima ho delineato ogni scelta e perché potreste sceglierla. se non siete sicuri di quale scegliere, date un’occhiata al mio consiglio.

Selezionare il livello di crittografia che si desidera utilizzare con la barra spaziatrice, quindi premere OK. Sto scegliendo di eseguire la crittografia a 2048 bit in modo da poter trasmettere video in streaming sulla connessione.

 

La generazione di queste chiavi può richiedere un po’ di tempo. Se si utilizza una crittografia di alto livello, ci vorrà ancora più tempo. Siate pazienti e lasciate che Pi VPN generi le vostre chiavi del server.

Terminare l’installazione di PiVPN

Dopo che le chiavi del server sono state generate, la procedura guidata di configurazione della Pi VPN è quasi completa. Rimangono solo pochi passi fino a quando non è possibile connettersi.

 

Selezionare Utilizza questo IP pubblico a meno che non si disponga di un conto DNS dinamico. Se si utilizza il DNS dinamico, scegliere la voce DNS e inserire il proprio nome host e le impostazioni come di consueto.

 

Successivamente, dovrete scegliere un provider DNS per la vostra VPN. Raccomando Google per la maggior parte degli utenti, dato che è gratuito e facile. OpenDNS e Norton forniscono entrambi implementazioni DNS sicure se siete interessati a bloccare eventuali perdite di DNS. Potresti anche scegliere Custom se hai intenzione di gestire le richieste DNS con Pi-hole.

La procedura guidata di configurazione vi dirà come aggiungere utenti sulla riga di comando. Nella fase successiva, installeremo un’applicazione web per aiutare a gestire gli utenti. È anche possibile utilizzare pivpn add.

 

Infine, cliccate sul pulsante Sì e riavviate il vostro Raspberry Pi.

Installazione di PiVPN GUI

Pi VPN GUI è uno strumento web per Pi VPN. È opzionale, ma il suo utilizzo rende molto più semplice la gestione degli utenti e l’aggiunta di nuovi dispositivi. Vi consiglio di installarla.

Ogni volta che si aggiunge un utente a PiVPN, si genera un profilo *.ovpn. È possibile utilizzare l’interfaccia grafica Pi VPN sia per creare l’account utente che per facilitare il download del profilo.

Se si sceglie di non utilizzare la GUI Pi VPN, sarà necessario aggiungere e gestire gli utenti con i comandi pivpn add e pivpn remove. Dovrete anche copiare manualmente i profili *.ovpn che vengono generati, di solito utilizzando uno strumento a riga di comando come scp.

Prepararsi ad installare PiVPN GUI

Prima di installare Pi VPN GUI, è necessario aggiornare apt. Dovrete aggiungere un repository per scaricare tutto il software che Pi VPN GUI richiede. Ecco come fare.

Utilizzare nano per modificare l’elenco delle fonti di apt. Il comando è:

sudo nano /etc/apt/sources.list

Aggiungete la seguente riga a sources.list ovunque possiate trovare uno spot:

deb http://mirrordirector.raspbian.org/raspbian jessie main contrib non-free rpi

Questo dirà ad apt che va bene installare i pacchetti di Debian Jessie, un rilascio precedente. Questo è necessario perché alcuni dei software su cui Pi VPN GUI si basa non sono ancora stati aggiunti ai repository Debian stretch.

Sfortunatamente, avere un link ad una vecchia release nel file sources.list non è una buona pratica, anche se al momento ne abbiamo bisogno. Può causare conflitti in seguito, se si sceglie di installare altri software. È una buona idea rimuovere la linea appena aggiunta dopo l’installazione di questi pacchetti software.

 

Poi, salva e lascia il nano. Aggiornare apt con il comando:

sudo apt-get update

Una volta completato il controllo, installare eventuali pacchetti aggiornati con il comando:

sudo apt-get upgrade

Questo è tutto ciò che occorre fare per aggiungere il necessario repository ad apt. Ora, installare i prerequisiti per Pi VPN GUI con il seguente comando:

sudo apt-get install git apache2 php5 libapache2-mod-php5 php5-mcrypt expect geoip-bin


Premere Y quando richiesto e lasciare che il programma di installazione funzioni. Quando avete finito di installare il software, dovrete aggiornare alcuni file di configurazione prima di poter installare Pi VPN GUI.

Ora che il software prerequisito è installato, dovreste rimuovere la linea aggiunta da /etc/apt/sources.list ed eseguire nuovamente l’aggiornamento di sudo apt.

Aggiornamento della configurazione web di PiVPN

Pi VPN GUI è un’applicazione web, e ha bisogno di un server web apache per funzionare correttamente. Abbiamo installato apache nella fase precedente, ma ora devono essere apportate alcune modifiche prima che la Pi VPN GUI possa funzionare sul vostro server apache.

Per prima cosa, è necessario cambiare l’account utente sotto il quale gira apache. Il default è quello di un account non supportato, e dobbiamo farlo funzionare come pi utente. Modificare il file di configurazione di apache usando il comando:

sudo nano /etc/apache2/apache2.conf


Scorrere verso il basso fino a vedere la riga che dice Utente $(APACHE_RUN_USER) seguito da Gruppo.

Cambiare i valori per Utente e Gruppo in pi per entrambi. Poi premere Ctrl+X per uscire e Y per salvare.

Cambia poi il proprietario per la directory /var/wwww che apache usa per memorizzare i siti web. Con questo comando si può dare all’utente pi la proprietà della directory web:

sudo chown pi:pi -R /var/wwww

Quando avete finito, cambiate nella directory /var/wwww/html con questo comando:

cd /var/wwww/html

Si dovrebbe completare l’installazione di Pi VPN GUI da quella directory.

Scaricare e installare la GUI Pi VPN

Dopo tutto questo lavoro di impostazione, è in realtà molto facile scaricare e installare la GUI Pi VPN. Tutto quello che dovete fare è controllare il progetto utilizzando git. Se avete seguito la procedura, abbiamo installato l’utilità git in un passo precedente.

 

Assicuratevi di essere ancora nella directory /var/wwww/html ed eseguite il comando:

git clone https://github.com/AaronWPhillips/pivpn-gui

Il comando utilizzerà git per clonare la directory di progetto di Pi VPN GUI nella root del vostro webserver, rendendola disponibile come pagina web. Potete verificare se l’installazione è stata eseguita con successo usando il vostro browser.

Connessione alla GUI Pi VPN

Ora che l’interfaccia grafica Pi VPN è installata, è possibile aprirla nel browser e utilizzarla per gestire gli utenti Pi VPN. Ho installato Pi VPN al mio Pi Raspberry Pi con un indirizzo IP di 192.168.1.2, così posso trovare la Pi VPN GUI all’indirizzo

http://192.168.1.2/pivpn-gui.

Si dovrebbe utilizzare l’indirizzo IP corrispondente all’installazione e aprire la GUI Pi VPN nel browser.

Sarete in grado di capire se vi siete collegati con successo quando vedrete un prompt di login. Se non siete in grado di effettuare il login, dovrete riavviare il vostro Raspberry Pi.

Per ora, basta inserire un link alla GUI Pi VPN in modo da potervi tornare facilmente. Il passo successivo è l’impostazione di una connessione VPN in uscita al fine di crittografare la vostra connessione internet. Se preferisci non iscriverti a un servizio come IPVanish, puoi passare direttamente alla configurazione del tuo router e all’aggiunta di utenti.

Impostazione di una connessione VPN in uscita con PiVPN

Se non si imposta una connessione VPN in uscita, tutto il traffico proveniente dai dispositivi collegati alla VPN si collegherà a Internet utilizzando l’indirizzo IP pubblico della LAN. Ovunque vi connetterete, i siti web penseranno che vi state collegando da casa. Non è sempre una cosa negativa; per esempio, potreste voler guardare Netflix quando viaggiate all’estero.

Ma per ottenere il massimo da Pi VPN, vi consiglio di utilizzare un provider VPN in uscita e di creare quella che viene definita una connessione ‘double-hop’.

Il vantaggio di una connessione VPN a doppio hop è la crittografia completa end-to-end per il vostro internet mobile quando vi connettete a un sito tramite HTTPS. La sicurezza aggiunta va oltre il semplice fatto di avere due tunnel, poiché il server VPN in uscita non vede mai la richiesta originaria.

In termini pratici, ciò significa che qualsiasi registro che il vostro fornitore di VPN mantiene non sarà in grado di identificare il dispositivo da cui proviene ogni singola richiesta, e tutto si risolve nel vostro server Pi VPN. Si tratta di un altro livello di anonimato per tutto ciò che fai online.

Se state configurando Pi VPN solo per connettervi alla vostra rete domestica da remoto, potete saltare questo passaggio e andare avanti. Ma se siete interessati a creare una connessione internet sicura e anonima per i vostri telefoni, laptop, tablet e altri dispositivi, dovreste usare una connessione VPN in uscita insieme alla Pi VPN.

LETTORE: IPVanish offre una prova gratuita di 7 giorni per i clienti Comparitech se non avete già un provider VPN.

Utilizzo di un router gateway VPN abilitato

Se avete già un router gateway che supporta una connessione VPN in uscita, il vostro lavoro è finito. Poiché tutto il traffico lascerà la vostra rete domestica criptata dal router, avete effettivamente una VPN a doppio salto. In questo caso, potete fermarvi e connettere i vostri clienti.

Se siete interessati ad imparare a costruire un router abilitato alla VPN, o ne avete uno che vorreste impostare, abbiamo delle guide per questo. Se hai già un router abilitato per VPN e hai bisogno di configurarlo come client VPN, dai un’occhiata a come scegliere un provider VPN e configurare il tuo router.

Il resto di noi dovrà utilizzare il nostro Pi per gestire la connessione in uscita criptata e il routing necessari per creare un secondo hop VPN.

Utilizzo di IPVanish come VPN in uscita

La bassa latenza di IPVanish lo rende un’ottima scelta se si sta configurando una connessione VPN a doppio hop come questa, dato che la connessione è in attesa su due server VPN per gestire il traffico. Il processo sarà lo stesso per qualsiasi provider VPN che pubblichi profili OpenVPN per i propri server.

Dovrete scaricare un profilo autologin e il certificato digitale per il vostro provider VPN. Se si utilizza IPVanish, questi file sono disponibili per il download qui.

Un modo semplice per ottenere i file necessari sul vostro server Pi VPN è quello di connettersi via SSH e utilizzare il comando wget per scaricarli dal web. Assicuratevi che il vostro server Pi VPN sia connesso ad internet, poi cambiate nella directory appropriata e scaricate i file che vi servono con questi comandi:

cd /etc/openvpn
sudo wget http://www.ipvanish.com/software/configs/ca.ipvanish.com.crt
sudo wget http://www.ipvanish.com/software/configs/ipvanish-US-Chicago-chi-a01.ovpn

Si noti che si dovrebbe cambiare il secondo URL in modo che corrisponda al server IPVanish con cui ci si vuole collegare. Nel mio caso, sto usando un server IPVanish a Chicago.

Dal momento che vi connetterete a IPVanish automaticamente utilizzando il servizio OpenVPN, è importante rinominare il profilo *.ovpn autologin che avete appena scaricato. Il servizio OpenVPN si connetterà solo ai profili con estensione *.conf. Utilizzare questo comando per rinominare il file in outgoing.conf:

sudo mv /etc/openvpn/ipvanish-US-Chicago-chi-a01.ovpn /etc/openvpn/outgoing.conf

Ora che i file sono stati scaricati e preparati, siete pronti a configurare la connessione al vostro provider VPN in uscita.

Impostazione della connessione IPVanish

È più facile tenere traccia di due connessioni VPN simultanee se si rinomina ogni interfaccia per riflettere ciò che fa. Mi piace usare /dev/tun-incoming e /dev/tun-outgoing per fare riferimento alle diverse interfacce di rete.

Rinominare le interfacce assicura inoltre che le connessioni non si muovano avanti e indietro tra l’essere chiamate /dev/tun0 e /dev/tun1, a seconda di quale viene online per prima. I nomi dei dispositivi sono importanti per sapere se si vuole essere in grado di configurare correttamente il proprio firewall.

È possibile modificare il nome di ogni interfaccia modificando le impostazioni di connessione. Ad ogni connessione OpenVPN è associato un file *.config. Modificando le prime righe di ogni file si rinomina l’interfaccia di rete.

 

Iniziare modificando le impostazioni della Pi VPN, che si trova in /etc/openvpn/server.conf, con il seguente comando:

sudo nano /etc/openvpn/server.conf

Cambiare la prima riga da:

dev tun

A seguire, inserendo una nuova linea:

dev tun-incoming
tun di tipo dev
Premere Ctrl+X e poi Y per salvare le modifiche. La prossima volta che Pi VPN sarà online, creerà un dispositivo chiamato /dev/tun-incoming.

Dovrete modificare il file di configurazione in arrivo su /etc/openvpn/outgoing.conf allo stesso modo. Apritelo con questo comando:

sudo nano /etc/openvpn/outgoing.config

Come prima, cambiare la prima riga e inserirne una seconda in cima al file di configurazione. Questa dovrebbe essere letta:

dev tun-outgoing
tun di tipo dev

Ma la connessione VPN in uscita necessita anche di altre modifiche. Dovrete puntare al certificato del server che avete scaricato in un passaggio precedente, e fornire il vostro nome utente e la password in modo che la VPN possa connettersi automaticamente.

Modificare il file outgoing.conf per utilizzare il certificato del server IPVanish. Cambiare la linea che inizia con ca per leggere:

ca /etc/openvpn/ca.ipvanish.com.crt

Poi aggiornare o aggiungere l’auth-user-pass per puntare IPVanish al vostro file di password, che creeremo presto:

auth-user-pass /etc/openvpn/passwd

La vostra connessione VPN in uscita deve anche essere informata di non inoltrare il traffico LAN. Dovrete aggiungere questa linea alla fine del vostro file outgoing.conf per poter accedere alla vostra rete locale attraverso Pi VPN:

percorso 192.168.1.0 255.255.255.255.255.0 192.168.1.1

Ricordatevi di usare l’indirizzo IP corretto per la vostra LAN se è diverso dal mio sopra. Salvate le vostre modifiche in /etc/openvpn/outgoing.conf in nano premendo Ctrl+X, poi Y.

 

Ora, create un file di password che OpenVPN può utilizzare per accedere a IPVanish con le vostre credenziali. Il formato di questo file non potrebbe essere più semplice, è solo il tuo nome utente sulla prima riga e la tua password sulla seconda. Usa questo comando per creare il file e aprirlo per la modifica:

sudo nano /etc/openvpn/passwd

Inserite il vostro indirizzo e-mail sulla prima riga e la vostra password sulla seconda, poi premete Ctrl+X, Y per salvare il file. Poiché /etc/openvpn/passwd contiene le vostre credenziali in chiaro, è importante che il file sia protetto. È possibile bloccare l’accesso a /etc/openvpn/passwd utilizzando chmod in questo modo:

sudo chmod +600 /etc/openvpn/passwd

In questo modo solo l’utente root potrà leggere o scrivere il file passwd, che è il livello minimo di sicurezza di cui avete bisogno quando memorizzate le vostre credenziali in chiaro.

Aggiornamento della tabella di routing del vostro Raspberry Pi

Prima di poter portare online la VPN in uscita per rendere sicura la connessione a Internet, è necessario impostare il vostro Raspberry Pi per instradare il traffico in modo corretto. Ricordatevi di sostituire l’indirizzo IP statico del vostro Pi se è diverso dal mio qui sotto.

Dovrete creare o modificare /lib/dhcpcd/dhcpcd/dhcpcd-hooks/40-routes e aggiungere qualche riga. Ecco il comando:

sudo nano /lib/dhcpcd/dhcpcd-hooks/40-routes

Aggiungete queste due righe allo script:

regola ip aggiungere da 192.168.1.2 ricerca 101
ip route add default via 192.168.1.1 tabella 101

Poi premere Ctrl+X, Y per salvare le modifiche.

Questa è l’unica modifica che dovrete apportare al tavolo di routing del vostro Raspberry Pi. Dopo aver salvato le modifiche e riavviato il Pi, sarete in grado di eseguire contemporaneamente le connessioni VPN in entrata e in uscita.

Assicurare le vostre richieste DNS

Per rendere la vostra connessione veramente sicura, è necessario assicurarsi di fermare le perdite di DNS. Una perdita DNS si verifica quando la vostra connessione VPN sicura cerca siti web utilizzando un server DNS al di fuori della rete criptata. Questo espone i vostri client VPN a pericoli come la registrazione DNS e gli attacchi man-in-the-middle.

La soluzione consiste nel forzare tutti i client VPN in entrata a utilizzare il server DNS sicuro del vostro fornitore di VPN in uscita. In questo caso, costringerò i miei client a utilizzare i server DNS di IPVanish.

Per modificare i vostri server DNS senza dover reinstallare Pi VPN, dovrete aggiornare /etc/openvpn/server.conf. Apritelo per la modifica utilizzando questo comando:

sudo nano /etc/openvpn/server.conf

Scorrere il file fino a visualizzare le due linee che spingono le impostazioni DNS ai client VPN. Inizialmente ho installato Pi VPN utilizzando i server DNS di Google, quindi le due linee che devono essere modificate nel mio server.conf hanno questo aspetto:

premere "dhcp-opzione DNS 8.8.8.8.8".
premere "dhcp-opzione DNS 8.8.4.4".
Se si utilizza IPVanish, cambiare queste righe per leggere:

premere "dhcp-opzione DNS 198.18.0.1".
premere "dhcp-opzione DNS 198.18.0.2".

Se si utilizza un altro fornitore di VPN, è necessario cercare online per trovare i loro server DNS.

Una volta modificato il file, salvatelo con Ctrl+X, Y. Le vostre modifiche avranno effetto la prossima volta che il servizio OpenVPN verrà riavviato, e i vostri client VPN useranno automaticamente i server sicuri di IPVanish.

Connessione a IPVanish

Prima di impostare OpenVPN per connettersi automaticamente al provider VPN in uscita, è necessario testare la connessione. Dalla riga di comando, digitare:

sudo servizio openvpn@outgoing start
Lo schermo si riempie di testo che mostra lo stato della connessione VPN. Controllate due volte /etc/openvpn/outgoing.conf se avete problemi di connessione, e assicuratevi che il vostro nome utente e la password siano corretti e su linee separate in /etc/openvpn/passwd.

Quando ti sei connesso con successo, disconnettiti dalla VPN premendo Ctrl + C. L’ultimo passo nella creazione di una connessione VPN in uscita è l’impostazione di autostart.

Avvio automatico delle connessioni VPN

Una volta che la connessione è stata testata bene, si dovrebbe impostare entrambe le connessioni VPN per l’avvio automatico. OpenVPN semplifica la procedura consentendo di fare riferimento ad ogni connessione in base al nome del file di configurazione.

Per iniziare, è necessario modificare il file di configurazione globale di OpenVPN con questo comando:

sudo nano /etc/default/openvpn

Allora scordatevi questa battuta:

AUTOSTART="ufficio a casa"
E cambiarlo per leggerlo:

AUTOSTART="server in uscita"


Una volta terminato, salvare le modifiche con Ctrl+X, Y e riavviare il server Pi VPN con il seguente comando:
sudo reboot

Quando il vostro Pi Raspberry Pi si riavvia, il vostro server Pi VPN sarà connesso al provider VPN in uscita e pronto per iniziare a gestire le connessioni in entrata.

Impostazioni del router Pi VPN

L’idea di una VPN è che si tratta di un tunnel che va dall’esterno della rete all’interno. Ciò significa che è necessario configurare il router per consentire il passaggio di alcune connessioni. Lo facciamo utilizzando il port forwarding, e può essere molto facile o un po’ più difficile a seconda del router.

Per questa guida sto utilizzando un router Linksys modello di ingresso, ma ogni router consumer supporta il port forwarding. La procedura potrebbe essere un po’ diversa, ma la maggior parte dei produttori di router offre guide sul web per il port forwarding.

Inoltro della porta VPN

Nessun client VPN può connettersi alla rete a meno che non si inoltri la porta specificata in precedenza. Normalmente tutte queste richieste sono bloccate dal vostro router per motivi di sicurezza, ma dobbiamo fare un’eccezione speciale. In questo caso, è perché dobbiamo permettere ai client VPN di connettersi a Pi VPN attraverso Internet.

 

Iniziate accedendo al vostro router. Nella maggior parte dei casi, è possibile farlo cliccando qui o qui. Altrimenti trovate l’indirizzo IP del vostro router e incollatelo in un browser.

Una volta effettuato il login, fare clic sui menu fino a trovare il port forwarding. Nel mio caso, è in Apps and Gaming – Firewall Settings.

Fare clic per aggiungere una nuova porta. È necessario conoscere il numero di porta, che è stato selezionato in precedenza. Avrete anche bisogno dell’indirizzo IP statico del vostro server Pi VPN. Nel mio caso, questa è la porta 1134 e 192.168.1.2.

Fate clic su Save quando avete impostato il port forwarding. Ora i client VPN saranno in grado di effettuare il login quando si trovano al di fuori della rete locale.

Nota per i clienti di Comcast Xfinity

Non sono riuscito a far avanzare correttamente il mio router Comcast Xfinity alle porte di inoltro. Il problema è stato che il mio router ha un sistema di rilevamento delle intrusioni (IDS) integrato, che viene usato un po’ come un firewall per fermare gli attacchi malevoli alla rete domestica. L’IDS non può essere disattivato e la connessione a una VPN attraverso il tuo router Comcast lo attiva, bloccando la connessione.

La mia soluzione è stata quella di mettere il router Xfinity in modalità bridge e di collegarvi un router wireless. Poi sono stato in grado di utilizzare il router wireless per attivare il port forwarding e consentire le connessioni alla mia VPN. Se sei un utente Comcast che ha problemi con il port forwarding, lascia un commento qui sotto per chiedere aiuto.

Gestione degli utenti Pi VPN

Ogni dispositivo che si connette alla VPN deve avere un account utente associato. Quando si crea ogni account, Pi VPN genererà un profilo OpenVPN. In seguito, utilizzerete quei profili *.ovpn sui vostri dispositivi per impostarli automaticamente.

Creazione di profili con Pi VPN GUI

Ecco come aggiungere utenti alla Pi VPN. Quando hai finito, potrai scaricare il profilo necessario per connetterti alla tua rete privata.

Installazione di un client VPN Pi mobile

Se vi connetterete a Pi VPN su un dispositivo mobile, vi consiglio OpenVPN Connect, il client ufficiale. E’ completamente gratuito e si integra molto bene con iOS e Android.

Il primo passo è quello di aprire l’App Store o Play Store, a seconda del dispositivo. In entrambi i casi, cercare OpenVPN Connect. Accettare i termini e installare l’app come al solito.

Vedi anche: Come installare il client e il server OpenVPN su un router DD-WRT

Importazione del profilo autologin PiVPN

Dovrete assicurarvi di essere connessi alla vostra rete domestica tramite wifi, quindi aprire la GUI Pi VPN in un browser. Ricordate che il percorso è stato impostato molto prima e include l’indirizzo IP locale del vostro server Pi VPN. Nel mio caso, è http://192.168.1.2/pivpn-gui/.

Effettuare il login con il nome utente pi e la password corretta.

Utenti iOS: Si noti che Pi VPN GUI funziona correttamente solo in Safari. Gli utenti Android possono connettersi con il browser di loro scelta.

Trovate il profilo che avete creato per il vostro dispositivo mobile e cliccate sul pulsante Download.

Utilizzare OpenVPN connect per importare il file *.ovpn. Quando OpenVPN Connect si avvia, fare clic sul più verde. La connessione Pi VPN è pronta per la connessione.

Connessione alla PiVPN

Non resta che aprire il tunnel verso la VPN Pi utilizzando l’applicazione OpenVPN Connect.

Nell’app, fare clic sul pulsante “toggle” per avviare la connessione. Dovrebbe diventare verde, e il telefono visualizzerà un badge VPN nell’area di notifica.

È possibile controllare per assicurarsi che la connessione VPN funziona visitando un sito come http://www.ipaddress.com. Se non stai aggiungendo un computer alla tua VPN, hai finito e puoi passare alla sezione successiva.

Installazione di un client Pi
VPN sul tuo computer

Sono disponibili molti diversi client VPN per Windows e Mac, ma consiglio il client ufficiale OpenVPN. È gratuito e facile da installare e consente di importare la connessione Pi VPN con pochi clic.

Scaricate qui il client ufficiale e installatelo come fareste con qualsiasi altro programma.

Importazione del profilo autologin PiVPN

Se il computer che state aggiungendo alla VPN è sulla vostra LAN, potete scaricare il profilo autologin dalla GUI di Pi VPN. Sfogliate il percorso dove avete installato in precedenza la GUI Pi VPN, nel mio caso si tratta di http://192.168.1.2/pivpn-gui/.

 

 

Se il computer che state aggiungendo Pi VPN è in una posizione remota, non sarete in grado di connettervi direttamente alla GUI Pi VPN. In tal caso, sarà necessario scaricare il profilo autologin utilizzando un dispositivo sulla LAN. Una volta scaricato, allegatelo ad una e-mail e inviatelo al vostro computer remoto. Potete scaricare il profilo dalla vostra e-mail e continuare come al solito.

Una volta scaricato il profilo autologin, fare clic con il tasto destro del mouse sull’icona OpenVPN nella barra delle applicazioni e cliccare su Importa.

Connessione a Pi VPN

Dopo aver aggiunto la connessione Pi VPN, fare clic con il tasto destro del mouse sull’icona OpenVPN nella barra delle applicazioni e cliccare sul nome del profilo per connettersi.

Apparirà una finestra di stato con il registro delle connessioni. Se il computer non si connette correttamente, è possibile copiare e incollare il codice di errore per capire cosa è andato storto. Nella maggior parte dei casi, se non è possibile connettersi alla VPN, è perché il port forwarding non era abilitato correttamente.

Una volta connessi, assicurarsi che la VPN funzioni visitando un sito web come http://www.ipaddress.com.

Altre idee per Pi VPN e la vostra rete

Avere un server accessibile da qualsiasi luogo lo rende il candidato perfetto per molti progetti diversi. Ecco alcune idee per il vostro Raspberry Pi ora che avete completamente finito di configurare il vostro server VPN Pi.

Bloccare il firewall

Raspberry Pi viene fornito con un firewall molto permissivo di progettazione, ma è una buona idea essere più restrittivi quando si esegue un server VPN.

Ecco alcune regole di esempio per iniziare. Ricordatevi di sostituire il PROTOCOLLO e il PORT con quello che avete scelto per il vostro server VPN Pi. Le linee che iniziano con # sono commenti e non hanno bisogno di essere digitati.

#Accetta il traffico in entrata su tutte le interfacce, ma limita eth0 solo alle VPN
sudo iptables -A INPUT -i eth0 -m stato --stato NUOVO -p PROTOCOLLO --dport PORT -j ACCETTO
sudo iptables -A INPUT -i tun-incoming -j ACCETTO
sudo iptables -A INPUT -i tun-out -j ACCETTO
#Consentire il traffico di inoltro tra le sottoreti
sudo iptables -A AVANTI -i tun-incoming -j ACCETTO
sudo iptables -A FORWARD -i tun-out-out -j ACCETTO
#Traffico in avanti attraverso eth0
sudo iptables -A FORWARD -i tun-incoming -o eth0 -m stato --stato RELATIVO,ISTITUITO -j ACCETTO
sudo iptables -A FORWARD -i tun-outgoing -o eth0 -m stato --stato RELATIVO,ISTITUITO -j ACCETTO
#Forward traffic through tun-incoming
sudo iptables -A FORWARD -i eth0 -o tun-incoming -m stato -stato -stato RELATIVO,ISTITUITO -j ACCETTO
sudo iptables -A FORWARD -i tun-outgoing -o tun-incoming -m stato --stato RELATIVO,ISTITUITO -j ACCETTO
#Forward traffic through tun-outgoing
sudo iptables -A FORWARD -i eth0 -o tun-outgoing -m stato -stato -stato RELATIVO,ISTITUITO -j ACCETTO
sudo iptables -A FORWARD -i eth0 -o tun-outgoing -m stato -stato -stato RELATIVO,ISTITUITO -j ACCETTO
#MASQ tun-incoming come eth0
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0.0/24 -o eth0 -j MASQUERADE

Una volta terminato, usare questo comando per salvare le modifiche:

sudo iptables-persistent save

Ricordate che potete elencare le regole iptables attualmente attive con il comando:

sudo iptables -L

Passare al DNS dinamico

Dynamic DNS adds consente di utilizzare un nome host invece di un indirizzo IP per connettersi al server Pi VPN, anche se non si dispone di un indirizzo statico dal proprio ISP. Per esempio, potreste usare il DNS dinamico per reindirizzare vpn.websitename.com al vostro server VPN. Se state pensando di ospitare servizi web o e-mail, in molti casi è possibile eseguire tutto dallo stesso Pi.

E ‘meglio eseguire nuovamente il Pi VPN installer se si sta andando a passare al DNS dinamico. Ma una volta aggiornate le impostazioni, sarete in grado di accedere al vostro server Pi VPN all’URL personalizzato che avete selezionato.

Il passaggio al DNS dinamico elimina la necessità di riemettere i profili client Pi VPN ad ogni cambio di indirizzo IP pubblico.

Impostare un fileserver

Il tuo Raspberry Pi è un ottimo Samba fileserver. Potete collegare alcune unità USB, installare lvm2 per creare un unico gigantesco filesystem che copra tutti i dischi e condividere i vostri file con i client VPN.

Abilitare Samba attraverso la vostra VPN richiede un po’ di lavoro, ma è estremamente utile per poter accedere ai vostri file, musica e film dai vostri dispositivi mobili.

Installare Pi-hole

Quando si imposta il provider DNS durante l’installazione della Pi VPN, si può facilmente installare Pi-hole, cambiare il provider DNS personalizzato a 127.0.0.1 e bloccare automaticamente gli annunci mobili attraverso la VPN.

L’esecuzione di Pi-hole su una connessione VPN è il modo migliore per bloccare gli annunci mobili senza dover effettuare il rooting del telefono. È anche possibile disattivare gli annunci pre-roll Youtube e smettere di vedere i prodotti sponsorizzati su Amazon. Date un’occhiata alla guida Comparitech a Pi-hole per saperne di più.

Esegui una seedbox

Se avete una VPN in uscita attiva e funzionante, la vostra connessione internet è completamente criptata. Avere una connessione internet anonima è ottimo per il torrenting, e trasformare il vostro server Pi VPN in una seedbox con Trasmissione è davvero facile.

Poiché la connessione è già criptata, basta installare Transmission e il web client. Sarete in grado di aggiungere torrenti dal vostro telefono o dal portatile, che potrete scaricare a casa.

Mani in alto con PiVPN

Non credo di raccontare segreti quando dico che sono un enorme nerd. La mia rete domestica è piena di dispositivi intelligenti come le luci Hue, un termostato Nest e un paio di altoparlanti Sonos. Ho un fileserver con Transmission, un server Plex, dispositivi che eseguono Kodi, e un mucchio di dispositivi come una stampante di rete e un server DNS che esegue Pi-hole per bloccare gli annunci mobili.

Se la vostra rete di casa è come la mia, vi direi che la Pi VPN è una vera e propria rivoluzione. Non solo sono riuscito a spegnere ogni porta salvandone una sul mio firewall, ma il mio internet mobile è completamente criptato e posso accedere alla mia LAN da qualsiasi luogo. La sicurezza della mia rete è notevolmente migliorata e non devo configurare il port forwarding sul mio router ogni volta che aggiungo un nuovo dispositivo.

Una volta passato un pomeriggio a configurare le cose, la Pi VPN è quasi incredibilmente buona. Tanti progetti per Raspberry Pi sono appariscenti e divertenti, ma alla fine sono piuttosto inutili. Sono felice di poter dire che il Pi VPN è un’enorme eccezione.

 


SCARICA LA GUIDA UFFICIALE A RASPBERRY PI CON OLTRE 200 PROGETTI


Per ulteriori informazioni visita il sito: immagi.net

Condividi questo articolo: