Configurare un server VPN con Raspberry Pi

vpn per lampone 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?

Cavo Ethernet, Raspberry Pi e router per impostare una PiVPN
Cavo Ethernet, Raspberry Pi e router

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

Logo PiVPN
Logo 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

trovare il mac address raspberry pi
Di solito potete trovare l'indirizzo MAC del vostro Raspberry Pi attraverso il vostro router o usare ifconfig

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,

prenotazione dhcp raspberry pi vpn o indirizzo ip statico

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

raspberry pi vpn wireguard

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

scegliere google per il provider dns pivpn raspberry pi vpn

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

aggiornamenti non presidiati pivpn

Ho abilitato gli aggiornamenti non presidiati perché volevo gli aggiornamenti di sicurezza. 

È ora di aggiungere i profili dei clienti

Usa pivpn add per aggiungere un cliente, poi usa pivpn -qr per ottenere un codice QR per il tuo telefono da scansionare
Usa pivpn aggiungere per aggiungere un cliente, poi usare pivpn -qr per ottenere un codice QR per il tuo telefono da scansionare

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.

I problemi di codifica portano ad un codice QR PiVPN confuso
I problemi di codifica portano ad un codice QR PiVPN confuso

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.

codice qr di wireguard pivpn
App Wireguard per Android che scannerizza il codice QR

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?

test vpn se 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.

4 commenti

  1. John Ramirez in Aprile 13, 2023 il 1:37 pm

    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.

    • Ligwill in Maggio 15, 2023 il 6:21 pm

      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.

  2. [...] 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 [...]

  3. [...] Naturalmente, potete anche trasformare il vostro Raspberry Pi in una VPN, cosa di cui abbiamo già scritto in precedenza. [...]

Lascia un commento