VPNSmith
self-host-vpnINFO

WireGuard dietro CGNAT: perché il port forwarding fallisce e come risolverlo (2026)

WireGuard funziona sulla LAN ma non dall'esterno? Il colpevole è di solito il CGNAT - il tuo ISP condivide un IP pubblico, quindi il port forwarding non serve. Come confermarlo e le soluzioni oneste, da un VPS con IP pubblico alle reti con NAT traversal.

Di Eric Gerard · Fondatore · VPNSmith - Specialista in VPN autogestite e VPS GDPR4 min letturaPhoto via Pexels

Hai installato WireGuard sul tuo server di casa, aperto l'UDP 51820, inoltrato la porta sul router - e ancora non si connette dall'esterno. Prima di ricontrollare la configurazione per la decima volta, sospetta della rete: il motivo più comune per cui un VPN self-hosted non è raggiungibile da internet è il CGNAT, e nessuna configurazione del router lo risolve. Ecco cos'è, come confermarlo e le soluzioni che funzionano davvero.

Cos'è il CGNAT e perché rompe il self-hosting

Il CGNAT (Carrier-Grade NAT) è il modo in cui molti ISP affrontano la scarsità di indirizzi IPv4: invece di dare a ogni cliente il proprio IP pubblico, mettono molti clienti dietro un unico indirizzo pubblico condiviso. Il lato WAN del tuo router riceve un indirizzo di intervallo privato (spesso in 100.64.0.0/10), e il NAT dell'ISP decide cosa entra.

La conseguenza è semplice e frustrante: nessun IP pubblico punta alla tua linea, quindi le connessioni in ingresso non hanno dove atterrare. Il port forwarding sul router controlla solo il traffico che ha già raggiunto il router - e con il CGNAT non ci arriva mai, perché il blocco è un livello più su, dentro l'ISP.

Come verificare se sei dietro CGNAT

Puoi confermarlo in un minuto. Apri la pagina di amministrazione del router e trova il suo IP WAN. Poi controlla il tuo IP pubblico su un servizio come whatismyip. Se i due non coincidono, sei dietro CGNAT. Un IP WAN del router in 100.64.0.0/10, o un intervallo privato come 10.x.x.x o 192.168.x.x, è un segnale inequivocabile.

Un router e modem dell'ISP accanto a un televisore - il dispositivo che sta dietro il CGNAT, dove il port forwarding in ingresso spesso fallisce.
Un router e modem dell'ISP accanto a un televisore - il dispositivo che sta dietro il CGNAT, dove il port forwarding in ingresso spesso fallisce.

Le soluzioni, dalla più pulita alla più arrangiata

  • Un VPS con IP pubblico (la più affidabile). Ospita WireGuard su un VPS economico. Ha un vero IPv4 pubblico, quindi nessun NAT da combattere - i tuoi dispositivi si collegano direttamente. Se devi anche raggiungere la tua LAN di casa, avvia un piccolo tunnel da casa verso il VPS; quella connessione è in uscita, cosa che il CGNAT consente.
  • Una rete con NAT traversal (la più facile). Tailscale, il Headscale self-hosted, o Netbird usano connessioni in uscita e server relay per collegare due dispositivi dietro NAT, senza alcun port forwarding. Vedi cos'è Tailscale e come funziona.
  • Chiedi un IP pubblico al tuo ISP. Alcuni ti tolgono dal CGNAT o ti vendono un IP statico, a volte per un piccolo costo.
  • IPv6. Se il tuo ISP fornisce IPv6 reale e instradabile, WireGuard su IPv6 evita il problema dell'IPv4 condiviso - a patto che entrambe le estremità abbiano IPv6 funzionante.
  • Tunnel inversi. Cloudflare Tunnel, wstunnel o un tunnel SSH inverso si avviano in uscita da casa verso un endpoint pubblico, quindi passano anch'essi il CGNAT.

Qualunque strada scegli, ti servirà un nome stabile per raggiungerla; la nostra guida al DNS dinamico spiega come tenere un hostname puntato su un indirizzo che cambia.

Perché la via del VPS è di solito la migliore

Per un VPN su cui fai affidamento, un VPS con il proprio IP pubblico elimina l'intera classe di problemi. Ottieni un indirizzo prevedibile, pieno controllo di firewall e porta, nessuna dipendenza dalla buona volontà dell'ISP, e funge anche da exit node se ne vuoi uno. Il compromesso onesto sono pochi euro al mese e la piccola responsabilità di tenere il server aggiornato.

