In questo articolo troverete un tutorial su come configurare un server VPN da un Raspberry Pi utilizzando il software OpenVPN. Vi spiegherò anche come assicurarvi che la vostra connessione sia il più sicura possibile, impostando le chiavi di crittografia.
Questo progetto può essere un po' lungo, ma è un tutorial relativamente semplice da seguire e non dovrebbe richiedere ulteriori interazioni una volta impostato.
L'uso di un Raspberry Pi è un modo economico per impostare una rete privata virtuale (VPN) che può rimanere online 24 ore su 24, 7 giorni su 7, senza consumare grandi quantità di energia. Il Raspberry Pi è abbastanza piccolo e potente da gestire poche connessioni alla volta, il che lo rende ideale per l'uso privato a casa.
Le VPN sono uno strumento di rete incredibilmente utile che consente di accedere a un traffico Internet crittografato e sicuro, anche quando si utilizza una rete Wi-Fi pubblica. Ma si possono usare anche per connettersi al proprio computer e accedere alla rete domestica. Consente agli altri dispositivi esterni alla rete locale di comportarsi come se fossero sulla rete locale del server VPN. Ad esempio, se avete un Server NAS a cui si vuole accedere quando si è in viaggio, un server VPN sarà estremamente utile per garantire l'accesso a questo server.
Cosa serve per costruire il proprio server VPN
Di seguito sono riportati tutti gli elementi che ho utilizzato per questa esercitazione sul server VPN Raspberry Pi. Non c'è nulla di speciale oltre all'hardware di base.
Un lampone (funziona con tutti i modelli Raspberry, anche il Pi zero)
Una scheda micro SD (minimo 8 GB)
Un cavo internet o un adattatore Wifi (per i modelli Raspberry senza WiFi)
Una scatola di lamponi (opzionale)
Tastiera e mouse USB (opzionale)
Preparazione del Raspberry Pi
Prima di iniziare a configurare il server VPN di Raspberry Pi, ci sono alcune cose da controllare per essere sicuri di essere pronti a configurarlo e utilizzarlo.
Prima di tutto, per questo tutorial è importante sapere che sto usando una versione pulita di Raspbian. Se non l'avete ancora installata e volete imparare a farlo, troverete molti tutorial online su come installare Raspbian su un Raspberry.
Prima di tutto, assicuratevi di aver davvero bisogno di una VPN prima di iniziare a configurarla, poiché può fungere da gateway per la vostra rete domestica.
Se intendete utilizzare una VPN, assicuratevi che tutti i computer della vostra rete domestica siano sicuri e che non condividiate nulla all'interno della vostra rete locale a cui non vorreste che qualcuno potesse accedere.
Preparazione dell'indirizzo IP del server VPN
È importante decidere se si intende utilizzare un indirizzo IP o un indirizzo IP dinamico. L'impostazione di una VPN per un indirizzo IP statico è un processo abbastanza semplice e non richiede lavoro aggiuntivo.
Tuttavia, se si desidera utilizzare un indirizzo IP dinamico, è necessario configurare il DNS dinamico in anticipo. Dovrete quindi decidere se utilizzare il vostro nome di dominio o un nome di dominio gratuito. Se volete usare il vostro nome di dominio, potete utilizzare un servizio come CloudFlare. Se si desidera utilizzare un sottodominio gratuito, sarà utile un servizio come no-ip.org.
Ricordare il nome di dominio configurato per uno dei seguenti elementi Cloudflare o no-ip.org perché ne avrete bisogno più avanti nel corso dell'esercitazione.
Port forwarding per la VPN di Raspberry Pi
La terza cosa importante da fare prima di iniziare a configurare il Raspberry Pi è reindirizzare la porta per il software OpenVPN.
La porta predefinita da reindirizzare è la seguente 1194
. Non dimenticate la porta che avete definito, perché vi servirà più avanti nel corso dell'esercitazione. Il protocollo da utilizzare per questa porta è il seguente UDP
.
Installazione del server VPN
1. La configurazione di un server VPN per Raspberry Pi può essere piuttosto complicata: di solito è necessario installare il software, generare le chiavi di crittografia, aggiungere la porta al firewall, configurare il Pi per mantenere un indirizzo IP statico e molto altro ancora.
Fortunatamente per noi, esiste un modo molto più semplice per configurare un server VPN Raspberry Pi utilizzando uno script di installazione chiamato PiVPNche si occupa di tutte le operazioni di configurazione di una VPN e riduce il rischio di errori.
Prima di iniziare, è necessario modificare la password predefinita dell'utente Pi, per garantire che se qualcuno riesce ad accedere alla VPN, non sia in grado di accedere facilmente al vostro Raspberry Pi.
passwd
2. Una volta modificata la password, possiamo iniziare a configurare il nostro server VPN sul Raspberry Pi. Possiamo iniziare questo processo eseguendo il comando sottostante, che scarica lo script di installazione dal file Pagina GitHub di PiVPN e lo esegue.
Normalmente, l'esecuzione di uno script direttamente da un URL non è una buona idea, poiché può essere un modo semplice per accedere al vostro Raspberry Pi e fare danni seri.
Tuttavia, si tratta di una fonte affidabile che abbiamo verificato, quindi se volete controllare voi stessi il codice, basta andare su la posizione dello script.
ricciolo -L https://install.pivpn.io | bash
3. Una volta eseguito il comando di cui sopra, dovrebbe apparire la seguente schermata. Questa schermata contiene un testo che indica che si sta per installare OpenVPN.
Per passare alla schermata successiva, premere il tasto ENTRARE.
4. La schermata successiva spiega che è necessario configurare un indirizzo IP statico per la VPN.
Ciò significa che quando il Raspberry Pi viene riavviato, cercherà di utilizzare lo stesso indirizzo IP. Se l'indirizzo IP locale cambia, si potrebbe perdere l'accesso alla VPN.
5. A questo punto verrà chiesto se si sta utilizzando una prenotazione DHCP sul router.
Se non si sa cosa sia una prenotazione DHCP o come usarla, selezionare <No>
per continuare.
6. Selezionare qui per impostare l'indirizzo IP e il gateway corrente come statico.
Se non si è soddisfatti dell'indirizzo IP visualizzato in questa pagina, selezionare <No>
.
7. Questa schermata avverte che il router potrebbe assegnare l'indirizzo IP a un altro dispositivo.
Per evitare questo problema è possibile utilizzare le prenotazioni DHCP. Tuttavia, la maggior parte dei router è abbastanza intelligente da evitare questo problema.
Per continuare, selezionare <Ok>
e premere il tasto ENTRARE.
8. Questa schermata spiega che è necessario definire un utente che sarà il proprietario dei file di configurazione di OpenVPN.
Selezionare <Ok>
e premere ENTRARE per passare alla schermata successiva.
9. Ci viene presentato un elenco di utenti che possono possedere i file di configurazione della VPN per il nostro Raspberry Pi.
In questa esercitazione, si utilizzerà il metodo pi
. Se si desidera utilizzare un altro utente, utilizzare l'opzione FRECCIA e BARRA SPAZIALE per selezionarlo.
Una volta soddisfatti della selezione, premere il tasto ENTRARE per continuare.
10. A questo punto vi viene chiesto di selezionare il tipo di VPN che volete installare sul vostro Raspberry Pi.
Le due scelte sono WireGuard e OpenVPN.
Per questa guida, utilizzeremo OpenVPN sul nostro Raspberry Pi (1.). Utilizzare il FRECCIA e il BARRA SPAZIALE per selezionarlo.
Dopo aver selezionato OpenVPN
premere il tasto ENTRARE per continuare (2.).
10. A questo punto si può decidere se personalizzare l'installazione di OpenVPN sul Raspberry Pi.
Le impostazioni scelte dal team di PiVPN sono le migliori per la maggior parte degli utenti. Tuttavia, è possibile modificarle se lo si desidera.
Per la nostra guida, ci atterremo alle impostazioni predefinite.
Per continuare, selezionare <No>
quindi premere il tasto ENTRARE.
11. Ora selezioneremo la porta attraverso la quale OpenVPN opererà.
Per questa esercitazione, ci atterremo alla porta predefinita di 1194
. Si dovrebbe cambiare la porta solo se si ha una buona ragione per farlo.
Una volta definita la porta, selezionare <Ok>
e premere ENTRARE.
14. Verrà chiesto di confermare la porta definita per l'installazione di OpenVPN.
Se si è soddisfatti della porta scelta, selezionare per continuare.
15. Il passo successivo consiste nel selezionare un provider DNS. Un provider DNS è quello che risolve un URL come https://monserveurnas.com
in un indirizzo IP.
Nella nostra guida, utilizzeremo i server DNS di Cloudflare. Cloudflare cancella i suoi log ogni 24 ore e non tiene traccia dell'indirizzo IP della richiesta.
Per selezionare Cloudflare o un altro provider DNS, è necessario utilizzare l'opzione FRECCIA (1.).
Una volta che si è passati sopra il provider DNS desiderato, premere il tasto BARRA SPAZIALE per selezionarlo.
Quando si è sicuri di aver fatto la scelta giusta, si può premere il tasto ENTRARE per continuare.
16. È necessario decidere se utilizzare il proprio indirizzo IP pubblico o un nome DNS.
Se si utilizza un indirizzo IP dinamico, si consiglia di utilizzare l'opzione del nome DNS pubblico. Poiché stiamo utilizzando un indirizzo IP pubblico statico, in questa guida utilizzeremo solo il nostro indirizzo IP pubblico.
È possibile passare da un'opzione all'altra utilizzando i tasti FRECCIA . Una volta trovato quello desiderato, premere il tasto BARRA SPAZIALE per selezionarlo.
17. Questo passaggio indica semplicemente che lo script PiVPN sta per generare la chiave HMAC e la chiave del server.
Queste chiavi fanno parte della parte criptata della VPN del Raspberry Pi.
Premere il tasto ENTRARE per continuare la guida.
18. Ora vi forniremo una semplice spiegazione degli aggiornamenti automatici.
Questa funzione consente al sistema operativo di Raspberry Pi di scaricare automaticamente gli aggiornamenti di sicurezza su base giornaliera.
Premere il tasto ENTRARE per accedere alla pagina di configurazione di questo parametro.
19. In questa schermata, si consiglia vivamente di attivare gli aggiornamenti automatici selezionando . Attivando questa opzione, si può garantire che il Raspberry Pi abbia sempre gli ultimi aggiornamenti.
Lasciare questa funzione disattivata può rappresentare un rischio significativo per la sicurezza della VPN del Raspberry Pi e potenzialmente della rete domestica.
Una volta effettuata questa operazione, premere il tasto ENTRARE per confermare le impostazioni.
20. L'installazione di OpenVPN sul Raspberry Pi è terminata.
Sebbene rimangano ancora alcuni elementi da completare per abilitare le connessioni, a questo punto sono stati superati circa 90 % di questa guida all'installazione.
21. A questo punto, una schermata ci chiederà di riavviare il Raspberry Pi.
Selezionare l'opzione nelle due schermate successive, premendo il tasto ENTRARE.
Riavviare il Raspberry Pi dopo l'installazione di OpenVPN è un passo fondamentale.
Configurazione del primo utente OpenVPN
1. Normalmente, la configurazione di un utente per OpenVPN sarebbe un processo noioso in quanto si dovrebbero generare i singoli certificati per l'utente, fortunatamente possiamo farlo con un solo comando grazie a PiVPN.
Per iniziare ad aggiungere l'utente, eseguire il seguente comando:
sudo pivpn aggiungere
In questa schermata, è necessario immettere una nome per il cliente e questo nome sarà usato come identificativo per poter distinguere i diversi clienti.
Verrà inoltre richiesto di definire un password È importante che questa password sia sicura e difficile da indovinare, in quanto garantirà la chiave di crittografia.
Pertanto, se qualcuno può facilmente indovinare la password, la sicurezza della VPN si riduce notevolmente.
Una volta premuto Invio, lo script PiVPN chiederà a Easy-RSA di generare la chiave privata RSA a 2048 bit per il client, e quindi di memorizzare il file nella cartella /home/pi/ovpns
.
/home/pi/ovpns
è la cartella a cui dovremo accedere nei prossimi passi per copiare il file generato sui nostri dispositivi.
Assicuratevi di conservare questi file in un luogo sicuro, poiché sono l'unico mezzo per accedere alla vostra VPN.
2. Ora che il nostro nuovo cliente è stato configurato per OpenVPN con la nostra passphrase, ora dobbiamo inviarlo al dispositivo da cui intendiamo connetterci.
Il modo più semplice per farlo è utilizzare SFTP dalla rete domestica.
Assicuratevi di aver installato un programma come FileZilla in grado di gestire le connessioni SFTP prima di continuare con questa esercitazione.
Per iniziare, colleghiamoci al nostro Raspberry Pi tramite SFTP. Non dimenticate di digitare sftp://
davanti all'indirizzo IP del Raspberry Pi.
Se non si dispone dell'indirizzo locale del proprio Pi, utilizzare il comando nome host -I
nel terminale.
Dopo aver inserito l'indirizzo IP, il nome utente e la password, premere il pulsante di connessione rapida.
3. Una volta effettuato l'accesso, occorre cercare il file ovpns perché è lì che si trova il file che ci serve.
Una volta trovato il file, fare doppio clic su su questo.
4. A questo punto è sufficiente trascinare l'elemento .ovpn
che si desidera conservare in un luogo sicuro sul proprio computer. Questo file contiene i dati necessari per la connessione alla VPN.
È anche l'unico modo in cui qualcuno può accedere alla vostra VPN, quindi è molto importante tenere la passphrase e il file al sicuro.
Se qualcuno vi accede, può potenzialmente causare danni alla rete.
5. Ora abbiamo il .opvn
sul nostro dispositivo, possiamo usarlo per stabilire una connessione con la nostra VPN.
Il .opvn
contiene tutto ciò che serve per stabilire una connessione sicura. Contiene l'indirizzo web a cui collegarsi e tutti i dati di crittografia necessari.
L'unica cosa che non contiene è la vostra passphrase, quindi dovrete inserirla quando vi connetterete alla VPN.
Il client che utilizzeremo è quello ufficiale di OpenVPN, che si può ottenere dal sito ufficiale di OpenVPN.
Scaricare e installare questo client, la prima volta che viene eseguito si riduce automaticamente a icona nella barra delle applicazioni, fare clic con il pulsante destro del mouse sull'icona e selezionare "Importa un file...".
6. Viene visualizzata una schermata di esplorazione dei file, in cui è possibile navigare nella posizione in cui è stato salvato il file. .opvn da prima.
Una volta trovato, doppio clic il file da importare nel client OpenVPN.
7. A questo punto dovrebbe apparire una finestra di dialogo che indica che il file è stato importato con successo in OpenVPN.
Solo clicca il " OK"per continuare.
8. Ora cliccate con il tasto destro del mouse l'icona del client OpenVPN nella barra delle applicazioni, questa volta clicca il pulsante " Collegare" .
9. Il client OpenVPN tenterà ora di leggere i dati nel file .opvn
.
Poiché abbiamo definito una passphrase, vi verrà chiesto di inserire la passphrase definita in precedenza in questa esercitazione.
Una volta sicuri di aver inserito la passphrase giusta, clicca il pulsante " OK" .
10. Il client OpenVPN tenterà ora di connettersi al server VPN sul Raspberry Pi. Se l'icona OpenVPN diventa verde, la connessione alla VPN è avvenuta con successo.
Tuttavia, se l'icona diventa gialla e non torna verde dopo 60 secondi, significa che qualcosa sta facendo fallire la connessione.
Nella maggior parte dei casi, l'interruzione della connessione è dovuta a problemi di port forwarding. Il mio router, ad esempio, ha molti problemi di port forwarding.
Il modo più semplice è cercare su Google il numero di modello del router per cercare di trovare assistenza sui problemi che si possono incontrare con il port forwarding.
Alcuni provider di servizi Internet (ISP) bloccano anche porte specifiche. È quindi consigliabile verificare che il proprio ISP non blocchi la porta che si intende utilizzare.
Se si utilizza un DNS dinamicoAssicurarsi che il servizio sia correttamente aggiornato con l'ultimo indirizzo IP. Se l'indirizzo IP è cambiato ma non l'impostazione DNS, la connessione fallirà.
Con un po' di fortuna, ora avete una VPN completamente funzionante a cui potete collegarvi con successo.
Disinstallare la VPN sul vostro Pi
1. Se, per qualsiasi motivo, si desidera rimuovere la VPN dal Raspberry Pi, è sufficiente utilizzare il seguente comando.
Questo comando utilizza il software pivpn per disinstallare il tunnel VPN.
sudo disinstallare pivpn
Spero che questa guida vi abbia mostrato come configurare un server VPN per Raspberry Pi e che non abbiate incontrato alcun problema. Si tratta sicuramente di un ottimo progetto per chiunque voglia creare una rete VPN permanente a basso costo.
Questa esercitazione proviene da Pimylifeup che ringraziamo. Se avete commenti, consigli o problemi da condividere, non esitate a lasciare un commento qui sotto.