Questa guida spiega come configurare un Raspberry Pi come access point Wi-Fi che instrada tutto il traffico attraverso una VPN utilizzando WireGuard. I passaggi seguono la logica di uno script Bash, ma vengono descritti in modo dettagliato.
PREREQUISITI
HARDWARE
- Raspberry Pi con modulo Wi-Fi integrato o adattatore USB Wi-Fi
- Alimentatore compatibile
- Scheda microSD con Raspberry Pi OS installato
- Connessione a Internet per scaricare i pacchetti
SOFTWARE
- Accesso con privilegi sudo
- File di configurazione WireGuard preconfigurato (salvato da Mullvad)
Per ottenere il file di configurazione collegarsi al link Sito Mullvad quindi inserire le credenziali
Cliccare su Configurazione WireGuard
Selezionare Linux
Selezionare Genera Chiave
Selezionare una o più posizioni di uscita con Paese Città Server
Scaricare file file-wg-001.conf e salvarlo sul raspberry nel path /etc/wireguard/mullvad-wg
PASSAGGI DI CONFIGURAZIONE
IMPOSTAZIONE DEI PARAMETRI DI CONFIGURAZIONE
Prima di iniziare, definire i seguenti parametri:
-
Interfaccia Wi-Fi: L’interfaccia wireless del Raspberry Pi (es.
wlan0
owlan1
). -
Indirizzo IP statico: L’indirizzo IP del Raspberry Pi (es.
192.168.4.1/24
). -
LAN Address: Il range della LAN (es.
192.168.4.0/24
). -
Range DHCP: Il range di indirizzi DHCP da assegnare (es.
192.168.4.200,192.168.4.225,255.255.255.0,24h
). -
SSID: Il nome della rete Wi-Fi (es.
MullVPN
). - Passphrase WPA: La password per la rete Wi-Fi (minimo 10 caratteri).
AGGIORNAMENTO E INSTALLAAZIONE DEI PACCHETTI NECESSARI
Aggiornare il sistema e installare i pacchetti richiesti con i comandi:
0
1
|
sudo apt update && sudo apt upgrade -y
sudo apt install vim dnsmasq hostapd dhcpcd5 iptables iproute2 resolvconf iptables-persistent curl wireguard-tools -y
|
CONFIGURAAZIONE DELL’INTERFACCIA DI RETE
Modificare il file /etc/dhcpcd.conf per assegnare un indirizzo IP statico all’interfaccia Wi-Fi con il comando:
0 |
sudo vim /etc/dhcpcd.conf
|
Aggiungiere le seguenti righe:
0
1
2
|
interface wlan0
static ip_address=192.168.4.1/24
nohook wpa_supplicant
|
Riavviare l’interfaccia Wi-Fi per applicare le modifiche con i comandi:
0
1
|
sudo ip link set wlan0 down
sudo ip link set wlan0 up
|
CONFIGURAZIONE DI DNSMASQ
Fare un backup del file esistente e creane uno nuovo con i comandi:
0
1
|
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vim /etc/dnsmasq.conf
|
Aggiungere il seguente contenuto:
0
1
|
interface=wlan0
dhcp-range=192.168.4.200,192.168.4.225,255.255.255.0,24h
|
CONFIGURAZIONE DI HOSTAPD
Creare un file di configurazione per Hostapd con il comando:
0 |
sudo vim /etc/hostapd/hostapd.conf
|
Quindi inserire le seguenti righe:
0
1
2
3
4
5
6
7
8
9
10
11
12
|
interface=wlan0
driver=nl80211
ssid=MullVPN
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=!P@55w0rd!
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
|
Specificare il percorso del file di configurazione:
0 |
echo 'DAEMON_CONF="/etc/hostapd/hostapd.conf"' | sudo tee /etc/default/hostapd
|
ABILITAZIONE DELL’INOLTRO IP
Modifica il file /etc/sysctl.conf con il comando:
0 |
sudo vim /etc/sysctl.conf
|
Aggiungere o decommentare la riga:
0 |
net.ipv4.ip_forward=1
|
Applicare la configurazione con il comando:
0 |
sudo sysctl -p
|
CONFIGURAZIONE DI WIREGUARD
Copiare il file di configurazione WireGuard nella directory corretta con i seguenti comandi:
0
1
2
|
sudo vim /etc/wireguard/mullvad-wg.conf
sudo chown root:root /etc/wireguard/mullvad-wg.conf
sudo chmod 600 /etc/wireguard/mullvad-wg.conf
|
Avviare WireGuard e abilitare l’avvio automatico con i comandi:
0
1
|
sudo wg-quick up mullvad-wg
sudo systemctl enable wg-quick@mullvad-wg
|
CONFIGURAZIONE DELLE REGOLE DI NAT
Impostare il NAT per inoltrare il traffico con i seguenti comandi:
0
1
2
|
sudo iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o mullvad-wg -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o mullvad-wg -j ACCEPT
sudo iptables -A FORWARD -i mullvad-wg -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
|
Salvare le regole iptables con il comando:
0 |
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
|
RIAVVIO E ABILITAZIONE DEI SERVIZI
Riavviare i servizi necessari e abilitarli all’avvio con i comandi:
0
1
2
3
4
|
sudo systemctl unmask hostapd
sudo systemctl restart dhcpcd
sudo systemctl restart dnsmasq
sudo systemctl restart hostapd
sudo systemctl enable dhcpcd dnsmasq hostapd resolvconf
|
VERIFICA DELLA CONFIGURAZIONE
Collegarsi alla rete Wi-Fi configurata e verificare l’indirizzo IP pubblico tramite VPN con il comando:
0 |
curl -s ifconfig.me
|
CONCLUSIONE
Seguendo questi passaggi, il Raspberry Pi verrà configurato come access point wireless sicuro che instrada il traffico attraverso WireGuard, garantendo privacy e sicurezza per tutti i dispositivi connessi.
AUTOMAZIONE DELL’INSTALLAZIONE
E’ possibile automatizzare tutta l’installazione e relativa configurazione con il seguente script
Download “Scripts_Setup_Mullvad_Raspberry.zip” Scripts_Setup_Mullvad_Raspberry.zip – Scaricato 10 volte – 2,11 KB
Sono Angelo Lauria e ho una passione per l’automazione e lo scripting, soprattutto con Bash e PowerShell.
Il mio viaggio nello scripting è iniziato per curiosità, spinto dal desiderio di rendere più efficienti i processi quotidiani.
Oggi continuo ad affrontare ogni nuova sfida come un'opportunità per crescere e migliorare.
Credo che l’informatica sia un campo in continua trasformazione, e il bello sta proprio nell’essere sempre pronti a evolversi insieme a essa.
0 commenti