5.1 Introduzione al NAT

Un altro argomento molto interessante è il NAT. NAT è l'acronimo di Network Address Translation ed è solitamente presente in ogni router come servizio. Quindi cos'è e perché è necessario?

NAT è un punto attraverso il quale le reti locali possono essere collegate alle reti globali, come ad esempio Internet.

Come già sai, sulle reti locali, tutti i computer (e altri dispositivi connessi alla rete) hanno i propri indirizzi IP locali. E per scambiare dati con un server su Internet, è necessario che il nostro computer possa inviare una richiesta al server e il server possa inviarci una risposta. E dove dovrebbe inviare una risposta se il nostro indirizzo IP è sconosciuto al di fuori della nostra rete locale?

Immagina di scrivere una lettera cartacea a Donald Trump. Trump è un personaggio pubblico, è l'unico: questo è il nostro server pubblico. E indichi Masha come indirizzo di ritorno nella lettera. Schiaccia molto. A quale Masha dovrebbe essere inviata la risposta?

Quindi invii una lettera a un tuo conoscente a Washington, anche lui un personaggio pubblico, con rigide istruzioni di inviarla a Trump. Il tuo amico riceve una lettera, la invia a Trump e fornisce il suo indirizzo a Washington come indirizzo di ritorno.

Quindi, dopo aver ricevuto una risposta da Trump, il conoscente te la inoltra. Lo stesso con i pacchetti IP...

Per consentire a un dispositivo con un indirizzo IPv4 privato di accedere a dispositivi e risorse all'esterno della rete locale, l'indirizzo privato deve prima essere modificato in un indirizzo pubblico pubblico.

Solo NAT traduce indirizzi privati ​​in indirizzi pubblici. Ciò consente a un dispositivo con un indirizzo IP locale di accedere alle risorse al di fuori della propria rete privata. NAT, combinato con indirizzi IP locali, ha dimostrato di essere un metodo utile per mantenere gli indirizzi IPv4 pubblici.

Ci sono 8 miliardi di persone nel mondo e ci sono già molti più dispositivi di rete: telefoni, laptop, orologi intelligenti, server, qualsiasi dispositivo intelligente. E ci sono solo 4 miliardi di indirizzi IP. Sembrava molto, ma con la rapida crescita di Internet è diventato chiaro a tutti che non era abbastanza.

Qui NAT viene in soccorso: un indirizzo IPv4 pubblico può essere utilizzato da centinaia, persino migliaia di dispositivi, ognuno dei quali ha un indirizzo IPv4 locale. NAT ha l'ulteriore vantaggio di aggiungere un certo grado di privacy e sicurezza a una rete perché nasconde gli indirizzi IPv4 interni dalle reti esterne.

5.2 Sottoreti in NAT

Le LAN sono generalmente progettate con indirizzi IP privati. Questi sono indirizzi di sottoreti private 10.0.0.0/8e 172.16.0.0/12. 192.168.0.0/16Questi indirizzi IP vengono utilizzati internamente da un'organizzazione o da un sito per consentire ai dispositivi di comunicare localmente, non sono instradabili su Internet.

I router abilitati per NAT possono essere configurati con uno o più indirizzi IPv4 pubblici validi. Questi indirizzi pubblici sono chiamati pool NAT.

Quando un dispositivo sulla rete interna invia il traffico dalla rete all'esterno, il router abilitato NAT traduce l'indirizzo IP interno del dispositivo nell'indirizzo IP pubblico dal pool NAT. Per i dispositivi esterni, tutto il traffico in entrata e in uscita dalla rete sembra avere un indirizzo IP pubblico.

Un router NAT di solito opera ai margini di una rete Stub. Una rete stub è un termine della teoria delle reti: una rete stub che ha una connessione a una rete vicina, un'entrata e un'uscita dalla rete.

Quando un dispositivo all'interno della rete Stub vuole comunicare con un dispositivo esterno alla sua rete, il pacchetto viene inoltrato al router che esegue un processo NAT, traducendo l'indirizzo privato interno del dispositivo in un indirizzo pubblico, esterno e instradabile.

5.3 Terminologia NAT

Se approfondisci la teoria delle reti, NAT è una rete interna, che è un insieme di sottoreti da tradurre. La rete esterna si riferisce a tutte le altre reti.

