Per anni l'accesso remoto in azienda ha voluto dire OpenVPN o la VPN SSL del firewall: client pesanti, connessioni che cadono quando il portatile passa dal Wi-Fi al 4G, prestazioni mediocri. WireGuard ha cambiato le cose. È nel kernel Linux, è supportato nativamente da MikroTik RouterOS 7, dai gateway UniFi e da OPNsense, e ha client ufficiali per Windows, macOS, iOS e Android.

Per le VPN tra sedi ho già scritto un articolo dedicato. Qui parlo del caso più comune: i dipendenti che lavorano da casa o in trasferta.

Perché WireGuard

Il rovescio: WireGuard non ha utenti né password, solo coppie di chiavi. Non ha un secondo fattore integrato e non si collega ad Active Directory. Per un'azienda questo va gestito con metodo, come vediamo sotto.

La configurazione

Lato server

# /etc/wireguard/wg0.conf
[Interface]
Address    = 10.66.0.1/24
ListenPort = 51820
PrivateKey = <chiave privata del server>

# Mario Rossi - portatile aziendale
[Peer]
PublicKey  = <chiave pubblica del client>
AllowedIPs = 10.66.0.10/32

# Laura Bianchi - portatile aziendale
[Peer]
PublicKey  = <chiave pubblica del client>
AllowedIPs = 10.66.0.11/32

Lato client

[Interface]
Address    = 10.66.0.10/32
PrivateKey = <chiave privata del client>
DNS        = 192.168.10.1

[Peer]
PublicKey  = <chiave pubblica del server>
Endpoint   = vpn.tuaazienda.it:51820
AllowedIPs = 192.168.10.0/24, 10.66.0.0/24
PersistentKeepalive = 25

AllowedIPs ha due significati diversi, ed è la fonte di quasi tutti gli errori: sul server indica quali IP può usare quel peer; sul client indica quale traffico passa nel tunnel.

Split tunnel o full tunnel

Gestire gli utenti con metodo

Tre problemi reali e come evitarli

1. MTU: la VPN va, ma alcune cose no

Il ping funziona, le cartelle di rete si aprono, ma certi siti o applicazioni si bloccano a metà caricamento. È quasi sempre la MTU: WireGuard aggiunge un'intestazione e i pacchetti pieni non passano più, specialmente su connessioni PPPoE o 4G. Si risolve abbassando la MTU del tunnel (1420 è il default, sulle linee difficili si scende a 1380 o meno) e, quando il traffico viene inoltrato attraverso il tunnel, applicando il MSS clamping sul firewall. Ho visto micro-blocchi su un servizio in produzione sparire con due regole di clamping.

2. Il tunnel "attivo ma morto"

Il caso più subdolo: interfaccia attiva, handshake recente, contatori che salgono, ma nessun pacchetto arriva dall'altra parte. WireGuard non ha una sessione da far cadere, quindi non segnala nessun errore. Succede tipicamente quando un lato è dietro NAT e il router rimappa la porta: il peer remoto continua a rispondere alla porta vecchia.

3. Stessa subnet a casa e in ufficio

Se la sede usa 192.168.1.0/24 e il router di casa del dipendente anche, il traffico non sa dove andare. Per questo le reti aziendali vanno numerate con subnet poco comuni (ad esempio 10.23.40.0/24): costa poco farlo all'inizio e molto rinumerare dopo.

Dove farlo girare: se il firewall o il router della sede supporta WireGuard (MikroTik RouterOS 7, UniFi, OPNsense), la soluzione più pulita è lì. Un server Linux dedicato ha senso quando serve più controllo o il firewall non lo supporta. In entrambi i casi, la porta UDP aperta è una sola.

Posso aiutarti con la tua infrastruttura?

Che tu abbia un progetto da zero o un problema da risolvere, scrivimi o prenota una call gratuita di 30 minuti.

Invia un messaggio → Prenota una call gratuita ↗