Configurare un server VPN con Raspberry Pi
Questo articolo spiega come trasformare il vostro Raspberry Pi in un server VPN.
L'ispirazione mi è venuta quando uno dei miei amici stava per partire per un lungo viaggio e voleva una VPN.
Il vantaggio di avere una VPN, ha spiegato, era che gli permetteva di accedere alla sua rete domestica e ai suoi file.
Questo è abbastanza standard.
Ha anche menzionato che avrebbe un tempo più facile per accedere alle applicazioni bancarie e ad altri servizi se accede attraverso la sua rete domestica.
L'avere un indirizzo IP all'estero fa scattare l'allarme rosso e gli impone di effettuare test Captcha e 2FA.
Questo mi ha fatto pensare se il Raspberry Pi potesse funzionare in questo caso.
Controlla prima il tuo router
Un dettaglio importante qui è controllare se il tuo router può agire come un server VPN.
Questa sarebbe la soluzione più affidabile. Francamente, era anche la soluzione più semplice e meno noiosa.
Ho un TP-Link Archer C7 che ha la capacità di eseguire un server VPN utilizzando OpenVPN o PPTP VPN. In meno di cinque minuti, ho ha seguito le istruzioni e sono riuscito a farlo funzionare.
Poi tutto quello che ho dovuto fare è stato installare OpenVPN sui miei dispositivi e utilizzare il file di configurazione.
Se, tuttavia, avete un router che non supporta le connessioni VPN, allora seguite...
Di cosa ho bisogno per creare un server Raspberry Pi?
Prima di tutto, avrete bisogno di un Raspberry Pi.
Sarebbe ideale avere un Raspberry Pi con una connessione ethernet cablata come il Raspberry Pi 4 per la massima affidabilità e velocità.
Se scegliete questi dispositivi, allora, avrete bisogno di un cavo ethernet per collegare il Raspberry Pi al vostro router.
E per assicurarsi che il vostro Raspberry Pi sia collegato via ethernet cablato, dovreste disabilitare la connessione wireless.
Tuttavia, PiVPN ha funzionato con successo su un Raspberry Pi serie Zero, quindi potresti usare anche quello.
Installare PiVPN
Testa a pivpn.io per ulteriori informazioni sul software.
Per installarlo, eseguite il comando di installazione curl -L https://install.pivpn.io | bash nel vostro terminale.
Questo passo può richiedere un po' di tempo, ma una volta fatto, vedrete questa schermata introduttiva.
Prenotazione DHCP
La PiVPN è un server, quindi ha bisogno di avere un indirizzo IP statico per funzionare correttamente.
Se siete in grado di creare una prenotazione DHCP...
Non tutti i router permettono di creare una prenotazione DHCP, quindi se non trovate una sezione per questa impostazione, passate alla sezione successiva.
Ho un modem separato e un router che ho comprato in modo da poter creare una prenotazione DHCP per garantire che PiVPN sia sempre sullo stesso indirizzo IP.
Ogni router è un po' diverso, quindi dovresti cercare su Google le istruzioni esatte per creare una prenotazione DHCP per il tuo router.
Se usate un TP-Link Archer C7, come me, andate su Avanzato > Rete > Server DHCP.
Sotto il Prenotazione dell'indirizzo ho cliccato su Aggiungi. Avevo bisogno del mio indirizzo MAC (non mostrato in PiVPN) e l'indirizzo IP fornito da PiVPN.
Trovare il tuo indirizzo MAC
Ci sono due modi per trovare il tuo indirizzo MAC.
Più convenientemente, il mio router TP-Link ha visualizzato il mio indirizzo MAC "DC-A6-32-88-AC-97" nella tabella dei client DHCP.
In alternativa, potete aprire un terminale e digitare ifconfig.
Dato che sei connesso via ethernet cablato, cerca "eth0" e sulla linea dove dice etereè lì che si trova il tuo indirizzo MAC.
Se non potete creare una prenotazione DHCP,
In questo menu, premere "No" per impostare un indirizzo IP statico.
Nel prossimo menu, dovrai configurare il tuo indirizzo IP statico su qualcosa che non sia all'interno della gamma di indirizzi IP che il tuo router assegnerà ai dispositivi.
Per esempio, il mio router assegna ai dispositivi collegati un indirizzo IP da 192.168.0.100 a 192.168.0.249. Quindi, posso assegnare a PiVPN un indirizzo IP di 192.168.0.250.
Poi ti chiederà l'indirizzo IP del gateway. Puoi lasciarlo come predefinito a meno che tu non abbia un gateway diverso. Di solito è l'indirizzo IP del tuo router.
Infine, premi OK su PiVPN fino a raggiungere la pagina "Local Users".
Utenti locali
Nella pagina "Choose A User", ho scelto il solo e unico utente, pi.
Negli ultimi aggiornamenti del sistema operativo Raspberry Pi, non avete più "pi" come utente predefinito, quindi fate attenzione.
Premere OK.
Modalità di installazione
Qui, ti chiederà se vuoi usare WireGuard o OpenVPN. Ho scelto WireGuard perché era raccomandato.
Porta Wireguard predefinita
A meno che non abbiate bisogno di un'altra porta, potete semplicemente premere OK e usare la porta predefinita 51820.
Provider DNS
Ci sono molte scelte per i provider DNS qui e ho scelto Google per la facilità di impostazione.
IP pubblico o DNS
Quello che stai vedendo qui è il tuo indirizzo IP pubblico e questo sarà l'indirizzo IP che userai per connetterti alla tua VPN.
Aggiornamenti non presidiati
Ho abilitato gli aggiornamenti non presidiati perché volevo gli aggiornamenti di sicurezza.
È ora di aggiungere i profili dei clienti
Grande! Sei arrivato al menu "Installazione completata".
Impostare PiVPN sul Raspberry Pi è metà della battaglia. La prossima metà è configurare i profili client in modo da potervi collegare computer, telefoni e altri dispositivi.
Ecco come:
Aprite un terminale e digitate "pivpn add".
Inserisci un nome per il client. Puoi usare qualcosa come "client1", "client2" o qualcosa di più intuitivo come "smartphone", "televisione", ecc.
Premere Invio.
Quando è fatto, vedrete un messaggio che dice che è fatto.
PiVPN avrebbe generato un file .conf che puoi usare con le app Wireguard.
Tuttavia, c'è un modo ancora più semplice per ottenere la configurazione sul tuo telefono.
Impostare un telefono Android
Nello stesso terminale, inserire pivpn -qr
Poi, inserite il cliente che volete. Ce n'è solo uno al momento chiamato "smartphone".
Quindi, inserite "smartphone" e premete invio.
Se tutto va bene, vedrai un codice QR che potrai scansionare con l'app Wireguard sul tuo smartphone.
Tuttavia, se non lo fa, sembrerà confuso. Questo perché la codifica del tuo terminale è sbagliata.
Se questo succede a te, puoi copiare il file smartphone.conf sul tuo telefono e puntare l'app Wireguard al file.
Un altro modo è provare ad entrare con ssh nel Raspberry Pi ed eseguire il comando qrencode -t ansiutf8 < /home/pi/configs/smartphone.conf (cambia "smartphone" con qualsiasi nome che hai dato al tuo cliente).
Il codice QR è stato generato con successo quando ho usato ssh sul mio computer Windows.
Impostazione di WireGuard sul tuo computer
Ci sono due cose che devi fare. Scaricare l'app WireGuard per il tuo computer e anche ottenere il file .conf dal tuo Raspberry Pi.
È possibile scaricare il App WireGuard per Windows, Linux e Mac qui.
Una volta che l'hai fatto, crea un nuovo profilo usando pivpn aggiungere.
Digita il nome del tuo file di configurazione. Io ho usato msi-pcche genera un msi-pc.conf file.
Per copiare il file sul vostro PC, il modo più semplice è quello di copiarlo usando un comando. Si dovrebbe avere l'accesso SSH abilitato sul sistema operativo del Raspberry Pi.
Se siete su Windows come me, userete questo comando:
pscp.exe [nome utente]@[il tuo indirizzo IP]:/home/pi/configs/[file wireguard].conf [local-dir]
Ecco come si è rivelato il mio:
pscp.exe [email protected]:/home/pi/configs/msi-pc.conf
Nell'app, premi "Add Tunnel" e individua il tuo file .conf.
Attivare e il gioco è fatto!
Impostare l'inoltro delle porte sul router
Se hai seguito i passi fino ad ora, sarai in grado di abilitare il toggle sulla tua app Wireguard, ma non sarai in grado di entrare in internet.
Questo perché dovete configurare il vostro router in modo che punti il traffico che accede alla porta 51820 al vostro Raspberry Pi.
Per fare questo, vai al menu di inoltro delle porte sul tuo router. Sul mio router TP-Link Archer, era accessibile in Avanzato > Inoltro NAT > Server virtuali.
Saprete di essere nel posto giusto quando vi chiederà una porta esterna e interna e un indirizzo IP interno.
Questa schermata chiede fondamentalmente: "se riceviamo traffico dall'interweb usando la porta 51820, a quale dispositivo lo inviamo e su quale porta?
In questo caso, le porte esterne e interne sono 51820, l'impostazione predefinita di Wireguard. Il protocollo è UDP e IP interno è l'indirizzo IP del vostro Pi.
Come faccio a sapere che la mia VPN funziona?
Saprai che la tua VPN sta funzionando se il tuo indirizzo IP cambia.
Per testare la connessione VPN del mio smartphone, sono andato a cercare il mio indirizzo IP prima di collegarmi alla VPN.
La VPN ha detto che il mio indirizzo era XXX.XX.88.241
Mi sono collegato alla mia VPN e il mio indirizzo IP è cambiato in XXX.XXX.169.39.
Quindi, se c'è un cambiamento nel tuo indirizzo IP, significa che ti sei connesso con successo.
Ci sono molti servizi là fuori. Potreste anche solo cercare su Google "qual è il mio indirizzo IP" e Google potrebbe essere in grado di dirvelo nella pagina dei risultati della ricerca. Oppure, ho usato whatismyip.com.
Cosa succede se il mio IP internet cambia?
A volte, potresti non ottenere lo stesso indirizzo IP quando resetti il tuo router. Le interruzioni di corrente, gli strattoni accidentali dei cavi di alimentazione possono accadere.
La domanda è... come fai a trovare il tuo nuovo indirizzo IP quando non sei a casa e hai un disperato bisogno di connetterti alla tua VPN?
Il nostro software PiCockpit rende facile scoprire qual è il tuo IP pubblico.
Nello screenshot qui sopra, questo è il mio IP pubblico. Se mai dovesse cambiare, puoi aggiornare i tuoi file .conf con il nuovo indirizzo dell'endpoint.
PiCockpit vi permetterà anche di riavviare e diagnosticare i problemi con il vostro Raspberry Pi da remoto attraverso la sua interfaccia web.
Segui questa guida per installare PiCockpit.
In alternativa, si può anche ottenere un servizio DNS dinamico e un hostname. Ecco una guida.
Buen dia espero se encuentren bien, tengo una consulta a ver si me pueden ayudar, estoy en venezuela, yo quisiera trabajar por internet pero necesito que no me detecten, mi IP va a estar en estados unidos, lo que quiero es preguntar... come configurare il raspberry per potermi connettere con l'ip residencial alla en eeuu e lavorare in venezuela senza essere rilevato e senza che mi vengano cancellate le pagine, inoltre configurare il mio navegador grazie.
Giovanni,
Per questo è necessario tenere un raspberry pi negli Stati Uniti configurato come server VPN (a casa di un amico o di un familiare) e il tuo PC o LAPTOP in Venezuela deve tenere un cliente vpn. In questo modo ti connetti dal venezuela all'eeuu via vpn e già vedi come se fossi alla.
[...] può anche essere utilizzato come server VPN utilizzando configurazioni come OpenVPN o WireGuard. È possibile utilizzare entrambe le configurazioni per l'uso quotidiano ed entrambe fanno [...]
[...] Naturalmente, potete anche trasformare il vostro Raspberry Pi in una VPN, cosa di cui abbiamo già scritto in precedenza. [...]