Come creare un server VPN con Raspberry Pi
Pubblicato: 2022-01-29Quando pensi a una VPN, potresti immaginare un servizio in abbonamento che incanala il tuo traffico Internet attraverso un server situato in altre parti del mondo. Tuttavia, questi servizi non sono l'unico modo per crittografare la tua attività online.
I servizi VPN con un clic possono essere eccezionali e ci sono alcune VPN che consigliamo se desideri una soluzione semplice che funzioni immediatamente. Tuttavia, quel servizio ha un costo: di solito da $ 5 a $ 10 al mese, per non parlare della fiducia in chiunque sia dall'altra parte. Per un'opzione più economica che controlli, puoi configurare un server OpenVPN su un Raspberry Pi (o alcuni router) e utilizzare la tua connessione Internet domestica come VPN mentre sei in giro.
Tieni presente che non sarai in grado di falsificare la tua posizione in un paese d'oltremare o nascondere la tua identità da occhi indiscreti (dal momento che il traffico sembrerà provenire dalla tua normale connessione Internet domestica). Tuttavia, ti darà comunque una sicurezza extra durante la navigazione su Wi-Fi pubblico ed è piuttosto utile quando devi accedere alla tua rete domestica per, ad esempio, svegliare un PC addormentato in modo da poter accedere al desktop remoto. È economico, facile, e vale la pena farlo se hai un Pi in giro.
Di cosa avrai bisogno
Per configurarlo, avrai bisogno dell'ovvio: un Raspberry Pi con tutti gli accessori cruciali, come un alimentatore e una scheda SD. Questa guida non richiede un sistema operativo speciale; puoi semplicemente usare Raspbian, quindi dai un'occhiata alla nostra guida per principianti al Raspberry Pi per tutto ciò che devi sapere sull'impostazione delle basi. (Assicurati di cambiare la password predefinita quando avvii per la prima volta il Pi, poiché è estremamente importante per la sicurezza, che, dopotutto, è l'intero punto di questo progetto.)
Consiglio di avere un mouse, una tastiera e un monitor anche per questa procedura dettagliata, solo per la configurazione iniziale, anche se non è strettamente necessario. (Puoi SSH nel tuo Pi per configurare la tua VPN, ma potresti dover riconnetterti nel mezzo del processo, poiché la modifica delle impostazioni di rete può causare la perdita della connessione del Pi.)
Questo è tutto ciò di cui hai bisogno tecnicamente, anche se ci sono alcune altre cose che consiglio. Innanzitutto, è una buona idea impostare una prenotazione DHCP per il tuo Raspberry Pi, in modo che il suo indirizzo IP interno non cambi nel tempo.
In secondo luogo, consiglio un servizio DNS dinamico. Per accedere al tuo Pi da lontano, dovrai puntarlo al tuo indirizzo IP pubblico a casa. Non è difficile da trovare, ma può cambiare di volta in volta, il che potrebbe interrompere la tua VPN fino a quando non la riconfiguri. Farlo è una sorta di seccatura, quindi è più facile utilizzare un servizio DNS dinamico che ti offre invece un indirizzo facile da ricordare, che si aggiorna ogni volta che il tuo indirizzo IP cambia.
Controlla le impostazioni del tuo router per vedere se supporta servizi DNS dinamici come DynDNS o No-IP: alcuni di questi sono abbonamenti a pagamento, ma altri, come No-IP, sono gratuiti per un utilizzo limitato, che dovrebbe funzionare perfettamente per i nostri scopi. In questa guida non esamineremo l'intero processo, ma ti consiglio di esaminarlo se scopri che il tuo provider Internet continua a modificare il tuo indirizzo IP pubblico e a interrompere la tua VPN.
Come installare OpenVPN con PiVPN
OpenVPN è un set di software open source che ti consente di configurare una VPN su qualsiasi tipo di hardware. Se lo desideri, puoi installare il server Linux di OpenVPN sul tuo Pi e modificare manualmente i file di configurazione, ma c'è una soluzione più semplice. PiVPN è un insieme di script open source che trasformano la configurazione di OpenVPN in una procedura guidata facile da usare, quindi anche se è la prima volta che lavori con OpenVPN, non dovresti avere troppi problemi a configurarlo.
Quindi avvia il tuo Pi, assicurati che tutto il software sia aggiornato e apri una nuova finestra di Terminale. Installare PiVPN è semplice come eseguire il seguente comando:
ricciolo -L https://install.pivpn.io | bash
Lo script impiegherà alcuni minuti per installare OpenVPN, quindi ti guiderà attraverso il processo di configurazione. Innanzitutto, ti informerà che PiVPN richiede un indirizzo IP statico, così puoi accedere facilmente al tuo server VPN quando sei in giro. Se imposti una prenotazione DHCP, puoi semplicemente dire Sì quando PiVPN chiede se ne stai utilizzando uno.
Dopo aver scelto il tuo utente (l'utente Pi predefinito va bene, a meno che tu non ne abbia un altro che desideri utilizzare), PiVPN ti chiederà se desideri utilizzare WireGuard, un nuovo protocollo VPN o OpenVPN. Sto usando OpenVPN per questa guida, quindi usa i tasti freccia per spostare il cursore su OpenVPN, quindi premi Spazio per selezionarlo prima di premere Invio per continuare.
WireGuard è abbastanza nuovo e mostra molte promesse, mentre OpenVPN è più popolare e ampiamente supportato. Se vuoi provare WireGuard, puoi leggere di più qui.
Per i prossimi passaggi, le impostazioni predefinite vanno bene per la maggior parte degli utenti. Ti verrà chiesto se vuoi usare UDP o TDP (dovresti scegliere UDP a meno che tu non abbia una buona ragione per non farlo), quale porta vuoi usare (1194 va bene a meno che qualcos'altro non lo stia usando) e cosa Provider DNS che desideri utilizzare (qualsiasi cosa è adatta).
Un intoppo: ho scoperto che, nonostante il mio utilizzo di un servizio DNS dinamico, PiVPN non avrebbe accettato il mio URL personalizzato. Se riscontri lo stesso problema, digli semplicemente di utilizzare il tuo indirizzo IP pubblico e puoi modificarlo nel file di configurazione in un secondo momento.
Infine, vale la pena abilitare le funzionalità di OpenVPN 2.4 a meno che tu non sappia che stai utilizzando app che non le supportano. Scegli il certificato di sicurezza consigliato quando richiesto: dimensioni maggiori garantiscono una sicurezza migliore, ma possono rallentare le cose e non sono necessarie per la maggior parte degli utenti. Abilita gli aggiornamenti automatici e PiVPN installerà i pacchetti necessari e creerà i file di configurazione necessari.
Infine, puoi scegliere un DNS da utilizzare quando ti connetti alla tua VPN. Salta l'aggiunta di un dominio di ricerca personalizzato (a meno che tu non sappia di cosa si tratta e desideri utilizzarne uno). Una volta fatto, ti verrà chiesto di riavviare il tuo Pi.
Dopo il riavvio, dovrai aprire una finestra di Terminale ed eseguire:
pivpn aggiungere
Assegna un nome al file di configurazione (ho scelto whitson-laptop), imposta la durata del certificato (il valore predefinito va bene) e inserisci una password a tua scelta (assicurati che sia forte). Genererà un file .ovpn per te in /home/pi/ovpns, che dovrai connettere alla tua VPN: copialo sul tuo PC e tienilo in un posto sicuro.
PiVPN consiglia di ripetere questo processo per altri dispositivi, quindi se hai altri laptop o telefoni su cui desideri utilizzare questa VPN, esegui nuovamente questo comando per generare i propri file di configurazione ora.
Ecco dove ho dovuto apportare una modifica al mio file .ovpn. Se stai utilizzando un servizio DNS dinamico come me, apri il file nel Blocco note (o nell'editor di testo di tua scelta) e sostituisci il tuo indirizzo IP nella riga 4 con il tuo URL personalizzato. Se hai problemi a connetterti alla tua VPN, questa è la prima riga con cui scherzerei: in passato mi ha causato problemi con un certo numero di generatori di configurazione OpenVPN.
Da qui, il tuo Pi dovrebbe essere tutto pronto, ma dovrai fare un'altra cosa prima di poterti connettere: inoltra la porta della tua VPN sul tuo router. Questo processo varia da router a router, ma funziona così: accedi alla pagina di configurazione del tuo router, trovi l'opzione di port forwarding e inoltri la porta 1194 all'indirizzo IP interno del tuo Pi. Puoi trovare istruzioni più dettagliate per router specifici su portforward.com.
Connettiti alla tua VPN da qualsiasi luogo
Ora sei nel tratto di casa perché il resto è semplicissimo. Per connetterti alla tua VPN quando sei lontano da casa, avrai bisogno di un'app VPN, o "client", in grado di connettersi al tuo server OpenVPN. OpenVPN ha un client ufficiale chiamato OpenVPN Connect, disponibile su Windows, macOS, Linux, iOS e Android.
Puoi prenderlo dalla home page di OpenVPN: scorri verso il basso fino a Inizia con OpenVPN Connect e fai clic sulla piattaforma di tua scelta. Esistono anche popolari programmi di terze parti come Viscosity (Windows/Mac) e Tunnelblick (Mac) che offrono opzioni extra per utenti avanzati. Puoi vedere altri client OpenVPN in questa pagina della community OpenVPN.
Avvia l'app OpenVPN Connect e fai clic sulla scheda "File" per aggiungere un nuovo profilo. Passa al file di configurazione che hai copiato dal Pi (di nuovo, il mio si chiamava whitson-laptop.ovpn) e selezionalo. Fai clic sul pulsante Aggiungi e puoi connetterti alla tua VPN attivando l'interruttore e inserendo la tua password.
Una volta fatto, tutto il tuo traffico verrà crittografato e instradato attraverso la tua connessione Internet domestica in cui risiede il Pi. Il tuo traffico sarà protetto da occhi indiscreti sul Wi-Fi del bar e sarai in grado di accedere a qualsiasi risorsa sulla tua rete domestica come se fossi lì, senza costi di abbonamento necessari.