Quando si utilizza NAT, gli indirizzi IP hanno designazioni diverse a seconda che si trovino su una rete privata o su una rete pubblica (su Internet) e se il traffico è in entrata o in uscita.

NAT include quattro tipi di indirizzi:

  • Indirizzo locale interno (Inside local address);
  • Indirizzo globale interno (Inside global address);
  • Indirizzo locale esterno ;
  • Indirizzo globale esterno (Indirizzo globale esterno);

Quando si determina il tipo di indirizzo utilizzato, è importante ricordare che la terminologia NAT viene sempre applicata dal punto di vista del dispositivo con l'indirizzo tradotto:

  • Indirizzo interno (Inside address) - indirizzo del dispositivo tradotto da NAT;
  • Indirizzo esterno : indirizzo del dispositivo di destinazione;
  • Un indirizzo locale è qualsiasi indirizzo che appare all'interno della rete;
  • Un indirizzo globale è qualsiasi indirizzo che appare all'esterno della rete.

Diamo un'occhiata a questo con un esempio di diagramma.

Il computer nell'immagine a sinistra ha un indirizzo locale interno ( Inside local ) 192.168.1.5e dal suo punto di vista il server Web ha un indirizzo esterno ( outside208.141.17.4 ) . Quando i pacchetti di dati vengono inviati dal computer all'indirizzo globale del server web, l'indirizzo locale interno ( Inside local ) del PC viene convertito in 208.141.16.5( inside global ). L'indirizzo del dispositivo esterno di solito non viene tradotto perché è un indirizzo IPv4 pubblico.

Vale la pena notare che un computer ha, per così dire, due indirizzi: indirizzi locali e globali, mentre un server web ha lo stesso indirizzo IP pubblico. Dal suo punto di vista, il traffico che ha origine dal computer proviene dall'indirizzo globale interno 208.141.16.5. Un router NAT è il punto di separazione tra reti interne ed esterne e tra indirizzi locali e globali.

I termini dentro e fuori sono combinati con i termini locale e globale per riferirsi a indirizzi specifici. Nella figura, il router è configurato per fornire NAT e dispone di un pool di indirizzi pubblici da assegnare agli host interni.

5.4 Percorso del pacchetto

Se sei già stanco, vai alla lezione successiva. Se sei ancora interessato, allora benvenuto più in basso nel wormhole.

La figura seguente mostra come il traffico viene inviato da un computer interno a un server Web esterno tramite un router abilitato NAT, inviato e ritrasmesso.

Sottoreti in NAT 3
tabella NAT del router
pc server web
Inde Global All'interno del locale fuori locale Fuori Globale
208.141.17.4 192.168.1.5 208.141.16.5 208.141.16.5

Indirizzo locale interno : l'indirizzo di origine visto dalla rete interna. Nella figura, l'indirizzo 192.168.1.5è assegnato al computer: questo è il suo indirizzo locale interno.

Indirizzo globale interno: l'indirizzo di origine visto dalla rete esterna. Nella figura, quando il traffico dal computer viene inviato al server web in 208.141.17.4, il router traduce l'indirizzo locale interno (local address) nell'indirizzo globale interno (Inside global address). In questo caso, il router modifica l' indirizzo di origine IPv4 da 192.168.1.5a 208.141.16.5.

Indirizzo globale esterno: l'indirizzo della destinazione visto dalla rete esterna. Si tratta di un indirizzo IP instradabile a livello globale assegnato a un host su Internet. Nel diagramma, il server Web è disponibile all'indirizzo 208.141.17.4. Molto spesso, gli indirizzi esterni locali ed esterni globali sono gli stessi.

Indirizzo locale esterno: l'indirizzo del destinatario visto dalla rete interna. In questo esempio, il computer invia il traffico al server web all'indirizzo208.141.17.4

Ora diamo un'occhiata all'intero percorso del pacchetto. Il computer con l'indirizzo 192.168.1.5sta tentando di comunicare con il server web 208.141.17.4. Quando un pacchetto arriva a un router abilitato NAT, legge l'indirizzo IP di destinazione del pacchetto per determinare se il pacchetto corrisponde ai criteri specificati per la traduzione. In questo esempio, l'indirizzo di origine corrisponde ai criteri e viene tradotto da 192.168.1.5(Inside local address) a 208.141.16.5(Inside global address).

