VPNSmith
self-host-vpnHOWTO

Come configurare WireGuard su un router OpenWrt (client e server, 2026)

Configura WireGuard su un router OpenWrt nel 2026: installa luci-proto-wireguard, poi imposta OpenWrt come client VPN (fai uscire tutta la LAN) o come server (accesso remoto alla tua rete di casa). Firewall, DNS, MTU e correzioni per il mancato handshake incluse.

Di Eric Gerard · Fondatore · VPNSmith - Specialista in VPN autogestite e VPS GDPR7 min letturaPhoto via Pexels

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ì.

Cavi di rete in fibra ottica color turchese collegati alle porte di uno switch da rack
Cavi di rete in fibra ottica color turchese collegati alle porte di uno switch da rack

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:port raggiungibile. 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.

  1. Crea l'interfaccia. In LuCI vai su Network > Interfaces > Add new interface, dalle un nome (es. wg0) e scegli WireGuard VPN come protocollo.
  2. 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).
  3. 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 ::/0 per l'IPv6) per un tunnel completo, e Persistent Keepalive = 25 perché il percorso sopravviva al NAT.
  4. Zona firewall. Assegna l'interfaccia wg0 a 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.
  5. 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.

Un router Wi-Fi bianco con due antenne e un cavo Ethernet blu collegato alla sua porta LAN
Un router Wi-Fi bianco con due antenne e un cavo Ethernet blu collegato alla sua porta LAN

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.

  1. 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 solito 51820).
  2. 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.
  3. 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.
  4. 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:port raggiungibile del peer (solo il lato client ne ha bisogno per un tunnel in uscita).
  • AllowedIPs - cosa passa attraverso: 0.0.0.0/0 per 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 clientOpenWrt come server
ObiettivoFar uscire tutta la LAN attraverso un peer remotoFar raggiungere ai dispositivi remoti la LAN di casa
AllowedIPs0.0.0.0/0 (tunnel completo)IP di tunnel del client + subnet LAN
Listen portNon richiestaRichiesta (es. 51820, aperta in entrata)
Firewallzona wg -> wan, masquerade, inoltro lan->wgzona wg autorizzata a inoltrare verso lan
EndpointPunta al server remotoI 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

Domande frequenti

OpenWrt può eseguire WireGuard?
Sì. OpenWrt supporta WireGuard tramite il modulo del kernel e il pacchetto luci-proto-wireguard, che aggiunge un'opzione di protocollo WireGuard all'interfaccia web LuCI. Dopo averlo installato, crei un'interfaccia WireGuard sotto Network > Interfaces come qualsiasi altra connessione. OpenWrt può funzionare da client WireGuard (facendo uscire tutto il traffico della LAN attraverso un peer remoto) o da server WireGuard (permettendo a dispositivi remoti di raggiungere la tua rete di casa). Servono abbastanza flash e RAM liberi per il pacchetto e un peer a cui connettersi - un server autogestito o un fornitore.
Modalità client o server su OpenWrt - quale mi serve?
Dipende dalla direzione del traffico. Usa la modalità client quando vuoi che ogni dispositivo della rete di casa esca attraverso un peer WireGuard remoto - per esempio per instradare tutta la LAN attraverso un server VPN che controlli su un VPS. Usa la modalità server quando vuoi raggiungere la tua rete di casa dall'esterno - telefoni o laptop in movimento che si riconnettono per accedere alla tua LAN, al NAS o ai servizi locali. La configurazione di OpenWrt è simile nei due casi; la differenza sta in quale lato avvia l'handshake e in cosa copre AllowedIPs.
Perché non c'è handshake su OpenWrt?
Un 'Latest handshake' vuoto significa che i due peer non si sono mai autenticati. Su OpenWrt le cause abituali sono legate al firewall: l'interfaccia WireGuard non è assegnata a una zona firewall, oppure la zona non ha il permesso di inoltrare verso wan/lan. Altre cause sono un Endpoint o una porta UDP sbagliati, la porta del server non aperta, una chiave pubblica che non corrisponde, o il CGNAT del tuo provider che blocca l'UDP in entrata per un server di casa. WireGuard resta silenzioso davanti ai pacchetti non autenticati, quindi non c'è errore - controlla la zona firewall, le chiavi e la porta raggiungibile.
Quale MTU dovrebbe usare WireGuard su OpenWrt?
La MTU predefinita di WireGuard è 1420. Su molti router OpenWrt la WAN usa PPPoE, che ha meno margine di overhead, quindi una MTU WireGuard di 1412 è lì un valore che spesso funziona; su una WAN Ethernet semplice 1420 di solito va bene. Se alcuni siti caricano e altri si bloccano, è un classico sintomo di MTU - abbassa la MTU dell'interfaccia a piccoli passi finché pagine grandi e download non funzionano, e combinala con l'MSS clamping se il tuo firewall lo offre.