Network Address Translation (NAT) spiegato per l'IoT

La maggior parte dei dispositivi connessi a internet non ha un proprio indirizzo IP pubblico. Si trova su una rete privata, condivide un unico IP pubblico e si affida a un router che traduce tra i due. Quel router fa NAT: Network Address Translation. Questo articolo spiega cosa fa il NAT, perché è ovunque e cosa significa per la tua SIM Simbase.

Cosa fa il NAT

Un gateway NAT si trova tra una rete privata e l'internet pubblico. Il suo compito è riscrivere gli indirizzi IP dei pacchetti in modo che:

  • Il traffico in uscita da un dispositivo privato sembri provenire dall'IP pubblico del gateway.

  • Il traffico di ritorno da internet verso il gateway venga reindirizzato al dispositivo privato giusto.

Un esempio semplificato:

  1. Il tuo laptop (IP privato 192.168.1.10) invia una richiesta a un server web.

  2. Il pacchetto lascia il laptop con sorgente 192.168.1.10 e destinazione 93.184.216.34 (il server).

  3. Il router o gateway NAT intercetta il pacchetto. Sostituisce la sorgente con il proprio IP pubblico (ad esempio 203.0.113.5), registra la corrispondenza (192.168.1.10:55124) ↔ (203.0.113.5:62001) nella tabella NAT e inoltra il pacchetto.

  4. Il server risponde a 203.0.113.5:62001.

  5. Il router consulta la tabella NAT, vede che corrisponde a 192.168.1.10:55124, riscrive la destinazione e inoltra la risposta al tuo laptop.

Il tuo laptop non ha mai saputo di essere dietro un NAT. Il server web non ha mai saputo che esistesse una rete privata.

Perché esiste il NAT

Per tre motivi:

  1. Risparmio di indirizzi IPv4. Esistono circa 4,3 miliardi di indirizzi IPv4, ma molti più dispositivi. Il NAT permette a migliaia di dispositivi di condividere un solo indirizzo.

  2. Protezione indiretta. I dispositivi dietro NAT non sono raggiungibili direttamente da internet. I pacchetti che arrivano al gateway senza una voce corrispondente nella tabella NAT vengono scartati. È un comportamento predefinito utile, ma non è un firewall e non dovresti usarlo come tale.

  3. Reti indipendenti. Ogni rete privata può usare lo stesso spazio di indirizzi (192.168.x.x) senza coordinarsi con nessuno.

Gli svantaggi del NAT

  • Le connessioni in entrata sono bloccate per impostazione predefinita. Se qualcosa su internet vuole comunicare con il tuo dispositivo, non può avviare la connessione. Esistono soluzioni alternative (port forwarding, NAT traversal, hole punching), ma sono complesse e poco affidabili.

  • Alcuni protocolli hanno difficoltà. Tutto ciò che inserisce indirizzi IP nei dati applicativi (VoIP di vecchia generazione, FTP in modalità attiva, alcuni protocolli VPN) non funziona dietro NAT, a meno che il gateway non abbia helper specifici.

  • Il connection tracking ha dei limiti. I dispositivi con throughput molto elevato possono esaurire la tabella NAT dei gateway più piccoli.

  • Il logging è più complicato. Visti da internet, tutti i tuoi dispositivi sembrano un unico IP: per attribuire il traffico a un dispositivo specifico servono i log del gateway NAT.

Il NAT e le SIM Simbase

Per impostazione predefinita, ogni SIM Simbase si trova dietro un gateway NAT nel core mobile di Simbase. Questo significa che:

  • La SIM può avviare connessioni in uscita verso le tue API, i broker MQTT, i server web e qualsiasi cosa su internet.

  • La SIM non può accettare connessioni in entrata. I tuoi server non possono aprire una connessione diretta verso la SIM.

  • La SIM riceve un IP privato non visibile da internet.

Per i casi d'uso IoT tipici (un dispositivo che interroga un server o invia dati via MQTT o HTTP), è esattamente quello che ti serve. È sicuro, semplice e non costa nulla in più.

Quando il NAT diventa un problema

Il NAT ti ostacola quando devi raggiungere il dispositivo dall'esterno:

  • SSH da remoto su un router o gateway

  • Interfaccia di configurazione da remoto su un dispositivo installato sul campo

  • Push avviato dal server verso il dispositivo (ad esempio "svegliati e invia i dati")

  • Hosting di un servizio sul dispositivo (server web, flusso video RTSP)

  • VPN site-to-site terminata sul dispositivo

In tutti questi casi devi aggirare il NAT per quella SIM. Simbase lo fa assegnando un IP pubblico, che instrada il traffico attraverso un gateway dedicato con un indirizzo instradabile.

Consulta IP pubblici per i passaggi.

NAT o CGNAT

Nelle discussioni sulle reti cellulari potresti trovare il CGNAT (Carrier-Grade NAT). Il CGNAT è un NAT gestito a livello di operatore: l'operatore ti mette dietro il proprio IP pubblico prima che il traffico raggiunga internet. La maggior parte delle reti mobili consumer usa il CGNAT. Dal punto di vista del dispositivo, è identico a un normale NAT.

Le SIM senza IP pubblico passano dal NAT del gateway Simbase. L'effetto è lo stesso del CGNAT su una rete mobile consumer: un IP privato sul dispositivo, un indirizzo pubblico condiviso verso internet e nessuna connessione in entrata.

Domande frequenti

No. Il port forwarding richiede il controllo del gateway NAT. Il gateway NAT di Simbase è condiviso e non è configurabile dall'utente. Se ti serve accesso in entrata su porte specifiche, assegna un IP pubblico e usa le regole firewall di quel gateway.

No. MQTT usa una connessione in uscita di lunga durata. Il client la apre, il broker la tiene aperta e i messaggi viaggiano in entrambe le direzioni su quell'unica connessione. Il NAT la gestisce senza problemi.

No, il gateway NAT le isola. Possono comunicare tramite un server pubblico (o una VPN) che entrambe raggiungono in uscita.

Indirettamente. Simbase assegna gli IP tramite DHCP all'attach, quindi la SIM può ricevere un IP privato diverso ogni volta. Per le connessioni in uscita il NAT gestisce tutto in modo trasparente. Se ti serve un indirizzo stabile, assegna un IP pubblico per avere un indirizzo statico instradabile, oppure usa una rete privata per un indirizzamento statico all'interno della tua subnet.

Articoli correlati