Ho configurato un nodo di uscita Tailscale su un Hetzner CX11 a Francoforte nel marzo 2026. Costo mensile: €3,79. Risultato: 18 ms di latenza da Parigi, 680 Mbps di throughput misurato e un tunnel crittografato WireGuard che controllo riga per riga. Questa guida ti fornisce i comandi esatti che eseguiamo in produzione — non un riassunto della documentazione, non screenshot sfocati.
Cos'è un Nodo di Uscita Tailscale e Perché è Diverso da una VPN Classica
Un nodo di uscita Tailscale è un nodo nella tua rete mesh Tailscale configurato per instradare tutto il traffico Internet da altri nodi attraverso la propria connessione. In pratica: abiliti questo sul tuo VPS a Francoforte, e tutti i tuoi dispositivi (laptop a Parigi, iPhone, iPad) escono su Internet con l'IP di quel VPS.
La differenza rispetto a una VPN commerciale come NordVPN è architettonica:
- VPN commerciale: infrastruttura condivisa tra migliaia di utenti. Non controlli nulla — né il server, né la politica dei log, né la configurazione.
- WireGuard self-hosted: tunnel punto a punto tra ciascun client e il server. Ottimo per un tunnel, ma con 4 dispositivi gestisci manualmente 4 coppie di chiavi.
- Nodo di uscita Tailscale: mesh WireGuard gestita automaticamente. Il piano di controllo Tailscale gestisce le chiavi, l'attraversamento NAT e gli ACL. Designa qualsiasi nodo come nodo di uscita con un comando — tutti gli altri nodi lo utilizzano senza riconfigurazione.
Il piano dati rimane puro WireGuard — nessuna azienda vede il tuo traffico payload. Solo Tailscale Inc. vede i tuoi metadati mesh (chi parla con chi, quando), come documentato nella loro politica sulla privacy.
Per un confronto completo degli approcci self-hosting, vedi il nostro articolo miglior VPN self-host 2026 e per l'approfondimento Tailscale vs WireGuard self-host, Tailscale vs WireGuard self-host.
Prerequisiti
Prima di iniziare, hai bisogno di:
- Un account Tailscale — Il piano gratuito funziona per 1 nodo di uscita. Iscriviti su tailscale.com.
- Un server Linux — Consigliato Ubuntu 24.04 LTS (supporto di 5 anni). Funziona anche su Mac o Raspberry Pi.
- Connessione stabile >= 100 Mbps — per uso personale o familiare. Per più utenti simultanei, punta a >= 500 Mbps.
- IP pubblico dedicato — incluso di default su Hetzner, Contabo, OVH.
- Accesso root o sudo sul server.
Questa guida presuppone Ubuntu 24.04 LTS. I comandi sono identici su Debian 12, leggermente diversi su CentOS/RHEL (dnf invece di apt).
Scelta della Piattaforma per il Nodo di Uscita
| Fornitore | Prezzo | Rete | Posizione | Verdetto |
|---|---|---|---|---|
| Hetzner CX11 | €3,79/mese | 20 TB incl., 1 Gbps | Francoforte / Helsinki / Ashburn | Miglior rapporto qualità-prezzo in UE |
| Contabo VPS S | €4,99/mese | 32 TB incl., 200 Mbps | Norimberga / NYC / Singapore | Buono se già cliente Contabo |
| OVH VPS Starter | €3,59/mese | Illimitato, 100 Mbps | Gravelines / Strasburgo | Buona latenza in Francia, larghezza di banda limitata |
| AWS EC2 t2.micro | €0 (12 mesi) | 15 GB/mese inclusi | Qualsiasi regione | Livello gratuito, ma 15 GB appena sufficienti per uso continuo |
| Raspberry Pi 5 (casa) | ~€0 (solo hardware) | Collegamento ISP | La tua rete domestica | Perfetto per accesso LAN — IP ISP spesso dinamico |
La nostra scelta in produzione: Hetzner CX11 Francoforte per il benchmark di latenza Parigi. La rete di Hetzner è tra le migliori in Europa per RTT. Raspberry Pi 5 come secondario per accesso LAN domestico.
Nota su Contabo: la loro rete è pubblicizzata a 200 Mbps ma in pratica limitata a 100 Mbps al picco sul livello di ingresso. Per un nodo di uscita familiare, opta per VPS M Cloud con 200 Mbps garantiti.
Installazione Passo-Passo su Ubuntu 24.04 LTS
1. Installa Tailscale
Tailscale pubblica un installer ufficiale tramite il loro repository APT:
# Aggiungi chiave GPG e repository
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.noarmor.gpg \
| sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.tailscale-keyring.list \
| sudo tee /etc/apt/sources.list.d/tailscale.list
# Installa
sudo apt-get update
sudo apt-get install -y tailscale
# Verifica versione (Giugno 2026: v1.68+)
tailscale version
2. Abilita l'Inoltro IP
Senza questo passaggio, il nodo non può instradare il traffico dei client verso Internet. Questo è l'equivalente del masquerade di WireGuard:
echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
Verifica:
sysctl net.ipv4.ip_forward
# Dovrebbe restituire: net.ipv4.ip_forward = 1
3. Autentica e Pubblicizza il Nodo di Uscita
sudo tailscale up --advertise-exit-node
Tailscale stampa un URL nel terminale:
Per autenticarti, visita:
https://login.tailscale.com/a/xxxxxxxxxxxxxxxx
Apri questo URL nel tuo browser e accedi con il tuo account Tailscale. Il nodo appare nella tua lista macchine.
Suggerimento: per pre-autenticazione senza testa/CI, usa una chiave di autenticazione: sudo tailscale up --advertise-exit-node --authkey=tskey-auth-xxxxx.
4. Approva nella Console Amministrativa
Per impostazione predefinita, Tailscale richiede l'approvazione manuale per i nodi di uscita (funzione di sicurezza). Su login.tailscale.com/admin/machines:
- Trova il tuo nodo (es.
hetzner-cx11-fra) - Clicca
(...)→ Modifica impostazioni percorso - Seleziona Usa come nodo di uscita
- Clicca Salva
Il nodo è ora disponibile come nodo di uscita per tutti i membri della tua tailnet.
Alternativa: disabilita l'approvazione manuale globalmente in Admin → Impostazioni → Disabilita requisito di approvazione nodo di uscita. Conveniente per una tailnet personale solitaria.
5. Verifica lo Stato
tailscale status
# Il nodo dovrebbe apparire come "offre nodo di uscita"
sudo tailscale ping nome-nodo
# Dovrebbe restituire un RTT
Configurazione del Client
macOS
- Installa Tailscale dal Mac App Store o
brew install tailscale - Avvia Tailscale dalla barra dei menu
- Accedi con lo stesso account
- Clicca sull'icona Tailscale → Nodo di uscita → seleziona il tuo nodo
- Verifica:
curl ifconfig.me— l'IP mostrato deve essere l'IP del VPS
Accesso LAN: per impostazione predefinita, quando un nodo di uscita è attivo, il traffico locale (192.168.x.x) passa anche attraverso il tunnel. Per mantenere l'accesso LAN diretto: clicca su Tailscale → Consenti accesso LAN.
Windows
- Scarica da tailscale.com/download/windows
- Clicca con il tasto destro sull'icona della barra delle applicazioni → Nodo di uscita → seleziona il nodo
- Conferma il prompt di elevazione UAC
iOS e Android
- Installa l'app Tailscale da App Store / Play Store
- Accedi alla tailnet
- Vai su Impostazioni (iOS) o icona ingranaggio (Android) → Usa nodo di uscita → seleziona
Su iOS, Tailscale si integra tramite Network Extension — non è richiesto il jailbreak. La connessione sopravvive alle transizioni WiFi/4G.
Linux CLI
# Seleziona il nodo di uscita (per nome o IP Tailscale)
sudo tailscale set --exit-node=hetzner-cx11-fra
# O per IP Tailscale (100.x.y.z)
sudo tailscale set --exit-node=100.64.0.1
# Disabilita
sudo tailscale set --exit-node=
# Controlla
tailscale status | grep "exit node"
Ottimizzazioni e Risoluzione dei Problemi
Prestazioni: Controlla il Tipo di Connessione
Tailscale preferisce un tunnel WireGuard diretto (attraversamento NAT). Se due nodi non possono vedersi direttamente (NAT rigido, CGNAT), il traffico passa attraverso un relay DERP — circa 30-40% più lento:
tailscale netcheck
# Mostra quale relay è usato e se il diretto è possibile
tailscale ping nome-nodo
# "pong da ... via DERP(fra)" = relay
# "pong da ... via 1.2.3.4:41641" = diretto (preferito)
Se sei su relay nonostante entrambe le macchine abbiano IP pubblici, controlla UFW:
sudo ufw allow 41641/udp comment "Tailscale WireGuard"
sudo ufw allow 3478/udp comment "Tailscale STUN"
Perdite DNS Dopo Aver Abilitato il Nodo di Uscita
Tailscale spinge il proprio DNS (MagicDNS) ma occasionalmente lascia trapelare il DNS di sistema. Testa:
# Dal client con nodo di uscita attivo
dig +short whoami.cloudflare.com TXT @1.1.1.1
# L'IP restituito deve essere l'IP del VPS, non il tuo vero IP
Se il tuo vero IP trapela: su macOS, disabilita e riabilita il nodo di uscita. Su Linux:
sudo tailscale set --exit-node=hetzner-cx11-fra
sudo resolvectl flush-caches
MTU e Frammentazione
WireGuard riduce l'MTU effettivo di ~60 byte (overhead del tunnel). Su alcuni collegamenti questo causa cadute con pacchetti grandi (video, lunghe sessioni SSH). Risolvi:
# Sul server nodo di uscita
sudo ip link set tailscale0 mtu 1280
# Rendi permanente tramite /etc/systemd/network/ o script rc.local
Routing Kernel: Prestazioni Avanzate
Sul server, abilita il controllo della congestione BBR per un throughput migliore:
echo 'net.core.default_qdisc = fq' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv4.tcp_congestion_control = bbr' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
Questa ottimizzazione solitamente offre un modesto guadagno di throughput sotto carico — misura il prima/dopo sul tuo collegamento per confermare.
Considerazioni su Sicurezza e Privacy
Cosa Vede Tailscale Inc.
Tailscale vede solo i metadati del piano di controllo:
- Indirizzi IP Tailscale (100.x.y.z) dei tuoi nodi
- Timestamp delle strette di mano WireGuard
- Nomi delle macchine registrate nella tua tailnet
Tailscale non vede:
- Il contenuto del tuo traffico (crittografato end-to-end con WireGuard)
- Le tue query DNS (se MagicDNS disabilitato e usi un resolver DNS esterno)
- I siti web che visiti
Il piano dati è puro WireGuard. Il codice client è open source.
ACLs sul Piano Gratuito
Il piano gratuito offre ACL JSON di base per controllare quali nodi possono comunicare con quali altri. Esempio minimo per limitare il nodo di uscita solo ai tuoi dispositivi:
{
"acls": [
{
"action": "accept",
"src": ["tag:personal"],
"dst": ["tag:exit-node:*"]
}
],
"tagOwners": {
"tag:exit-node": ["autogroup:admin"],
"tag:personal": ["autogroup:admin"]
}
}
Relays DERP: Giurisdizione
Quando il traffico passa attraverso un relay DERP (caso NAT rigido), transita attraverso l'infrastruttura di Tailscale. I relay UE sono in Germania e nei Paesi Bassi. Se la giurisdizione è importante, puoi distribuire il tuo relay DERP — guida nei documenti ufficiali Tailscale.
Log Lato Server
Di default Ubuntu genera log del kernel tramite journald per le connessioni WireGuard. Per zero log:
sudo journalctl --vacuum-time=1s
Per approfondire su Tailscale vs piano di controllo self-hosted, vedi il nostro confronto Tailscale vs Headscale. E per template di configurazione WireGuard senza overhead Tailscale: Template di configurazione WireGuard 2026.
Conclusione: un nodo di uscita Tailscale su Hetzner CX11 (€3,79/mese) ti offre un tunnel VPN mesh WireGuard completamente autogestito, 18 ms Parigi-Francoforte, 680 Mbps di throughput e zero costi di larghezza di banda fino a 20 TB/mese. Il piano gratuito è sufficiente per uso personale o familiare (fino a 3 utenti). La configurazione richiede 20 minuti — i comandi sono tutti in questa guida.
★ 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→