Che cos’è NAT?
Network Address Translation (NAT) consente a un host che non ha un indirizzo IP registrato di comunicare con altri host su Internet. NAT ha ottenuto un’accettazione così ampia che la maggior parte delle reti aziendali oggi utilizza indirizzi IP privati ​​per la maggior parte degli host sulla propria rete e utilizza un piccolo blocco di indirizzi IP pubblici, con NAT che si traduce tra i due.
Essendo arrivato così lontano negli studi CCNA, dovresti essere ben consapevole del formato dell’intestazione IP. L’intestazione del pacchetto IP contiene diversi campi, il più noto dei quali è probabilmente l’ indirizzo IP di origine e l’ indirizzo IP di destinazione . NAT traduce semplicemente o modifica uno o entrambi questi indirizzi all’interno di un’intestazione del pacchetto mentre il pacchetto passa attraverso il router eseguendo l’operazione NAT. Questa è l’operazione NAT di base, niente di più, niente di meno.
Scopo del NAT?
NAT è una funzionalità che consente alla rete interna di un’organizzazione di sembrare che utilizza uno spazio di indirizzi IP diverso dall’esterno rispetto a quello che sta effettivamente utilizzando. Pertanto, NAT consente a un’organizzazione di utilizzare indirizzi IP privati ​​che non sono instradabili a livello globale e tuttavia si connettono a Internet traducendo tali indirizzi privati ​​in indirizzi instradabili a livello globale. Il bello del NAT è che gli host sulla rete interna che usano NAT per comunicare con il mondo esterno non devono essere consapevoli dell’esistenza stessa del NAT. La configurazione NAT esiste solo sul router o su un altro dispositivo in genere al limite della rete interna. A causa di questo aspetto di NAT, un’organizzazione può anche cambiare i fornitori di servizi senza alcuna modifica degli indirizzi IP configurati sui singoli host. La modifica dei fornitori di servizi modifica anche gli indirizzi IP pubblici disponibili per un’azienda. Il dispositivo che esegue NAT può avere la sua configurazione modificata e questo è tutto ciò che devi fare mentre cambi il tuo ISP.
Vantaggi della NAT
Internet Protocol (IP) o IPv4, come è più precisamente noto, utilizza indirizzi lunghi 32 bit. Pertanto, lo spazio di indirizzi totale di IP è compreso tra 0 e 2 32 – 1 = 4.294.967.295. In altre parole, sono disponibili oltre quattro miliardi di indirizzi IP univoci da assegnare agli host. Questi indirizzi IP sono gli indirizzi IP registrati gestiti centralmente. Sebbene quattro miliardi possano sembrare un numero molto elevato, a causa della crescita esplosiva di Internet nel corso degli anni, abbiamo già esaurito la maggior parte di quegli indirizzi IP.
RFC 1918 specifica tre blocchi di spazio degli indirizzi IP riservati da Internet Assigned Numbers Authority (IANA) per le reti private.
Tabella 10-1 Indirizzi IP privati
Classe di indirizzo | Numero di reti | Spazio indirizzo privato |
UN | 1 | 10.0.0.0 – 10.255.255.255 |
B | 16 | 172.16.0.0 – 172.31.255.255 |
C | 256 | 192.168.0.0 – 192.168.255.255 |
Un’azienda può assegnare questi indirizzi IP privati ​​all’host interno senza la necessità di indirizzi IP registrati. Un router o un altro dispositivo può essere utilizzato per eseguire Network Address Translation (NAT) per convertire questi indirizzi IP privati ​​in indirizzi IP pubblici instradabili su Internet.
Network Address Translation (NAT) è definito in RFC 1631. L’intenzione originale di NAT era quella di rallentare l’esaurimento degli indirizzi IP disponibili consentendo a molti indirizzi IP privati ​​di essere rappresentati da un numero inferiore di indirizzi IP pubblici. NAT era considerato una soluzione temporanea al problema dell’esaurimento dell’indirizzo IP versione 4. La soluzione permanente era una migrazione da IP versione 4 a IP versione 6 (IPv6). IPv6 ha indirizzi a 128 bit e uno spazio di indirizzi molto più grande dovrebbe risolvere il problema della scarsità di indirizzi per sempre. Ma NAT ha avuto un tale successo che ha ritardato di alcuni anni l’esaurimento completo dell’indirizzo IPv4.
NAT ha anche trovato altre applicazioni che non riguardano direttamente la conservazione dell’indirizzo IP. Una di queste applicazioni NAT è la fusione di due società e quindi delle loro reti interne. Le due società avrebbero in precedenza due reti separate. Dopo la fusione i loro due internetwork dovrebbero essere collegati insieme. Sfortunatamente, quando le due reti separate sono state costruite per la prima volta diversi anni fa, nessuno aveva previsto una futura fusione. Quindi i progettisti di entrambe le reti hanno scelto di utilizzare lo spazio degli indirizzi 10.0.0.0. Di conseguenza, molti indirizzi IP verrebbero assegnati ai dispositivi in ​​entrambe le reti. NAT può essere utilizzato come soluzione temporanea per connettere le reti interne. Tieni presente che la soluzione migliore in una situazione del genere è quella di ricollegare la nuova rete interna. Ma il reindirizzamento può essere un progetto importante se tutti i dispositivi hanno indirizzi IP configurati manualmente. NAT può servire come soluzione temporanea.
NAT consente alle organizzazioni di risolvere il problema dell’esaurimento degli indirizzi IP quando desiderano connettere nuove reti a Internet. NAT consente alle organizzazioni di connettere le proprie reti a Internet senza la necessità di disporre di indirizzi IP registrati nel Network Information Center (NIC) assegnati ai propri sistemi interni.
Ci sono organizzazioni che hanno già registrato gli indirizzi IP per gli host su una rete interna ma vogliono nascondere quegli indirizzi da Internet in modo che gli hacker non possano attaccare facilmente quegli host. Se l’indirizzo host è nascosto, viene raggiunto un livello di sicurezza. NAT può essere utile in questa situazione in cui il motivo non è principalmente la conservazione dell’indirizzo IP, ma l’applicazione di politiche di sicurezza aziendale al traffico di rete.
Un grande vantaggio di NAT è che deve essere configurato solo su quei pochi router che potrebbero effettivamente eseguire l’operazione NAT. Gli host o altri router che non eseguono operazioni NAT non necessitano di modifiche alla configurazione.
Svantaggi della NAT
Network Address Translation (NAT) si basa sulla modifica di indirizzi IP e numeri di porta all’interno di un’intestazione del pacchetto IP che crea anche alcuni problemi. La modifica del contenuto di un indirizzo IP o porta TCP può modificare il significato di alcuni degli altri campi, in particolare il checksum. Ad esempio, il checksum di un pacchetto IP viene calcolato sull’intera intestazione IP. Pertanto, se l’indirizzo IP di origine o di destinazione (o entrambi) cambia, il checksum deve essere nuovamente calcolato. Lo stesso vale anche per il checksum nell’intestazione TCP. Questo numero viene calcolato sull’intestazione e sui dati TCP e anche su una pseudo-intestazione che include gli indirizzi IP di origine e destinazione. Pertanto, se un indirizzo IP o un numero di porta cambia, anche il checksum TCP deve cambiare. NAT implementato sui router Cisco esegue questi ricalcoli. Questo è un lavoro extra per il router che esegue NAT.
NAT dovrebbe essere trasparente per i sistemi finali che inviano pacchetti attraverso di esso. Tuttavia, molte applicazioni utilizzano gli indirizzi IP a livello di applicazione. Le informazioni all’interno del campo dati possono essere basate su un indirizzo IP oppure un indirizzo IP stesso può essere riportato nel campo dati. Se NAT traduce un indirizzo nell’intestazione IP senza essere a conoscenza degli effetti sui dati, l’applicazione si interrompe.
È un dato di fatto, l’implementazione NAT di Cisco va oltre la traduzione degli indirizzi nell’intestazione IP per le applicazioni che supporta. Per le applicazioni supportate che trasportano informazioni sull’indirizzo IP nei dati dell’applicazione, NAT apporta anche le correzioni appropriate ai dati. Ciò impedisce la rottura dell’applicazione a causa della NAT.
Tuttavia, se i campi di dati sono crittografati, NAT non ha modo di leggere i dati. Pertanto, affinché NAT funzioni correttamente, né gli indirizzi IP né le informazioni da essi derivate (come il checksum dell’intestazione TCP) possono essere crittografati. Ma questo non è il caso delle reti private virtuali (VPN), ad esempio IPsec. Con alcune modalità di IPsec, se un indirizzo IP viene modificato in un pacchetto IPsec, IPsec diventa insignificante e la VPN viene interrotta. Quando viene utilizzato qualsiasi tipo di crittografia, è necessario eseguire NAT sul lato sicuro prima della crittografia, anziché nel percorso crittografato.
NAT è anche visto a volte come parte di un piano di sicurezza, perché nasconde i dettagli della rete interna dal mondo esterno. Un host con indirizzo tradotto può apparire su Internet con un indirizzo un giorno e con un indirizzo diverso un altro giorno. Ma tieni presente che questa è una sicurezza molto debole al massimo. Potrebbe rallentare un attaccante che vuole colpire un determinato host, ma non lo fermerà se è determinato.
Indirizzi interni ed esterni NAT
Definiamo alcuni termini di base ma importanti nel contesto di NAT. Prima di passare alle definizioni, dai un’occhiata alla Figura 10-1 per capire il contesto in cui NAT opera normalmente.
Figura 10-1 Contesto NAT
Un dispositivo che esegue Network Address Translation (NAT) divide il suo universo all’interno e all’esterno . In genere l’interno è un’impresa privata con la sua rete interna e host connessi a quella rete. L’esterno invece è Internet pubblico e i server raggiungibili su di esso. Oltre alla nozione di interno ed esterno, un router Cisco NAT classifica gli indirizzi come locali o globali . Un indirizzo locale è un indirizzo visualizzato dai dispositivi all’interno e un indirizzo globale è un indirizzo visualizzato dai dispositivi all’esterno.
Dati questi quattro termini, un indirizzo può essere di quattro tipi:
- 1. Gli indirizzi locali interni sono assegnati ai dispositivi interni. Questi indirizzi non sono pubblicizzati all’esterno.
- 2. Inside global sono indirizzi tramite i quali i dispositivi interni sono noti all’esterno.
- 3. Gli indirizzi locali esterni sono indirizzi tramite i quali i dispositivi esterni sono noti all’interno.
- 4. Gli indirizzi globali esterni sono assegnati a dispositivi esterni. Questi indirizzi non sono pubblicizzati all’interno.
Tipi di NAT
In generale, NAT è configurato su un router Cisco che collega solo due reti e traduce gli indirizzi interni (privati) dalla rete interna in indirizzi globali (pubblici). Nella maggior parte degli scenari comuni, gli indirizzi esterni non vengono tradotti, quindi gli indirizzi locali esterni e globali sono gli stessi. È possibile configurare NAT in modo tale da pubblicizzare un solo indirizzo per l’intera rete al mondo esterno. In questo modo si nascondono efficacemente gli indirizzi nella rete interna dall’ambiente ostile di Internet. Pertanto, offrendoti ulteriore sicurezza e tranquillità come amministratore di rete.
NAT ha i seguenti tipi:
- NAT statico: il NAT statico esegue la traduzione di indirizzi statici consentendo la mappatura individuale tra indirizzi locali e globali. Tuttavia, è necessario tenere presente che il NAT statico richiede di disporre di un indirizzo IP pubblico registrato per ogni host sulla rete. Poiché tale NAT statico non ha alcun vantaggio in termini di conservazione dell’indirizzo IP. Tuttavia, il NAT statico è importante per la comprensione del NAT.
- NAT dinamico: NAT dinamico esegue la traduzione dinamica degli indirizzi mappando gli indirizzi IP privati ​​non registrati sugli indirizzi IP pubblici registrati da un pool di indirizzi IP registrati disponibili. Non è necessario configurare staticamente il router per mappare un interno a un indirizzo esterno come se si utilizzasse NAT statico. Tuttavia, è necessario disporre di un numero sufficiente di indirizzi IP pubblici registrati per tutti coloro che comunicheranno a Internet. Anche il NAT dinamico non aiuta con il problema della conservazione dell’indirizzo IP.
- Sovraccarico NAT: il sovraccarico NAT esegue un sovraccarico mappando più indirizzi IP privati ​​non registrati su un singolo indirizzo IP pubblico registrato. È un mapping molti-a-uno tra indirizzi privati ​​e pubblici e viene realizzato utilizzando numeri di porta diversi. Questo metodo è anche noto come Port Address Translation (PAT). Utilizzando il sovraccarico PAT o NAT, centinaia o addirittura migliaia di utenti possono essere connessi a Internet utilizzando un solo indirizzo IP globale reale. Questo è il tipo NAT più popolare che fondamentalmente è una forma di mappa dinamica ma con più indirizzi IP non registrati mappati su un singolo indirizzo IP registrato. NAT dinamico è uno a uno mentre NAT Sovraccarico o PAT è molti-a-uno sebbene entrambe le forme eseguano la mappatura in modo dinamico. Il sovraccarico NAT è il tipo di NAT che ci ha permesso di non rimanere senza indirizzi IP su Internet.
Concetto dell’esame – I tre metodi di Network Address Translation (NAT) sono statici, dinamici e di sovraccarico, che è anche chiamato Port Address Translation (PAT). Sei sicuro di vedere domande sull’esame CCNA che contrappongono ciascuna.
Impareremo come configurare ciascuno di questi tre tipi di NAT in questo capitolo.
Come funziona NAT?
Diamo un’occhiata alla Figura 10-2 che presenta uno scenario NAT di base. Spiegheremo le basi dell’operazione NAT con l’aiuto di questo scenario e la comprensione che svilupperai qui dovrebbe aiutarti anche a capire il resto del capitolo.
Figura 10-2 Operazioni NAT di base
Finora abbiamo definito diversi termini relativi a NAT. È il momento giusto per testare questa comprensione nel contesto della Figura 10-2. R1 è il router che esegue NAT e ha due interfacce: Fa0 / 0 come interfaccia interna mentre Fa0 / 1 è l’interfaccia esterna. Un PC con indirizzo IP 192.168.1.2 all’interno deve comunicare con un server con indirizzo IP 173.194.67.102 all’esterno.
Tabella 10-2 Tipi di indirizzi NAT
Tipo di indirizzo NAT | Indirizzo IP |
All’interno locale | 192.168.1.2 |
All’interno globale | 67.210.97.212 |
Al di fuori del locale | 173.194.67.102 |
Fuori dal globale | 173.194.67.102 |
Proviamo a capire cosa succede ai pacchetti IP che viaggiano avanti e indietro tra il PC e il server mentre si spostano su R1 – il router che esegue l’operazione NAT. In parole semplici, gli indirizzi IP nell’intestazione di quei pacchetti IP vengono riscritti con R1, mantenendo anche un registro di queste riscritture o traduzioni in una tabella nota non sorprendentemente come tabella di traduzione.
Consideriamo innanzitutto un pacchetto che si sposta dall’interno all’esterno. Questo pacchetto ha indirizzi IP di origine e destinazione rispettivamente di 192.168.1.2 e 173.194.67.102. Il pacchetto entra nel router R1 dalla sua interfaccia interna Fa0 / 0 ed esce dall’interfaccia esterna Fa0 / 1. Prima che il pacchetto esca effettivamente da R1, l’indirizzo di origine viene riscritto. L’indirizzo IP locale interno 192.168.1.2 viene sostituito con l’indirizzo IP globale interno 67.210.97.212. L’indirizzo IP di destinazione non viene toccato qui, pertanto sia l’indirizzo locale esterno che quello globale sono entrambi 173.194.67.102. E alcuni di voi potrebbero aver identificato che l’indirizzo globale interno è in realtà l’indirizzo IP configurato sull’interfaccia esterna Fa0 / 1 di R1. Al mondo esterno, il pacchetto sembra aver avuto origine dall’indirizzo IP 67.210.97.212 e l’indirizzo IP locale interno 192.168.1.2 non è mai noto al mondo esterno! Per i pacchetti che si spostano nella direzione opposta, dall’esterno verso l’interno, l’indirizzo IP di destinazione 67.210.97.212 viene riscritto con 192.168.1.2 mentre l’indirizzo IP di origine rimane invariato. Il PC e il server possono comunicare correttamente ma il server o qualsiasi entità esterna non conosce il vero indirizzo IP del PC.
Nelle prossime sezioni impareremo in dettaglio come configurare effettivamente Network Address (NAT) su un router Cisco per tutti e tre i tipi di NAT.