Troubleshoot Network Address Translation NAT su router Cisco

Continuiamo con la nostra serie di articoli che, attraverso esempi pratici e semplificati, dimostrano l’applicazione di strumenti fondamentali nei rispettivi ambiti. In questo breve articolo introdurremo un caso dove operare troubleshooting. A partire da uno scenario che presenta un malfunzionamento avanziamo, con metodo, ad individuare il problema e a risolverlo. Nel caso specifico ci occupiamo di una problematica inerente il Troubleshoot Network Address Translation NAT su router Cisco.

Di seguito lo schema degli indirizzi che caratterizzano la topologia oggetto del laboratorio:

Nello scenario mostrato il PC1 (10.10.1.10) non Pinga il Server SRV (203.0.113.30). Il router R1 ha come next-hop della default route  l’IP 198.51.100.1. Procediamo con verificare la configurazione del Router R1 per le dovute considerazioni:

PC1# ping 203.0.113.30
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 203.0.113.30, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

R1# show running-config
<... output omitted ...>
interface Ethernet0/0
description Link to SW1
ip address 10.10.1.1 255.255.255.0
ip nat outside
<... output omitted ...>
!
interface Ethernet0/3
description Link to R2
ip address 198.51.100.2 255.255.255.0
ip nat inside
!
ip nat inside source list 20 interface Ethernet0/3 overload
ip route 0.0.0.0 0.0.0.0 198.51.100.1
!
access-list 20 permit 0.0.0.0 255.255.255.0
<... output omitted ...>

Attraverso il comando show ip nat translations verifichiamo se la tabella di NAT è popolata da qualche entry (translations). In pratica vogliamo verificare se la NAT è in funzione:

R1# show ip nat translations
R1#

CORSI CORRELATI:

Consulta il nostro Catalogo Corsi per Tecnologia oppure fai una Ricerca per Vendor o ancora trova uno specifico corso attraverso il motore di ricerca interno: Ricerca Corsi. Contattaci ora al Numero Verde 800-177596, il nostro team saprà supportarti nella scelta del percorso formativo più adatto alla tue esigenze.

Notiamo come non ci sia alcuna “translations” in atto. Approfondiamo, determinando se via siano mai state sul Router R1 delle translations, e tra quali interfacce eventualmente siano avvenute. Usiamo il comando show ip nat statistics:

R1# show ip nat statistics
Total active translations: 0 (0 static, 0 dynamic; 0 extended)
Peak translations: 0
Outside interfaces:
Ethernet0/0
Inside interfaces:
Ethernet0/3
Hits: 0 Misses: 0
CEF Translated packets: 0, CEF Punted packets: 0
Expired translations: 0
Dynamic mappings:
-- Inside Source
[Id: 1] access-list 20 interface Ethernet0/3 refcount 0
Total doors: 0
Appl doors: 0
Normal doors: 0
Queued Packets: 0

In effetti appuriamo che la NAT non abbia mai funzionato. Infatti tutti i contatori sono a zero. In aggiunta possiamo notare immediatamente come sia stato attribuito lo stato di “Outside” all’interfaccia LAN e “Inside” all’interfaccia che guarda alla WAN. In pratica è stato invertita la configurazione. Dobbiamo intervenire correggendo:

R1# conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)# inter Eth0/0
R1(config-if)# no ip nat outside
R1(config-if)# ip nat inside
R1(config-if)# inter Eth0/3
R1(config-if)# no ip nat inside
R1(config-if)# ip nat outside

Proviamo di nuovo a verificare la connettività tra PC1 e SRV ma notiamo che ancora qualcosa non funziona:

PC1# ping 203.0.113.30
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 203.0.113.30, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

Ricerchiamo altrove il problema, passando ad un altro elemento della configurazione della NAT: L’access-List:

R1# show access-list
Standard IP access list 20
10 permit 0.0.0.0, wildcard bits 255.255.255.0

Verifichiamo immediatamente come sia sbaglia la wildcard mask usata banalmente come una subnetmask. Procediamo a correggerla:

R1# conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)# no access-list 20
R1(config)# access-list 20 permit 10.10.1.0 0.0.0.255

Proviamo ancora una volta il Ping dal PC1 al SRV verificando finalmente il corretto funzionamento:

PC1# ping 203.0.113.30
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 203.0.113.30, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

R1# sh ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 198.51.100.2:12 10.10.1.10:12 203.0.113.30:12 203.0.113.30:12

Consulta il nostro Catalogo Corsi per Tecnologia oppure fai una Ricerca per Vendor o ancora trova uno specifico corso attraverso il motore di ricerca interno: Ricerca Corsi. Contattaci ora al Numero Verde 800-177596, il nostro team saprà supportarti nella scelta del percorso formativo più adatto alla tue esigenze.

RICHIEDI ORA IL SUPPORTO DI UN NOSTRO SPECIALISTA

Il nostro team, da anni impegnato nella progettazione di piani formativi strutturati nell’ambito dell’ IT, ti supporterà ad orientarti verso la scelta di un percorso formativo certificato rispondente alle tue esigenze.