Server VPN fatto in casa con PiVPN - WireGuard

Un server VPN fatto in casa, veloce e semplice con PiVPN e il nostro amato ❤️ Raspberry!
Avete presente quando avviate un video di YouTube e lo YouTuber di turno inizia parte con...: "proteggetevi con PINCOPALLOVPN, un servizio che vi proteggerà anche quando utilizzate i WiFi pubblici!"?
Ecco, ogni volta, la mia espressione è sempre più avvilita e, soprattutto, mando sempre avanti il video per saltare quella parte...
Oggi vi spiego come crearvi un vostro server VPN solo con un piccolo Raspberry e pochissimi minuti di pazienza e lavoro!
Blocco di pubblicità, malware, phishing, parental control, servizi, siti, ecc.
Qualora vogliate proteggere la vostra rete di casa e tutti i dispositivi ad essa collegati, vi basterà avere a disposizione un Raspberry e pochissimi minuti del vostro tempo.

Leggete la guida linkata qui sopra e trasformate il vostro Raspberry in un server DNS che proteggerà tutti i vostri dispositivi dall'invadente pubblicità, da malware, dal phishing e che, in pochi click, vi permetterà di abilitare il parental control, di bloccare siti/domini e servizi, ecc.
Requisiti hardware PiVPN
Se avete utilizzato la guida precedente e avete un Raspberry con AdGuard, allora potete saltare questo step e andare direttamente al prossimo, altrimenti, ecco cosa vi occorre:
• Raspberry Pi (meglio se questo o questo)
• Una microSD, meglio se performante, quindi... questa o questa
• Se volete anche un case, vi consiglio questo (è il mio preferito!)
• Qualora voleste anche un alimentare con interruttore di accensione/spegnimento, allora posso consigliarvi questo
Ora non vi resta che installare Raspberry Pi OS sulla microSD. Per farlo, nel modo più semplice, seguite questi passi.
Installazione Raspberry Pi OS
Scaricate Raspberry Pi Imager, disponibile al link seguente

Installatelo e avviatelo!
Ora avrete la possibilità di installare la versione che preferite di Raspberry Pi OS (Desktop, Lite o Desktop con software aggiuntivi) e personalizzare alcuni parametri - prima dell'avvio - che ci renderanno la vita semplicissima.

Cliccate su Scegli S.O. e scegliete la versione di Raspberry Pi OS che preferite, io ho scaricato e salvato in locale la versione Lite (quella senza desktop), ma siete liberi di scegliere quella che preferite.
Qualora aveste deciso di salvare il file in locale, scaricandolo dal sito, dovrete scegliere la voce Usa immagine personalizzata e, soprattutto, dovrete aver decompresso lo zip scaricato.

Ora clicchiamo su SCEGLI SCHEDA SD e indichiamo la microSD sulla quale installare Raspberry Pi OS


Prima di procedere alla scrittura, cliccate l'icona dell'ingranaggio, in modo da personalizzare alcuni parametri fondamentali, che ci risparmieranno un sacco di tempo

Per prima cosa impostate l'hostname del vostro Raspberry Pi, scegliendo un nome a vostro piacimento
Abilitate SSH e impostate username e password per l'accesso remoto


Impostate (scrivendolo) il nome della vostra rete WiFi e la password per l'accesso, senza dimenticare di specificare la Nazione

Impostate Fuso orario e Layout della tastiera

Cliccate su SALVA
e, infine, cliccate su SCRIVI

Cliccate su SI, nella finestra di alert che comparirà e che vi avvisa della distruzione dei dati presenti sulla microSD

Attendete, indicativamente 5 minuti (ovviamente meno è potente il vostro PC, più dovrete attendere... Ça va sans dire 🤪)

Se tutto sarà andato liscio, avrete la vostra microSD pronta all'uso, da installare nel Raspberry Pi

Perfetto, ora non vi resta che inserire la microSD nel vostro Raspberry Pi e accenderlo.
Preparazione Raspberry Pi OS
Se abbiamo atteso 5 minuti dall'avvio del Raspberry, ora sarà raggiungibile e potremo collegarci via SSH.
N.B.: Potete utilizzare PuTTY oppure collegarvi direttamente via prompt dei comandi

