WireGuard gira nativamente su OpenWrt, che trasforma un singolo router in un gateway VPN per l'intera rete oppure in un server di accesso remoto per la tua casa. Questa guida configura WireGuard su un router OpenWrt dall'inizio alla fine nel 2026: installazione del pacchetto, poi due configurazioni reali - OpenWrt come client (far uscire tutta la LAN attraverso un peer remoto) e OpenWrt come server (raggiungere la tua rete di casa da ovunque).
Risposta rapida: OpenWrt può eseguire WireGuard nativamente. Installa il pacchetto luci-proto-wireguard, poi crea un'interfaccia WireGuard sotto Network > Interfaces in LuCI. Fai girare OpenWrt come client per inviare tutto il traffico della LAN attraverso un peer VPN remoto, oppure come server per dare ai dispositivi remoti l'accesso alla tua rete di casa. La parte difficile sono raramente le chiavi - sono la zona firewall e il routing, quindi la maggior parte dei problemi di "nessun handshake" o "niente internet" si risolvono lì.

Cosa ti serve prima di iniziare
- Un router con OpenWrt con abbastanza flash e RAM liberi per i pacchetti WireGuard. I dispositivi con pochissima flash (4/32 MB) potrebbero non avere spazio - controlla prima lo spazio libero del tuo dispositivo.
- Un peer WireGuard a cui connetterti. In modalità client è il server remoto attraverso cui esci; in modalità server sono i dispositivi remoti che si riconnetteranno. Un server autogestito su un VPS Contabo è un peer affidabile che controlli interamente.
- Le chiavi e l'endpoint dell'altro lato: in modalità client, la chiave pubblica del server e il suo
host:portraggiungibile. Ogni peer ha la propria coppia di chiavi - riutilizzare una chiave su più dispositivi rompe l'handshake.
Se il protocollo in sé è nuovo per te, la nostra spiegazione cos'è WireGuard copre la crittografia e perché è più veloce di OpenVPN.
Passo 1 - Installare il supporto WireGuard
WireGuard non è sempre preinstallato, quindi aggiungi i pacchetti. Via SSH:
opkg update
opkg install luci-proto-wireguard wireguard-tools
luci-proto-wireguard aggiunge il protocollo WireGuard all'interfaccia web LuCI, e wireguard-tools ti dà il comando wg per generare chiavi e ispezionare i tunnel. Puoi installarli anche da System > Software in LuCI se preferisci l'interfaccia grafica. Dopo l'installazione, aggiorna LuCI perché il nuovo protocollo compaia.
Passo 2 - Generare le chiavi
Ogni estremo di un tunnel WireGuard ha una coppia di chiavi privata/pubblica. Su OpenWrt, generane una con wireguard-tools:
wg genkey | tee privatekey | wg pubkey > publickey
Tieni la chiave privata su questo router e condividi solo la chiave pubblica con l'altro peer. Se OpenWrt è il client, ti servirà anche la chiave pubblica del server; se OpenWrt è il server, raccogli la chiave pubblica di ogni client che si connetterà.
Caso A - OpenWrt come client WireGuard (far uscire tutta la LAN)
In modalità client, ogni dispositivo della LAN esce attraverso il peer remoto - un tunnel completo per l'intera rete di casa.
- Crea l'interfaccia. In LuCI vai su Network > Interfaces > Add new interface, dalle un nome (es.
wg0) e scegli WireGuard VPN come protocollo. - Compila l'interfaccia. Imposta la Private Key (la chiave di questo router) e l'indirizzo IP che questo router assume dentro il tunnel (l'indirizzo assegnato dal tuo server, es.
10.0.0.2/24). - Aggiungi il peer. Nella scheda Peers aggiungi il server: la sua Public Key, Endpoint host ed Endpoint port, Allowed IPs =
0.0.0.0/0(e::/0per l'IPv6) per un tunnel completo, e Persistent Keepalive =25perché il percorso sopravviva al NAT. - Zona firewall. Assegna l'interfaccia
wg0a una zona firewall. La configurazione funzionante più semplice è metterla nella zona wan (o una zona dedicata autorizzata a inoltrare dalla lan e con il masquerading attivo), così il traffico della LAN esce in NAT attraverso il tunnel. - DNS. Imposta il DNS del tunnel sul tuo server o su un resolver fidato, così le richieste non trapelano verso il tuo provider.
Quando funziona, l'IP pubblico di ogni dispositivo della LAN diventa quello del server.
Caso B - OpenWrt come server WireGuard (accesso remoto alla tua rete di casa)
In modalità server, OpenWrt resta in ascolto delle connessioni in entrata perché il tuo telefono o laptop raggiunga la LAN di casa da ovunque.
- Crea l'interfaccia allo stesso modo (Network > Interfaces, protocollo WireGuard VPN), dai al router la sua Private Key e un indirizzo IP lato VPN (es.
10.0.0.1/24), e imposta una Listen Port (di solito51820). - Apri / inoltra la porta UDP. Consenti la porta UDP scelta in entrata nel firewall. Se OpenWrt è dietro un altro modem/router, inoltra quella porta UDP verso il box OpenWrt; se il tuo provider usa il CGNAT, il traffico in entrata potrebbe non essere affatto raggiungibile - vedi DNS dinamico per l'autogestione.
- Aggiungi ogni client come peer. Per ogni dispositivo remoto aggiungi un Peer con la sua Public Key e Allowed IPs impostate sull'IP di tunnel di quel client (es.
10.0.0.2/32). Perché i client raggiungano tutta la LAN di casa, includi la tua subnet LAN (es.192.168.1.0/24) nella configurazione del client e consenti l'inoltro. - Inoltro del firewall. Metti l'interfaccia WireGuard in una zona autorizzata a inoltrare verso lan, così i client connessi raggiungono i dispositivi locali.
Anatomia della configurazione
OpenWrt salva questo in /etc/config/network, ma la forma rispecchia una configurazione WireGuard standard. Eccola con segnaposto espliciti - non incollare mai chiavi vere prese da una guida; ogni dispositivo genera le proprie:
[Interface]
PrivateKey = <this-router-private-key>
Address = 10.0.0.1/24
ListenPort = 51820
[Peer]
PublicKey = <other-peer-public-key>
Endpoint = <peer-host-or-ip>:51820
AllowedIPs = 10.0.0.2/32
PersistentKeepalive = 25
PrivateKey- la chiave segreta di questo router, tenuta in locale.Address- l'IP del router dentro il tunnel.ListenPort- serve solo quando OpenWrt è il server.PublicKey- la chiave pubblica dell'altro peer (quella del server, in modalità client).Endpoint- l'host:portraggiungibile del peer (solo il lato client ne ha bisogno per un tunnel in uscita).AllowedIPs- cosa passa attraverso:0.0.0.0/0per un tunnel completo (client), o una subnet di tunnel/LAN specifica (server).PersistentKeepalive = 25- mantiene il percorso attivo dietro il NAT.
Risoluzione dei problemi su OpenWrt
- Nessun handshake: il più delle volte un problema di firewall - l'interfaccia WireGuard non è in una zona, o la zona non può inoltrare. Controlla l'Endpoint (host/porta) e che la porta UDP del server sia aperta; verifica che le chiavi pubbliche corrispondano; ricorda che un server di casa dietro CGNAT può essere irraggiungibile in entrata. Più dettagli nella nostra guida alla risoluzione dei problemi di handshake.
- Connesso ma niente internet (modalità client): la zona WireGuard ha bisogno del masquerading, e l'inoltro lan -> wg deve essere consentito; altrimenti il traffico LAN in NAT non ha via d'uscita.
- MTU: WireGuard usa di default 1420; su una WAN PPPoE, 1412 è un valore che spesso funziona. Se alcuni siti si bloccano, abbassa la MTU dell'interfaccia passo dopo passo - vedi la nostra guida correzione MTU WireGuard.
- Il DNS non si applica: imposta il DNS sull'interfaccia WireGuard (o distribuiscilo tramite firewall/DHCP), così i client della LAN usano il resolver del tunnel invece di quello del provider.
- Kill-switch: instrada tutta la LAN solo attraverso la zona WireGuard e blocca lan -> wan direttamente, così il traffico si ferma se il tunnel cade invece di trapelare dalla WAN normale.
Client vs server a colpo d'occhio
| OpenWrt come client | OpenWrt come server | |
|---|---|---|
| Obiettivo | Far uscire tutta la LAN attraverso un peer remoto | Far raggiungere ai dispositivi remoti la LAN di casa |
| AllowedIPs | 0.0.0.0/0 (tunnel completo) | IP di tunnel del client + subnet LAN |
| Listen port | Non richiesta | Richiesta (es. 51820, aperta in entrata) |
| Firewall | zona wg -> wan, masquerade, inoltro lan->wg | zona wg autorizzata a inoltrare verso lan |
| Endpoint | Punta al server remoto | I client puntano al router OpenWrt |
In conclusione
OpenWrt rende WireGuard una funzione a livello di router: installa luci-proto-wireguard, crea l'interfaccia in Network > Interfaces e scegli client (VPN per tutta la LAN) o server (accesso remoto). Quasi ogni fallimento è la zona firewall o il routing, non le chiavi. Per il peer all'altro capo, un VPS Contabo a 5,50 EUR/mese fa girare un server WireGuard personale che il tuo router OpenWrt può chiamare, senza chiavi condivise e con pieno controllo.
Guida editoriale basata sul comportamento documentato del supporto WireGuard di OpenWrt (luci-proto-wireguard / LuCI). I menu esatti variano leggermente a seconda della versione di OpenWrt. I link commerciali portano l'attributo rel="sponsored nofollow"; una commissione di affiliazione può applicarsi senza costi aggiuntivi per te.
★ Datacenter GDPR di Norimberga · ✓ IPv4 dedicato incluso · 200+ Mbps garantiti
Ospita la tua VPN sul tuo VPS → ContaboAccesso root completo · IPv4 pubblico · scegli la tua regione→