Cos'è WireGuard?

WireGuard è un protocollo VPN moderno e ad alte prestazioni progettato per semplicità e velocità. A differenza di protocolli più vecchi come OpenVPN o IPsec, WireGuard utilizza crittografia all'avanguardia (Curve25519 per lo scambio di chiavi, ChaCha20 per la crittografia e Poly1305 per l'autenticazione) e funziona con codice minimo — circa 4.000 righe rispetto a centinaia di migliaia nelle soluzioni legacy. Questo design snello lo rende più facile da controllare, più veloce nell'instaurare connessioni e più affidabile nei cambiamenti di rete come il passaggio tra Wi-Fi e dati mobili.

WireGuard funziona creando tunnel crittografati punto-a-punto tra un server e uno o più client. Ogni lato possiede una chiave privata e conosce la chiave pubblica dei suoi peer. Una volta configurato, il traffico scorre attraverso il tunnel senza interruzioni, con il protocollo che gestisce automaticamente handshake, rotazione delle chiavi e pacchetti keepalive.

Descrizione dello strumento

Questo strumento genera file di configurazione WireGuard pronti all'uso per lato server e client. Crea automaticamente coppie di chiavi X25519 crittograficamente valide, costruisce file .conf correttamente formattati e ti consente di gestire più client da un'unica interfaccia. Puoi scaricare ogni file di configurazione direttamente o scansionare un codice QR per una rapida configurazione mobile.

Esempi

Output della configurazione del server:

[Interface]
PrivateKey = aGVsbG93b3JsZC4uLi4uLi4uLi4uLi4uLi4uLi4=
Address = 10.0.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
SaveConfig = true

[Peer]
PublicKey = Y2xpZW50cHVibGlja2V5Li4uLi4uLi4uLi4uLi4=
AllowedIPs = 10.0.0.2/32

Output della configurazione del client:

[Interface]
PrivateKey = Y2xpZW50cHJpdmF0ZWtleS4uLi4uLi4uLi4uLi4=
Address = 10.0.0.2/32
DNS = 1.1.1.1, 1.0.0.1

[Peer]
PublicKey = c2VydmVycHVibGlja2V5Li4uLi4uLi4uLi4uLi4=
Endpoint = vpn.example.com:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

Funzionalità

  • Genera coppie di chiavi X25519 crittograficamente valide direttamente nel browser utilizzando Curve25519
  • Produce file .conf scaricabili per il server e tutti i client
  • Visualizza codici QR per le configurazioni client, abilitando la configurazione istantanea dei dispositivi mobili
  • Supporta più client con assegnazione automatica degli indirizzi IP
  • MTU configurabile, hook PostUp/PostDown, DNS e PersistentKeepalive per client

Opzioni spiegate

  • Nome del server — un'etichetta utilizzata nel commento del file di configurazione e nel nome del file scaricato
  • Porta del server — la porta UDP su cui WireGuard è in ascolto (predefinito: 51820)
  • Indirizzo IP del server — l'indirizzo della subnet VPN per l'interfaccia del server (ad es. 10.0.0.1/24)
  • Endpoint del server — l'hostname pubblico o l'IP e la porta a cui i client si connettono
  • MTU — dimensione massima dell'unità di trasmissione; lascia vuoto per utilizzare il valore predefinito del sistema (tipicamente 1420)
  • PostUp / PostDown — comandi shell eseguiti quando l'interfaccia viene attivata o disattivata (comunemente utilizzati per regole NAT iptables)
  • IP consentiti — intervalli IP che il client instrada attraverso il tunnel; 0.0.0.0/0, ::/0 instrada tutto il traffico
  • DNS — server DNS che il client utilizza mentre è connesso
  • PersistentKeepalive — intervallo in secondi per i pacchetti keepalive, utile per client dietro NAT (predefinito: 25)

Casi d'uso

  • Configurazione di un server VPN self-hosted su un'istanza cloud per crittografare tutto il traffico da laptop e telefoni
  • Connessione di reti di uffici remoti attraverso un tunnel WireGuard site-to-site sicuro
  • Generazione di configurazioni client con codici QR per l'onboarding rapido di membri del team o dispositivi mobili