Definisci la route
Decidi se il tunnel trasporta solo il traffico dei servizi privati o tutto il traffico internet. Configura intenzionalmente le rotte consentite e considera sia IPv4 sia IPv6. Una configurazione split-tunnel e una full-tunnel hanno diverse considerazioni su perdite e raggiungibilità.
Mantieni una chiave per dispositivo
Genera le chiavi private sul dispositivo quando possibile e non pubblicarle mai. Usa identità peer separate, così un dispositivo smarrito può essere revocato senza sostituire ogni client. Conserva la configurazione del server con permessi protetti.
Configura l'inoltro e DNS
Imposta deliberatamente le regole di inoltro e del firewall. Controlla la risoluzione dei nomi, l'MTU e il percorso di ritorno. Verifica l'indirizzo pubblico effettivo e il comportamento di DNS dal client invece di presumere che un handshake riuscito significhi che tutto il traffico utilizzi il percorso previsto.
Comprendi lo spostamento della fiducia
Una VPN self-hosted può proteggere il traffico sulla rete locale, ma il VPS e l'upstream vedono comunque i metadati e qualsiasi traffico non cifrato. Non rende anonima una sessione del browser né prevale sulle policy dei servizi a cui accedi.
Usa un listener esplicito e ispeziona l'handshake
UDP 51820 è una scelta comune di configurazione WireGuard, non una politica host obbligatoria o garantita. Apri solo la porta UDP scelta e mantieni l'amministrazione separatamente limitata. Il comando wg show può riportare informazioni sull'handshake e sul trasferimento dei peer senza richiedere la pubblicazione delle chiavi private.
- Verifica un handshake recente
- Verifica il servizio privato previsto
- Testa le rotte internet e DNS solo se intendi usare un tunnel completo
wg showDocumentazione ufficiale: Avvio rapido WireGuard
Usa i keepalive solo quando la rete ne ha bisogno
Un peer dietro NAT può richiedere traffico keepalive periodico per preservare una mappatura per i pacchetti in entrata. L'impostazione appropriata dipende dalla rete. Mantieni la configurazione intenzionale; non copiare una ricetta full-tunnel se l'obiettivo è solo l'accesso a una singola applicazione privata.
Scegli un design con split tunnelling o tunnel completo
Parti dall'obiettivo effettivo. Un tunnel diviso può trasportare solo una sottorete privata o un servizio amministrativo; un tunnel completo richiede anche inoltro internet, regole di uscita e un piano DNS. Scegli indirizzi di tunnel non sovrapposti e decidi come viene gestito IPv6. UDP51820 è una porta comune, non obbligatoria. Conferma la policy dell'host selezionato e mantieni disponibile l'accesso console/amministratore mentre modifichi route o regole del firewall.
- Assegna a ogni dispositivo una coppia di chiavi unica e un'identità peer ristretta.
- Mantieni le chiavi private sui dispositivi previsti e lontane da file pubblici o condivisione tramite QR.
- Considera gli endpoint pubblici e il roaming dei client come parte della progettazione della rete.
Documentazione ufficiale: Avvio rapido WireGuard
Avvia un piccolo tunnel prima di aggiungere il routing internet
Segui l'installazione del sistema operativo supportato e genera le chiavi con permessi di file restrittivi. Configura l'interfaccia del server, un peer e il listener UDP scelto. Un peer lato server dovrebbe normalmente avere il proprio indirizzo del tunnel in AllowedIPs anziché un catch-all sovrapposto assegnato a più client. Inizia con l'accesso all'indirizzo del tunnel, poi aggiungi il forwarding approvato e le rotte di destinazione. Un handshake riuscito dimostra il contatto con il peer, non che DNS o l'uscita verso internet siano corretti.
# Inspection examples; these do not reveal a private key:
wg show
ip address show dev wg0
ip route get 10.44.0.1Documentazione ufficiale: Configurazione dell'interfaccia e dei peer WireGuard
Verifica il percorso previsto e un percorso vietato
Dal client, verifica un handshake recente e un servizio privato consentito. Prova una destinazione che dovrebbe essere negata. Se usi un tunnel completo, controlla la rotta pubblica effettiva, il resolver DNS e il comportamento IPv6 da quel client; il traffico in split-tunnel dovrebbe mantenere il percorso locale previsto. Ripeti dopo un cambio di rete del client. Usa un keepalive NAT solo quando la rete del peer lo richiede e mantieni l'intervallo coerente con il design documentato.
- Nessun handshake: ispeziona l'endpoint DNS, la raggiungibilità UDP, le chiavi e la mappatura dei peer.
- Handshake ma nessun servizio: controlla AllowedIPs, firewall, forwarding e la rotta di ritorno.
- Alcuni siti si bloccano: analizza l'MTU del percorso prima di applicare un valore permanente casuale.
Rendi ripetibili la revoca e il comportamento al riavvio
Rimuovi la chiave peer di un dispositivo smarrito e conferma che non possa più stabilire l'accesso previsto. Conserva backup crittografati della configurazione e un inventario di quale chiave pubblica appartiene a quale dispositivo. Verifica se l'interfaccia e le regole di routing necessarie tornano attive dopo un normale riavvio. Una VPN sposta la fiducia verso il VPS e il suo upstream; non elimina gli identificatori delle applicazioni, i cookie degli account né la necessità di HTTPS verso la destinazione finale.
Documentazione ufficiale: Manuale di WireGuard wg-quick