🌐 Reti e infrastrutture

Indirizzi IP pubblici e privati: cos'è il NAT e il CGNAT

Differenza tra indirizzo IP pubblico e privato, come funzionano NAT e CGNAT, perché alcuni servizi non sono raggiungibili da fuori e come verificarlo.

Ogni dispositivo collegato a una rete IP ha bisogno di un indirizzo. Ma l'indirizzo che vedi nelle impostazioni del tuo computer quasi sempre non è quello con cui i siti ti vedono. Tra i due c'è il NAT, un meccanismo nato per risparmiare indirizzi IPv4 che oggi influenza molte scelte pratiche: dalla videosorveglianza remota al server domestico, fino al gioco online.

Com'è fatto un indirizzo IPv4

Un indirizzo IPv4 è un numero di 32 bit, scritto come quattro numeri da 0 a 255 separati da punti, per esempio 203.0.113.45. In tutto esistono circa 4,3 miliardi di combinazioni, molte meno dei dispositivi oggi connessi. Per questo gli indirizzi IPv4 pubblici sono una risorsa scarsa e preziosa.

Ogni indirizzo si accompagna a una maschera di rete (o prefisso), che indica quale parte identifica la rete e quale il singolo host. Con il prefisso /24, scritto anche 255.255.255.0, i primi tre numeri indicano la rete e l'ultimo il dispositivo: 192.168.1.0/24 comprende gli indirizzi da 192.168.1.1 a 192.168.1.254 utilizzabili dai dispositivi.

Indirizzi privati: riservati alle reti interne

La norma RFC 1918 riserva tre blocchi di indirizzi all'uso nelle reti private. Non vengono mai instradati su Internet, quindi chiunque può riutilizzarli all'interno della propria rete:

Blocco Intervallo Uso tipico
10.0.0.0/8 10.0.0.0 – 10.255.255.255 Reti aziendali grandi
172.16.0.0/12 172.16.0.0 – 172.31.255.255 Reti aziendali, container
192.168.0.0/16 192.168.0.0 – 192.168.255.255 Reti domestiche e piccoli uffici

Esistono anche altri intervalli speciali che è utile riconoscere: 127.0.0.0/8 è il loopback (il dispositivo stesso), e 169.254.0.0/16 è l'indirizzo che un computer si assegna da solo quando non riceve risposta dal server DHCP. Se vedi un indirizzo 169.254.x.x, il dispositivo non ha ottenuto una configurazione valida.

Indirizzo pubblico: come ti vede Internet

L'indirizzo pubblico è quello assegnato dal provider alla tua linea ed è unico su Internet. È l'indirizzo che compare nei log dei siti che visiti. Può essere:

  • dinamico, cioè soggetto a cambiare a ogni riconnessione o dopo un certo tempo;
  • statico, assegnato in modo fisso, spesso a pagamento o incluso nelle offerte business.

Per scoprirlo basta consultare uno dei tanti servizi che mostrano "il tuo IP", oppure la pagina di stato del router, che di solito lo indica come indirizzo WAN.

Come funziona il NAT

Il router domestico fa da tramite tra i dispositivi interni e Internet. Quando il tuo PC con indirizzo 192.168.1.20 apre una connessione verso un sito, il router:

  1. sostituisce l'indirizzo di origine con il proprio indirizzo pubblico;
  2. assegna alla connessione una porta di origine e ne prende nota in una tabella;
  3. quando arriva la risposta, consulta la tabella e la reinoltra al PC giusto.

Questa variante, che usa le porte per distinguere le connessioni, si chiama tecnicamente NAPT o PAT, ma nel linguaggio comune si dice semplicemente NAT. Permette a decine di dispositivi di condividere un solo indirizzo pubblico.

Un effetto collaterale importante: le connessioni in ingresso non richieste vengono scartate, perché il router non sa a quale dispositivo consegnarle. Per esporre un servizio interno occorre configurare un port forwarding, cioè dire al router che, per esempio, il traffico in arrivo sulla porta 443 va inoltrato al server 192.168.1.50.

Il CGNAT: quando il NAT è doppio

Molti provider, soprattutto su reti mobili, FWA e alcune offerte in fibra, non assegnano più un indirizzo pubblico a ogni cliente. Applicano invece un Carrier-Grade NAT: più clienti condividono lo stesso indirizzo pubblico, e il router di casa riceve sulla WAN un indirizzo non pubblico, spesso nell'intervallo 100.64.0.0/10, riservato proprio a questo scopo.

Come riconoscerlo:

  • l'indirizzo WAN mostrato dal router è privato o appartiene a 100.64.0.0/10;
  • non coincide con quello che vedono i siti esterni.

Con il CGNAT il port forwarding sul tuo router non basta, perché c'è un secondo NAT che non controlli. Le soluzioni pratiche sono chiedere al provider un indirizzo pubblico (alcuni lo concedono gratuitamente, altri a pagamento), usare IPv6 se disponibile, oppure affidarsi a un tunnel o a una VPN con un punto di uscita pubblico.

Indicazioni pratiche

  • Per la rete di casa scegli una sottorete poco comune, come 192.168.37.0/24: eviterai conflitti quando ti colleghi in VPN a reti che usano il classico 192.168.1.0/24.
  • Riserva nel DHCP gli indirizzi dei dispositivi che devono restare fissi, come stampanti e NAS, invece di configurarli a mano su ogni apparato.
  • Apri porte verso l'esterno solo quando è indispensabile, e preferisci una VPN per l'accesso remoto.
  • Se un servizio esposto smette di funzionare dopo un cambio di offerta, verifica subito se sei finito dietro CGNAT.

In sintesi

  • Gli indirizzi privati (10/8, 172.16/12, 192.168/16) valgono solo all'interno delle reti locali.
  • L'indirizzo pubblico identifica la tua linea su Internet e può essere statico o dinamico.
  • Il NAT permette a molti dispositivi di condividere un indirizzo, ma blocca le connessioni in ingresso non configurate.
  • Con il CGNAT il provider aggiunge un secondo NAT e il port forwarding domestico non è più sufficiente.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche