Quando si entra nel mondo delle VPN self-hosted, ci si imbatte rapidamente in termini che le guide utilizzano senza definire: AllowedIPs, DERP, NAT traversal, MTU, PersistentKeepalive, offuscamento DPI… Questo glossario riunisce le 34 definizioni essenziali, organizzate per tema, scritte per essere comprese in 30 secondi e direttamente citabili.
Completa le guide tecniche del sito: per configurazioni concrete, consulta la guida WireGuard vs OpenVPN, il confronto Tailscale vs Headscale, e la guida al kill switch su Linux.
Indice dei Contenuti
- Protocolli e VPN Core
- Rete Mesh e Piano di Controllo
- NAT, Relay e Connettività
- Crittografia e Sicurezza
- Routing e Configurazione
- Offuscamento e Bypass DPI
- Fughe e Sicurezza Operativa
- Caratteristiche Chiave
Protocolli e VPN Core
WireGuard
WireGuard è un protocollo VPN moderno implementato nel kernel di Linux (kernel-space). Con meno di 4.000 righe di codice sorgente (contro le 400.000 di OpenVPN), minimizza la superficie di attacco e offre prestazioni vicine alla velocità del collegamento grezzo. Utilizza ChaCha20-Poly1305 per la crittografia, Curve25519 per lo scambio di chiavi e BLAKE2s per l'autenticazione dei messaggi. Standard raccomandato per l'auto-hosting nel 2026.
OpenVPN
OpenVPN è il protocollo VPN open-source di riferimento dal 2001. A differenza di WireGuard, funziona in userspace, rendendolo più portabile ma più lento. Supporta TCP e UDP, configura facilmente la porta 443 su TCP per bypassare i firewall DPI e accetta varie suite di cifratura (AES-256-GCM di default). Ancora rilevante per ambienti che bloccano UDP o richiedono tracciabilità di conformità.
IPsec / IKEv2
IPsec è un insieme di protocolli di crittografia di rete che operano a livello IP (livello 3). IKEv2 è il protocollo di scambio chiavi utilizzato con IPsec — nativo su iOS e macOS, molto stabile durante i cambi di rete (Wi-Fi ↔ 4G/5G). Meno performante di WireGuard in termini di throughput grezzo, ma integrato nativamente nei sistemi operativi mobili Apple senza dipendenze applicative. Comunemente usato nelle configurazioni VPN aziendali sui router.
Tunnel VPN (tunnel completo vs tunnel diviso)
Un tunnel VPN è un canale criptato tra due punti. In modalità tunnel completo (AllowedIPs 0.0.0.0/0), tutto il traffico IP transita attraverso la VPN — incluso il traffico Internet. In modalità tunnel diviso (AllowedIPs limitati), solo una parte del traffico passa attraverso il tunnel, il resto esce direttamente. Il tunneling diviso riduce il carico sul server VPN e migliora la latenza per le connessioni locali.
Rete Mesh e Piano di Controllo
Rete Mesh
Una rete mesh è una topologia di rete in cui ogni nodo può comunicare direttamente con tutti gli altri, senza un nodo centrale obbligatorio. Nel contesto VPN, ciò significa che ogni dispositivo connesso alla mesh può raggiungere direttamente gli altri — a differenza di una topologia hub-and-spoke dove tutto passa attraverso un server centrale. Tailscale e Headscale creano automaticamente una mesh WireGuard tra tutti i dispositivi registrati.
Tailscale
Tailscale è una VPN mesh basata su WireGuard gestita come SaaS. Automatizza lo scambio di chiavi, il NAT traversal, gli ACL e il DNS tramite il suo piano di controllo ospitato negli Stati Uniti. Gratuito fino a 100 dispositivi per uso personale. Il piano dati (traffico tra dispositivi) è criptato end-to-end con WireGuard — Tailscale Inc. non può vedere il contenuto. Il piano di controllo (che orchestra le connessioni) rimane sotto il loro controllo.
Headscale
Headscale è un'implementazione open-source del piano di controllo di Tailscale, auto-ospitabile su qualsiasi VPS Linux. È compatibile con i client ufficiali Tailscale su tutti i sistemi operativi. Offre la stessa UX (MagicDNS, ACL, nodi di uscita) ma senza dipendenza dai server di Tailscale Inc. Il piano di controllo gira sul tuo VPS — consulta la guida Headscale per il deployment completo.
Piano di Controllo vs Piano Dati
Il piano di controllo è il cervello della VPN: orchestra la registrazione dei dispositivi, lo scambio di chiavi pubbliche, gli ACL e la distribuzione delle configurazioni. In Tailscale, è il servizio SaaS di Tailscale Inc.; in Headscale, è il tuo VPS. Il piano dati è il flusso di dati criptato effettivo tra i dispositivi — utilizza direttamente WireGuard, indipendente dal piano di controllo. Anche se il piano di controllo è compromesso, il traffico del piano dati rimane criptato.
MagicDNS
MagicDNS è la funzione DNS automatica di Tailscale e Headscale che assegna un nome di dominio stabile a ciascun dispositivo nella mesh (machine.tailnet.ts.net). Senza MagicDNS, dovresti ricordare l'indirizzo IP statico di ciascun dispositivo (es. 100.64.0.x). MagicDNS elimina la necessità di mantenere un file /etc/hosts o un server DNS interno e semplifica gli script di automazione.
Nodo di Uscita
Un nodo di uscita è un dispositivo nella mesh Tailscale (o Headscale) configurato per instradare tutto il traffico Internet degli altri dispositivi — come una VPN tradizionale. Quando abiliti il nodo di uscita su un dispositivo, tutto il tuo traffico in uscita transita attraverso di esso prima di raggiungere Internet. Utile per dare a una macchina remota un IP fisso o criptare il traffico da Wi-Fi pubblici, utilizzando un VPS come nodo di uscita. Guida: Nodo di uscita Tailscale.
NAT, Relay e Connettività
NAT (Network Address Translation)
NAT è il meccanismo con cui un router traduce gli indirizzi IP privati (192.168.x.x, 10.x.x.x) in un indirizzo pubblico per il traffico in uscita, e inverte il processo per il traffico in entrata. Quasi tutte le connessioni residenziali e mobili sono dietro un NAT, rendendo impossibili le connessioni in entrata dirette senza configurazione manuale (port forwarding). Questo è il problema principale che il NAT traversal mira a risolvere.
NAT Traversal (Hole Punching)
Il NAT traversal è l'insieme di tecniche che permettono a due macchine dietro NAT separati di raggiungersi direttamente su UDP, senza port forwarding. La tecnica principale (hole punching) prevede che entrambi i peer inviino simultaneamente pacchetti UDP l'uno all'altro — entrambi i NAT aprono quindi un'entrata nella loro tabella delle connessioni, permettendo il traffico bidirezionale. Tailscale utilizza STUN/ICE per orchestrare questo processo.
DERP (Designated Encrypted Relay for Packets)
DERP è la rete di relay TCP di Tailscale attivata quando il NAT traversal diretto fallisce (NAT simmetrico, porta UDP bloccata). Il traffico transita attraverso un server DERP ma rimane criptato end-to-end con WireGuard — il server vede solo pacchetti criptati. DERP è più lento di una connessione diretta ma garantisce la connettività in tutti i contesti di rete. Headscale può utilizzare i server DERP di Tailscale o implementare i propri.
Port Forwarding
Il port forwarding consiste nel configurare un router o firewall per inoltrare le connessioni in entrata su una porta specifica a una macchina interna. Per una VPN WireGuard self-hosted su un VPS, questo è generalmente inutile (il VPS ha un IP pubblico diretto). Tuttavia, per un server WireGuard a casa (dietro un NAT ISP), è necessario il port forwarding UDP sulla porta WireGuard (51820 di default).
Endpoint
In WireGuard, un endpoint è l'indirizzo IP pubblico e la porta UDP di un peer: 203.0.113.42:51820. WireGuard memorizza l'ultimo endpoint noto di ciascun peer e aggiorna automaticamente queste informazioni se l'IP cambia (rete mobile, IP dinamico). L'endpoint non è fisso sul lato client (può essere 0.0.0.0:0 se il client non ha un IP fisso), ma il server deve avere un endpoint stabile o un nome di dominio.
Handshake
L'handshake di WireGuard è lo scambio crittografico iniziale che stabilisce una sessione criptata tra due peer. Utilizza Curve25519 (scambio di chiavi Diffie-Hellman) e si completa in meno di un millisecondo. WireGuard rinnova automaticamente l'handshake ogni 3 minuti per garantire la perfetta segretezza in avanti — ogni sessione ha la sua chiave effimera. Se non viene scambiato traffico per 3 minuti, un nuovo handshake viene attivato prima del prossimo pacchetto.
PersistentKeepalive
PersistentKeepalive è un parametro di WireGuard che invia un pacchetto UDP vuoto a intervalli regolari (in secondi) per mantenere aperta l'entrata NAT tra client e server. Valore raccomandato: 25 secondi (sotto il timeout standard del NAT di 30 secondi). Senza keepalive, un client dietro un NAT perde la sua sessione dopo pochi minuti di inattività e deve riavviare un handshake. Essenziale per i client mobili.
Crittografia e Sicurezza
Curve25519
Curve25519 è la curva ellittica utilizzata da WireGuard per lo scambio di chiavi Diffie-Hellman (ECDH). Offre un livello di sicurezza equivalente a RSA-3072 con chiavi di soli 32 byte, il che accelera l'handshake e riduce il consumo di memoria. Progettata per resistere agli attacchi temporali. Ogni peer WireGuard genera una coppia di chiavi Curve25519: chiave privata (32 byte, segreta) e chiave pubblica (32 byte, condivisa con i peer).
ChaCha20-Poly1305
ChaCha20-Poly1305 è la suite AEAD (Authenticated Encryption with Associated Data) utilizzata da WireGuard per criptare e autenticare i pacchetti. ChaCha20 è il cifrario a flusso; Poly1305 è il MAC che garantisce l'integrità. Questa suite è particolarmente veloce su processori senza accelerazione AES-NI (ARM su Raspberry Pi, MIPS su router) e resiste strutturalmente agli attacchi temporali.
BLAKE2s
BLAKE2s è la funzione hash crittografica utilizzata da WireGuard per l'autenticazione dei messaggi e la derivazione delle chiavi di sessione. Una variante di BLAKE2 ottimizzata per processori a 32 bit e embedded. Più veloce di SHA-256 su queste architetture mantenendo proprietà di sicurezza equivalenti. Utilizzata nel protocollo di handshake di WireGuard per mescolare chiavi effimere e dati di sessione.
Perfect Forward Secrecy (PFS)
La perfect forward secrecy garantisce che compromettere una chiave di sessione non consenta la decrittazione di sessioni passate o future. WireGuard implementa questo nativamente: ad ogni handshake (ogni 3 minuti), vengono generate nuove chiavi effimere Curve25519 e distrutte dopo l'uso. Anche se un attaccante registra il traffico criptato e successivamente compromette la chiave privata statica di un peer, non può recuperare sessioni precedenti.
Chiave Pubblica / Privata di WireGuard
WireGuard utilizza la crittografia asimmetrica per l'autenticazione. La chiave privata (32 byte, formato base64) non lascia mai il dispositivo e firma gli handshake. La chiave pubblica è derivata dalla chiave privata e condivisa con i peer — è l'identificatore di un peer in WireGuard. Ogni peer in una configurazione WireGuard è identificato dalla sua chiave pubblica nella sezione [Peer]. Il comando wg genkey | tee private.key | wg pubkey > public.key genera una coppia di chiavi.
Routing e Configurazione
AllowedIPs
AllowedIPs è il parametro di configurazione più importante di WireGuard sul lato peer. Definisce contemporaneamente le rotte inviate nel tunnel (qualsiasi pacchetto destinato a questi intervalli passa attraverso questo peer) e la whitelist degli IP sorgente accettati da questo peer. 0.0.0.0/0, ::/0 = tunnel completo (tutto il traffico). 10.0.0.0/24 = solo quella sottorete. Gli AllowedIPs di un peer sul lato server definiscono quale IP interno è allocato a quel client.
MTU (Maximum Transmission Unit)
MTU è la dimensione massima di un pacchetto di rete in byte. Per WireGuard su Ethernet (MTU 1500), l'MTU del tunnel deve essere ridotto di 60 byte per l'overhead WireGuard/UDP/IP: raccomandazione standard di 1420 byte. Un MTU configurato male causa frammentazione silenziosa o connessioni che "si bloccano" su certi siti (soprattutto TLS). Impostato nella sezione [Interface] della configurazione WireGuard. Testa con ping -M do -s 1400 8.8.8.8.
Fuga DNS
Una fuga DNS si verifica quando le query DNS (risoluzione dei nomi di dominio) escono al di fuori del tunnel VPN e passano attraverso l'ISP o il resolver del sistema operativo. Risultato: il tuo ISP vede quali domini visiti nonostante la VPN attiva. In WireGuard, configurando DNS = 1.1.1.1 nella sezione [Interface] si forza tutte le query DNS nel tunnel. Guida completa alla prevenzione: Prevenzione fuga DNS WireGuard.
PostUp / PostDown
PostUp e PostDown sono hook di configurazione di WireGuard che eseguono comandi shell quando l'interfaccia si avvia e si arresta. Utilizzati per configurare regole iptables (NAT masquerade, kill switch), abilitare l'inoltro IP (sysctl net.ipv4.ip_forward=1), o avviare script di monitoraggio. Il comando PostUp viene eseguito dopo wg-quick up; PostDown dopo wg-quick down. Essenziale per il masquerading e il kill switch con systemd.
wg-quick
wg-quick è lo strumento di configurazione di alto livello fornito con WireGuard che semplifica la gestione delle interfacce. Legge i file .conf da /etc/wireguard/, crea l'interfaccia di rete, configura le rotte, il DNS e esegue gli hook PostUp/PostDown. Comandi principali: wg-quick up wg0, wg-quick down wg0. Crea automaticamente rotte per AllowedIPs e gestisce il routing predefinito in modalità tunnel completo. Diverso da wg (il comando di basso livello).
Offuscamento e Bypass DPI
DPI (Deep Packet Inspection)
DPI è una tecnica di analisi di rete che esamina il contenuto dei pacchetti (non solo gli header) per identificare protocolli, filtrare traffico o rilevare VPN. Firewall aziendali, governi (Grande Firewall cinese) e alcuni ISP utilizzano DPI per bloccare WireGuard o OpenVPN. WireGuard è rilevabile dal DPI perché ha una firma UDP distintiva. L'offuscamento mira a mascherare questo traffico come normale HTTPS.
Offuscamento
L'offuscamento VPN maschera il traffico criptato per farlo sembrare traffico HTTPS ordinario, rendendo difficile il rilevamento da parte del DPI. Tecniche comuni: wstunnel (tunneling di WireGuard in WebSocket su porta 443), Cloak (plugin obfsproxy per OpenVPN), Shadowsocks (proxy SOCKS5 criptato), V2Ray VMess/VLESS. L'offuscamento è necessario in reti con DPI aggressivo (Cina, Iran, reti aziendali). Guida: bypass anti-DPI 2026.
wstunnel
wstunnel è uno strumento che incapsula il traffico UDP (soprattutto WireGuard) in una connessione WebSocket sulla porta 443 (HTTPS). Sul lato client, wstunnel ascolta su una porta UDP locale e inoltra al server wstunnel remoto tramite WebSocket. Sul lato server, wstunnel decapsula e inoltra alla porta WireGuard locale. Risultato: tutto sembra traffico HTTPS dall'esterno. Guida dettagliata: wstunnel TCP su WebSocket.
Shadowsocks
Shadowsocks è un protocollo proxy SOCKS5 criptato originariamente progettato per bypassare il Grande Firewall cinese. Cripta il traffico con AES-256-GCM o ChaCha20-Poly1305 e lo maschera come traffico HTTPS. Diverso da una VPN: Shadowsocks è un proxy applicativo, non un tunnel di rete completo. Può essere combinato con WireGuard (Shadowsocks come trasporto) per un doppio strato di offuscamento. Vedi Shadowsocks vs VPN.
V2Ray / VMess / VLESS
V2Ray è un framework multi-protocollo per proxy e tunneling. VMess è il suo protocollo proprietario (autenticazione, crittografia, camuffamento HTTPS); VLESS è la sua versione leggera senza crittografia incorporata (delegata a TLS). Entrambi supportano trasporti multipli (WebSocket, gRPC, HTTP/2) per bypassare il DPI. V2Ray è più complesso da configurare rispetto a WireGuard o Shadowsocks ma offre le migliori capacità di camuffamento in ambienti con DPI avanzato.
Fughe e Sicurezza Operativa
Fuga WebRTC
WebRTC è un'API del browser per la comunicazione peer-to-peer. Per funzionare, interroga tutte le interfacce di rete sulla macchina — inclusa l'IP reale prima del mascheramento VPN. Un sito può quindi recuperare l'IP reale tramite JavaScript nonostante il tunnel attivo. Soluzione per l'auto-hosting: configura il client WireGuard a livello di sistema operativo (non solo browser) e abilita la protezione WebRTC nel browser (Firefox: media.peerconnection.enabled = false).
Fuga IPv6
Se il tuo VPS o rete supporta IPv6 e la tua configurazione WireGuard tunnelizza solo IPv4, le connessioni IPv6 escono in chiaro ed espongono la tua vera identità. Soluzione: aggiungi ::/0 a AllowedIPs (tunnel IPv6 completo), o disabilita IPv6 a livello di interfaccia OS se la tua configurazione non lo gestisce. WireGuard supporta nativamente IPv6 — basta includerlo nella configurazione [Interface] (Address) e [Peer] (AllowedIPs).
Caratteristiche Chiave
Kill Switch
Il kill switch interrompe tutte le connessioni di rete se il tunnel VPN cade, prevenendo l'esposizione dell'IP reale. Su Linux con WireGuard, è implementato tramite regole iptables/nftables nell'hook PostUp: blocca tutto il traffico al di fuori dell'interfaccia wg0 eccetto il traffico verso l'endpoint WireGuard. Guida completa con systemd e iptables: VPN kill switch Linux.
Split Tunneling
Lo split tunneling instrada solo una parte del traffico attraverso la VPN, il resto esce direttamente. In WireGuard, è configurato tramite AllowedIPs: elencando solo le sottoreti target (es. 10.8.0.0/24), il resto del traffico esce attraverso l'interfaccia normale. Utile per accedere a risorse di rete VPN (NAS, servizi interni) mantenendo la latenza ottimale per il traffico Internet.
ACLs (Access Control Lists)
Gli ACL in Tailscale e Headscale definiscono quali macchine possono comunicare tra loro nella mesh. Configurati in JSON (formato HuJSON in Tailscale), consentono la segmentazione degli accessi: ad esempio, consentendo ai server di produzione di comunicare tra loro ma impedendo alle macchine personali di accedervi direttamente. Senza ACL, tutti i dispositivi della mesh possono vedere e comunicare tra loro — conveniente ma non adatto per l'uso professionale multi-team.
Router di Sottorete
Un router di sottorete è un dispositivo Tailscale/Headscale configurato per pubblicizzare una sottorete privata al resto della mesh. Esempio: un NAS su 192.168.1.0/24 può essere reso accessibile da Internet se una macchina su quella rete funge da router di sottorete e annuncia quell'intervallo. In questo modo, altri dispositivi della mesh possono raggiungere tutte le macchine LAN senza che ciascuna sia registrata individualmente in Tailscale.
Peer-to-Peer (P2P Diretto)
Nel contesto Tailscale/Headscale, P2P si riferisce a connessioni dirette tra due dispositivi senza passare attraverso un server intermedio. Tailscale tenta sempre di stabilire una connessione P2P diretta tramite NAT traversal prima di ricorrere a DERP. Una connessione P2P offre latenza minima (UDP diretto tra i due endpoint). L'interfaccia tailscale status indica se una connessione è diretta (Direct) o relay (Relay).
Cosa Non Sostituisce Questo Glossario
Queste definizioni forniscono il vocabolario di base, ma la vera comprensione viene dalla pratica. Per approfondire: il confronto WireGuard vs OpenVPN dettaglia scelte concrete per caso d'uso, la guida Tailscale vs Headscale confronta i due approcci al piano di controllo, e la guida anti-DPI copre l'offuscamento da A a Z.
Pubblicato il 12 giugno 2026. Definizioni stabilite dalle specifiche ufficiali di WireGuard (Jason A. Donenfeld, whitepapers.wireguard.com), documentazione Tailscale (tailscale.com/kb), codice sorgente Headscale (github.com/juanfont/headscale), e RFC IETF pertinenti. Aggiornato continuamente.
★ Datacenter GDPR di Norimberga · ✓ IPv4 dedicato incluso · 200+ Mbps garantiti
Self-host your VPN on your own VPS → ContaboFull root access · public IPv4 · pick your region→