Cavi patch in fibra collegati a uno switch di rete in un data center - un VPS ti dà un IP pubblico lì, aggirando del tutto il CGNAT domestico.
Cavi patch in fibra collegati a uno switch di rete in un data center - un VPS ti dà un IP pubblico lì, aggirando del tutto il CGNAT domestico.

★ Datacenter GDPR di Norimberga · ✓ IPv4 dedicato incluso · 200+ Mbps garantiti

Ottieni un IP pubblico con un VPS - senza port forwarding → ContaboVero IPv4 pubblico · Controlli tu firewall e porta · Ospita WireGuard raggiungibile ovunque, oltre il CGNAT

In sintesi

Se WireGuard si connette bene sulla rete locale ma mai dall'esterno, sospetta del CGNAT prima della tua configurazione. Confermalo con il confronto IP WAN contro IP pubblico, poi scegli una soluzione: un VPS con IP pubblico è la più affidabile e quella su cui si fermano la maggior parte dei self-hoster, una rete con NAT traversal è l'opzione senza forwarding più semplice, e IPv6 o un IP pubblico dell'ISP funzionano bene dove sono disponibili. Il problema è la condivisione degli indirizzi del tuo ISP, non il tuo file WireGuard.

★ Datacenter GDPR di Norimberga · ✓ IPv4 dedicato incluso · 200+ Mbps garantiti

Ospita la tua VPN sul tuo VPS → ContaboAccesso root completo · IPv4 pubblico · scegli la tua regione

Domande frequenti

Come faccio a sapere se sono dietro CGNAT?
Confronta due indirizzi. Accedi al router e annota il suo IP WAN; poi controlla il tuo IP pubblico su un sito come whatismyip. Se sono diversi - o l'IP WAN del router è in 100.64.0.0/10 (l'intervallo CGNAT riservato), o in un intervallo privato come 10.x o 192.168.x - sei dietro Carrier-Grade NAT. Mobile, internet 4G/5G casalingo e alcuni piani fibra lo usano di più. Un traceroute che mostra un salto ISP in più prima di internet è un altro segnale.
Posso fare port forwarding di WireGuard dietro CGNAT?
No. Inoltrare l'UDP 51820 sul tuo router non fa nulla, perché il NAT che blocca è a monte presso l'ISP, non sul tuo router. Non hai un vero IP pubblico verso cui inoltrare. Le soluzioni lo aggirano: ospitare WireGuard su un VPS con IP pubblico, usare una rete con NAT traversal (Tailscale, Headscale, Netbird), usare IPv6 se l'ISP lo fornisce, o chiedere all'ISP un IP pubblico senza CGNAT.
Un VPS risolve WireGuard dietro CGNAT?
Sì, ed è di solito la soluzione più affidabile. Un VPS ha un vero IPv4 pubblico instradabile, quindi nessun NAT da combattere. O ospiti WireGuard direttamente sul VPS, o avvii un piccolo tunnel in uscita dal tuo server di casa verso il VPS - le connessioni in uscita passano bene attraverso il CGNAT, quindi la tua macchina di casa resta raggiungibile tramite il VPS. Controlli firewall e porta, senza dipendere dall'ISP.
Tailscale o Headscale funzionano dietro CGNAT?
Di solito sì. Le reti con NAT traversal come Tailscale, il suo piano di controllo self-hosted Headscale, e Netbird sono fatte apposta: stabiliscono connessioni in uscita e usano server relay per collegare due dispositivi entrambi dietro NAT, senza alcun port forwarding. Sono l'opzione più semplice, senza configurazione, quando WireGuard puro non riesce a ottenere una porta in ingresso.
IPv6 è una soluzione al CGNAT?
Può esserlo. Molte configurazioni CGNAT forniscono comunque IPv6 reale e instradabile, e WireGuard gira bene su IPv6 - il che aggira del tutto il collo di bottiglia dell'IPv4 condiviso. Il problema è che IPv6 deve funzionare da un capo all'altro: il tuo server serve un indirizzo IPv6 stabile e una regola firewall, e anche la rete del client deve supportare IPv6. Dove vale, è una soluzione pulita e gratuita; dove no, ripiega su un VPS o una mesh.