Per prima cosa, come sempre, aggiorniamo tutto e attendiamo il termine
sudo apt update && sudo apt full-upgrade -y

Ora, per scrupolo, facciamo in modo che Raspberry Pi OS utilizzi tutto la dimensione della microSD. Per fare questo lanciamo il comando seguente
sudo raspi-config



Portiamoci su Finish e terminiamo

Ovviamente confermiamo

Attendiamo il riavvio e ricolleghiamoci in SSH

Per procedere con l'installazione e l'utilizzo di PiVPN, occorrono alcuni pre-requisiti, ossia 10 pacchetti, nello specifico: git, tar, curl, grep, dnsutils, whiptail, net-tools, bsdmainutils, bash-completion, iptables-persistent.
Installiamoli tutti insieme!
sudo apt install git tar curl grep dnsutils whiptail net-tools bsdmainutils bash-completion iptables-persistent -y

Attendiamo e rispondiamo Yes alle domande che ci si presenteranno


Abbiamo terminato con l'installazione dei pre-requisiti; ora avviamo l'installazione vera e propria di PiVPN
curl -L https://install.pivpn.io | bash


Ecco l'evidenza del fatto che i pacchetti che abbiamo installato, sono necessari...



Nel caso in cui abbiamo deciso di abilitare l'accesso WiFi, dovremo ora scegliere quale scheda di rete utilizzare; io consiglio di scegliere SEMPRE la connessione via cavo

Ora avremo una finestra che riepilogherà i dati

Dovremo scegliere quale utente utilizzare


Ora decidiamo cosa installare: WireGuard oppure PiVPN?

Se siete insicuri, lasciate la porta di default, ossia la 51820


Ora dovete scegliere il vostro provider DNS preferito, tra Google, CloudFlare, Norton, ecc.
Come detto nell'alert qui sopra, qualora PiVPN lo stiate installando sullo stesso Raspberry di AdGuard, scegliete la voce Custom e specificate a mano l'indirizzo IP dello stesso Raspberry.

Specificate l'indirizzo IP del Raspberry

E ora scegliete se utilizzare l'IP pubblico della vostra connessione oppure se avete un servizio di DNS.
L'utilizzo del vostro IP pubblico è consigliabile SOLO nel caso abbiate un IP statico, assegnato dal vostro gestore.
Come servizio, personalmente, utilizzo dynDNS, che garantisce un host gratuito.

Vi verrà chiesto di specificare il nome DNS, ad esempio pincopallino.homepc.it (se sceglierete di utilizzare dynDNS)
Procediamo...


Abilitate le patches di sicurezza




Abbiamo terminato!
Attendiamo che il Raspberry si riavvii, dopodiché colleghiamoci nuovamente in SSH per creare il nostro primo profilo VPN...
Creazione dei profili VPN
Una volta collegati in SSH al Raspberry, dovremo solo eseguire il comando seguente
sudo pivpn add

Specificare il nome del dispositivo


Profilo creato!
Ora ci sono due alternative: o ci colleghiamo in SFTP al Raspberry, scarichiamo il profilo e lo installiamo sul dispositivo, oppure procediamo come segue
Scarichiamo WireGuard per il dispositivo mobile in questione

oppure per un altro dispositivo, non mobile...
Creazione codice QR
Una volta installato WireGuard, su mobile, creiamo il codice QR da scannerizzare, quindi, sul nostro Raspberry, dicitiamo il seguente comando
pivpn -qr

Selezioniamo il dispositivo, dalla lista dei profili che avremo creato


et voilà!

Apriamo WireGuard sul nostro smartphone, aggiungiamo il profilo e selezioniamo, come opzione, Crea da codice QR.
Inquadriamo il codice QR e... abbiamo terminato!
Conclusioni
Con questa guida abbiamo creato un server VPN per rendere più sicure le nostre connessioni, quando ci troviamo lontani da casa e abbiamo bisogno, magari, di operare su siti internet delicati (banche, siti istituzionali, posta, ecc.), utilizzando una connessione pubblica.
Utilizzando questa guida, con anche questa avremo una VPN che ci permetterà di navigare sfruttando la connessione di casa, che - a sua volta - sarà protetta da AdGuard!
Commenti