Il router aggiunge questa mappatura degli indirizzi da locale a globale alla tabella NAT e invia il pacchetto con l'indirizzo di origine tradotto alla destinazione. Il web server risponde con un pacchetto indirizzato all'indirizzo globale interno del PC ( 208.141.16.5).

Il router riceve un pacchetto con un indirizzo di destinazione 208.141.16.5e controlla la tabella NAT per una voce per quella mappatura. Utilizza queste informazioni e traduce nuovamente l'indirizzo globale interno ( 208.141.16.5) nell'indirizzo locale interno ( 192.168.1.5), il pacchetto viene reindirizzato verso il PC.

5.5 Vantaggi e svantaggi del NAT

Il servizio NAT è una soluzione molto potente che viene utilizzata ovunque. NAT offre molti vantaggi tra cui:

  • NAT mantiene uno schema di indirizzamento registrato, fornendo un funzionamento LAN flessibile. Con NAT, gli host interni possono condividere un indirizzo IP pubblico per tutte le comunicazioni esterne. Questo tipo di configurazione richiede pochissimi indirizzi esterni per supportare molti host interni.
  • NAT aumenta la flessibilità delle connessioni Internet. È possibile implementare più pool, pool di backup e pool di bilanciamento del carico per fornire connessioni di rete pubbliche affidabili.
  • NAT fornisce coerenza per gli schemi di indirizzamento interno della rete. Su una rete che non utilizza indirizzi IP privati ​​e NAT, la modifica dello schema generale dell'indirizzo IP richiede il reindirizzamento di tutti gli host sulla rete esistente. Il costo dell'host forwarding può essere significativo. NAT consente di mantenere lo schema di indirizzamento privato IPv4 esistente, consentendo al contempo di modificare facilmente il nuovo schema di indirizzamento pubblico. Ciò significa che un'organizzazione può cambiare fornitore e non ha bisogno di cambiare nessuno dei suoi clienti interni.
  • NAT fornisce sicurezza di rete . Poiché le reti private non pubblicizzano i loro indirizzi o la loro topologia interna, rimangono ragionevolmente affidabili se utilizzate insieme a NAT per ottenere un accesso esterno controllato. Tuttavia, è necessario comprendere che NAT non sostituisce i firewall.

Ma NAT ha alcuni svantaggi . Il fatto che gli host su Internet sembrino parlare direttamente con un dispositivo abilitato NAT piuttosto che con un host effettivo all'interno della rete privata crea una serie di problemi:

  • Uno degli svantaggi dell'utilizzo di NAT ha a che fare con le prestazioni della rete, in particolare per i protocolli in tempo reale come il VoIP. NAT aumenta i ritardi di commutazione perché la traduzione di ciascun indirizzo IP nelle intestazioni dei pacchetti richiede tempo.
  • Un altro svantaggio dell'utilizzo di NAT è la perdita dell'indirizzamento end-to-end. Molti protocolli e applicazioni Internet si basano sull'indirizzamento end-to-end dall'origine alla destinazione. Alcune applicazioni non funzionano con NAT. Le applicazioni che utilizzano indirizzi fisici anziché un nome di dominio qualificato non riescono a raggiungere le destinazioni tradotte tramite un router NAT. Questo a volte può essere evitato implementando mappature NAT statiche.
  • Anche la traccia IPv4 end-to-end viene persa. È più difficile tracciare i pacchetti che subiscono più modifiche dell'indirizzo del pacchetto su più hop NAT, rendendo difficile la risoluzione dei problemi.
  • L'uso di NAT rende anche difficili i protocolli di tunneling come IPsec perché NAT modifica i valori nelle intestazioni che interferiscono con i controlli di integrità eseguiti da IPsec e altri protocolli di tunneling.
  • I servizi che richiedono l'avvio di connessioni TCP dalla rete esterna o protocolli stateless come quelli che utilizzano UDP potrebbero essere interrotti. Se il router NAT non è configurato per supportare questi protocolli, i pacchetti in entrata non possono raggiungere la loro destinazione.