NAT

COS’E’ IL NAT?

Il NAT (Network Address Translation) è un meccanismo che permette di modificare l’indirizzo IP dei pacchetti in transito attraverso apparati di rete (router, firewall..) in una comunicazione in corso tra due o più nodi di rete. Esistono due tipi di NAT: statico e overload, i quali si applicano a seconda della rete in cui ci troviamo.

NAT STATICO

Il NAT statico rende visibile, su una rete esterna pubblica, una macchina con IP privato. Ogni macchina che deve essere visibile sulla rete esterna pubblica, avrà un suo IP, che poi viene introdotto tramite NAT sull’ ultimo router che confini con la rete privata.

Il NAT statico viene configurato sul router1 a cui è collegato il server.

Router1

Router>en

Router#conf t

Enter configuration commands, one per line. End with CNTL/Z.

Router(config)#interface Fa0/0

Router(config-if)#ip nat inside                        //definisco la porta come NIC interna

Router(config-if)#exit

Router(config)#interface Fa4/0

Router(config-if)#ip nat outside                      //definisco la porta come NIC esterna

Router(config-if)#exit

Router(config)#ip nat inside source static 192.168.8.8 108.0.0.8      //definisco il NAT per IP locale

Router(config)#

Router(config)#ip nat inside source static 192.168.8.4 108.0.0.4       //definisco il NAT per IP locale

Router(config)#

Nel codice sopra è stato configurato il NAT statico per i due server DNS, si è omesso il codice per la configurazione del routing RIP e della configurazione IP delle interface del router. Dopo questa configurazione, i due server, escono sulla rete pubblica con IP pubblico e non con IP della rete privata. Inoltre, abbiamo omesso i passaggi della configurazione dei server DNS dell’area gialla, argomento già affrontato in precedenza.

 

NAT OVERLOAD

A differenza dello statico che ha più IP pubblici che si interfacciano con altre macchine private, nel NAT overload si ha un solo indirizzo IP disponibile verso la rete esterna pubblica, e si deve utilizzare quello per interfacciare all’esterno più macchine della rete privata. Il NAT Overload, oltre all’IP, viene assegnato anche un numero di porta.

Il NAT Overload deve essere configurato sul router0 dei pc.

Router0

Router>

Router>en

Router#conf t

Enter configuration commands, one per line. End with CNTL/Z.

Router(config)#interface Fa4/0

Come per il NAT statico, devo configurare le interface come NIC interna ed esterna alla rete.

Router(config-if)#ip nat outside

Router(config-if)#exit

Router(config)#interface Fa1/0

Router(config-if)#ip nat inside

Router(config-if)#exit

Router(config)#

Successivamente, si prosegue alla configurazione del NAT overload.

Router(config)#

Router(config)#access-list 1 permit 192.168.0.0 0.0.0.255

Router(config)#ip nat inside source list 1 interface Fa4/0 overload

Router(config)#

Nel codice precedente si crea la lista 1 che raggruppa tutti gli ip della rete locale e gli si consente di traslare su di un unico indirizzo pubblico, quello dell’interfaccia Fa4/0, per uscire su rete pubblica.

Il NAT OVERLOAD è la situazione con cui il nostro router home di casa lavora per accedere ai servizi della rete pubblica.

 

NAT DYNAMIC

Il dynamic nat prevede un pool di ip pubblici che possono essere utilizzati dai device della rete interna per uscire sulla rete pubblica. Ora, dalle indicazioni riportate nello schema logico, proviamo ad eseguire i comandi per la configurazione del Router0.

Entriamo nell’ambiente CLI del Router0:

Router>en

Router#conf t

Enter configuration commands, one per line. End with CNTL/Z.

Generiamo un pool di indirizzi ai quali attingere ip pubblici per navigare nella rete esterna.

Router(config)#ip nat pool test 40.30.20.10 40.30.20.100 netmask 255.255.255.0

Router(config)#access-list 10 permit 10.0.0.0 0.0.0.255

Associamo alla lista 10(numero a piacere) la rete interna(10.0.0.0/24) con la sua relativa wildcard.

Router(config)#exit

Router#

Router#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

Router(config)#interface FastEthernet0/0

Router(config-if)#ip nat inside

Router(config-if)#exit

Router(config)#

Router(config)#interface FastEthernet0/0

Router(config-if)#exit

Router(config)#interface Fa1/0

Router(config-if)#ip nat outside

Router(config-if)#exit

Nel codice precedente abbiamo individuato la NIC interne e quella esterna.

Associamo alla list 10 il pool di indirizzi generato

Router(config)#ip nat inside source list 10 pool test

Router(config)#

I comandi che seguono sono per impostare gli ip(Gateway) e subnet delle interfacce del Router.

Router(config)#interface FastEthernet0/0

Router(config-if)#ip add 10.0.0.254 255.255.255.0

Router(config-if)#exit

Router(config)#int Fa1/0

Router(config-if)#ip add 20.0.0.254 255.255.255.0

Router(config-if)#no shut down

Router(config-if)#

%LINK-5-CHANGED: Interface FastEthernet1/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0, changed state to up

Router(config-if)#int Fa0/0

Router(config-if)#no shut down

Router(config-if)#

%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

Router(config-if)#exit

Router(config)#

Router(config)#exit

Con il commando no shut down si portano ad ON le NIC interface.

Ora, utilizzando il comando che segue, visualizziamo la tabella del NAT TRASLATION.

Router#

Router#show ip nat

Router#show ip nat tr

Router#show ip nat translations

Pro Inside global Inside local Outside local Outside global

icmp 40.30.20.10:2 10.0.0.1:2 20.0.0.1:2 20.0.0.1:2

icmp 40.30.20.10:3 10.0.0.1:3 20.0.0.1:3 20.0.0.1:3

Router#

%SYS-5-CONFIG_I: Configured from console by console

In base al numero di PDU generate in successione, vengono utilizzati gli IP del pool. Infatti, nella prima parte abbiamo generato una sola PDU ed un solo IP dal pool è stato occupato.

Nella successiva simulazione, sono state generate due PDU verso il server e, dalla tabella del NAT traslation, notiamo che risultano due IP pubblici utilizzati.

Router#

Router#show ip nat translations

Pro Inside global Inside local Outside local Outside global

icmp 40.30.20.10:6 10.0.0.1:6 20.0.0.1:6 20.0.0.1:6

icmp 40.30.20.11:1 10.0.0.2:1 20.0.0.1:1 20.0.0.1:1

Questo è il funzionamento del NAT DYNAMIC.

 

Marzo 6, 2021