Introduzione
In questo documento viene descritta una configurazione che utilizza il comando ip nat external source static e i pacchetti IP risultanti dal processo NAT.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza di questo argomento:
Componenti usati
Il riferimento delle informazioni contenute in questo documento è il router Cisco serie 2500 con software Cisco IOS® versione 12.2(27).
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Premesse
In questo documento viene fornita una configurazione di esempio con l'uso del comando ip nat outside source static e viene fornita una breve descrizione di ciò che accade al pacchetto IP durante il processo NAT. Si consideri ad esempio la topologia di rete descritta in questo documento.
Configurazione
Nota: utilizzare lo strumento di ricerca dei comandi per trovare ulteriori informazioni sui comandi utilizzati nel documento. Solo gli utenti Cisco registrati possono accedere agli strumenti e alle informazioni interni.
Esempio di rete
Il documento usa la seguente configurazione di rete.
Esempio di rete
Quando si esegue un ping tra l'interfaccia di loopback 1 del router 2514W e l'interfaccia di loopback 0 del router 2501E, si verifica quanto segue:
- Sull'interfaccia esterna (S1) del router 2514X, il pacchetto ping viene visualizzato con un indirizzo di origine (SA) di 172.16.89.32 e un indirizzo di destinazione (DA) di 172.16.68.1.
- NAT converte l'associazione di sicurezza nell'indirizzo locale esterno 172.16.68.5 (corrispondente al comando ip nat external source static configurato sul router 2514X).
- Il router 2514X controlla quindi la tabella di routing per trovare un percorso verso 172.16.68.1.
- Se il percorso non esiste, il router 2514X scarta il pacchetto. In questo caso, il router 2514X ha un percorso verso 172.16.68.1 attraverso la route statica verso 172.31.1.0. Inoltra il pacchetto alla destinazione.
- Il router 2501E vede il pacchetto sull'interfaccia in arrivo (E0) con una SA di 172.16.68.5 e una DA di 172.16.68.1.
- Invia una risposta echo ICMP (Internet Control Message Protocol) alla versione 172.16.68.5. Se non ha un percorso, scarta il pacchetto.
- Tuttavia, in questo caso ha la route predefinita.
- Pertanto, invia un pacchetto di risposta al router 2514X, con un'ASA di 172.16.68.1 e un DA di 172.16.68.5.
- Il router 2514X vede il pacchetto e cerca un percorso verso l'indirizzo 172.16.68.5.
- In caso contrario, risponde con un messaggio ICMP "destinazione irraggiungibile".
- In questo caso, il percorso è 172.16.68.5 (a causa della route statica).
- Pertanto, il pacchetto viene ritrasformato all'indirizzo 172.16.89.32 e inoltrato all'interfaccia esterna (S1).
Configurazioni
In questo documento vengono usate le seguenti configurazioni:
Router 2514W |
hostname 2514W
!
!--- Output suppressed.
interface Loopback1
ip address 172.16.89.32 255.255.255.0
!
interface Ethernet1
no ip address
no ip mroute-cache
!
interface Serial0
ip address 172.16.191.254 255.255.255.252
no ip mroute-cache
!
!--- Output suppressed.
ip classless
ip route 0.0.0.0 0.0.0.0 172.16.191.253
!--- Default route to forward packets to 2514X.
!
!--- Output suppressed.
|
Router 2514X |
hostname 2514X
!
!--- Output suppressed.
ip nat outside source static 172.16.89.32 172.16.68.5
!--- Outside local address.
!
!--- Output suppressed.
interface Ethernet1
ip address 172.31.192.202 255.255.255.0
ip nat inside
!--- Defines Ethernet 1 as a NAT inside interface.
no ip mroute-cache
no ip route-cache
!
interface Serial1
ip address 172.16.191.253 255.255.255.252
no ip route-cache
ip nat outside
!--- Defines Serial 1 as a NAT outside interface.
clockrate 2000000
!
!--- Output suppressed.
ip classless
ip route 172.31.1.0 255.255.255.0 172.31.192.201
ip route 172.31.16.0 255.255.255.0 172.16.191.254
!--- Static routes for reaching the loopback interfaces
!--- on 2514E and 2514W.
!
!--- Output suppressed.
|
Router 2501E |
hostname rp-2501E
!
!--- Output suppressed.
interface Loopback0
ip address 172.16.68.1 255.255.255.0
!
interface Ethernet0
ip address 172.31.192.201 255.255.255.0
!
!--- Output suppressed.
ip classless
ip route 0.0.0.0 0.0.0.0 172.31.192.202
!--- Default route to forward packets to 2514X.
!
!--- Output suppressed.
|
Verifica
Nota: solo gli utenti Cisco registrati possono accedere agli strumenti e alle informazioni interni.
Usare Cisco CLI Analyzer per visualizzare un'analisi dell'output del comando show. Cisco CLI Analyzer (OIT) supporta diversi comandi show.
Usare il comando show ip nat translation per controllare le voci di traduzione, come mostrato nell'output:
2514X#show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- --- --- 172.16.68.5 172.16.89.32
2514X#
Risoluzione dei problemi
In questo esempio vengono utilizzati il debug della conversione NAT e il debug dei pacchetti IP per dimostrare il processo NAT.
Nota: poiché i comandi debug generano una quantità significativa di output, utilizzarli solo quando il traffico sulla rete IP è basso in modo che le altre attività del sistema non siano influenzate negativamente.
Nota: consultare le informazioni importanti sui comandi di debug prima di usare i comandi di debug.
Di seguito viene riportato il risultato dell'output dei comandi debug ip packet e debug ip nat contemporaneamente sul router 2514X, durante il ping tra l'indirizzo di interfaccia 1 (172.16.89.32) del router 2514W loopback e l'indirizzo di interfaccia 1 (172.16.68.1) del router 2501 E loopback0.
Questo output visualizza il primo pacchetto che arriva all'interfaccia esterna del router 2514X. L'indirizzo di origine 172.16.89.32 viene convertito in 172.16.68.5. Il pacchetto ICMP viene inoltrato alla destinazione attraverso l'interfaccia Ethernet1.
5d17h: NAT: s=172.16.89.32->172.16.68.5, d=172.16.68.1 [171]
5d17h: IP: tableid=0, s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), routed
via RIB
5d17h: IP: s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), g=172.31.192.201,
len 100, forward
5d17h: ICMP type=8, code=0
Questo output mostra il pacchetto restituito originato da 172.16.68.1 con un indirizzo di destinazione di 172.16.68.5, che viene convertito in 172.16.89.32. Il pacchetto ICMP risultante viene inoltrato dall'interfaccia Serial1.
5d17h: IP: tableid=0, s=172.16.68.1 (Ethernet0), d=172.16.68.5 (Serial0), routed
via RIB
5d17h: NAT: s=172.16.68.1, d=172.16.68.5->172.16.89.32 [171]
5d17h: IP: s=172.16.68.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
len 100, forward
5d17h: ICMP type=0, code=0
Lo scambio di pacchetti ICMP continua. Il processo NAT per questo output di debug è lo stesso dell'output precedente.
5d17h: NAT: s=172.16.89.32->172.16.68.5, d=172.16.68.1 [172]
5d17h: IP: tableid=0, s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), routed
via RIB
5d17h: IP: s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), g=172.31.192.201,
len 100, forward
5d17h: ICMP type=8, code=0
5d17h: IP: tableid=0, s=172.16.68.1 (Ethernet0), d=172.16.68.5 (Serial0), routed
via RIB
5d17h: NAT: s=172.16.68.1, d=172.16.68.5->172.16.89.32 [172]
5d17h: IP: s=172.16.68.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
len 100, forward
5d17h: ICMP type=0, code=0
5d17h: NAT: s=172.16.89.32->172.16.68.5, d=172.16.68.1 [173]
5d17h: IP: tableid=0, s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), routed
via RIB
5d17h: IP: s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), g=172.31.192.201,
len 100, forward
5d17h: ICMP type=8, code=0
5d17h: IP: tableid=0, s=172.16.68.1 (Ethernet0), d=172.16.68.5 (Serial0), routed
via RIB
5d17h: NAT: s=172.16.68.1, d=172.16.68.5->172.16.89.32 [173]
5d17h: IP: s=172.16.68.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
len 100, forward
5d17h: ICMP type=0, code=0
5d17h: NAT: s=172.16.89.32->172.16.68.5, d=172.16.68.1 [174]
5d17h: IP: tableid=0, s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), routed
via RIB
5d17h: IP: s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), g=172.31.192.201,
len 100, forward
5d17h: ICMP type=8, code=0
5d17h: IP: tableid=0, s=172.16.68.1 (Ethernet0), d=172.16.68.5 (Serial0), routed
via RIB
5d17h: NAT: s=172.16.68.1, d=172.16.68.5->172.16.89.32 [174]
5d17h: IP: s=172.16.68.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
len 100, forward
5d17h: ICMP type=0, code=0
5d17h: NAT: s=172.16.89.32->172.16.68.5, d=172.16.68.1 [175]
5d17h: IP: tableid=0, s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), routed
via RIB
5d17h: IP: s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), g=172.31.192.201,
len 100, forward
5d17h: ICMP type=8, code=0
5d17h: IP: tableid=0, s=172.16.68.1 (Ethernet0), d=172.16.68.5 (Serial0), routed
via RIB
5d17h: NAT: s=172.16.68.1, d=172.16.68.5->172.16.89.32 [175]
5d17h: IP: s=172.16.68.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
len 100, forward
5d17h: ICMP type=0, code=0
Riepilogo
Quando il pacchetto si sposta dall'esterno verso l'interno, la conversione viene eseguita per prima, quindi viene controllata la tabella di routing per individuare la destinazione. Quando il pacchetto viene spostato dall'interno all'esterno, la tabella di routing viene controllata prima per individuare la destinazione, quindi viene eseguita la traduzione. Per ulteriori informazioni, fare riferimento all'ordine di funzionamento NAT.
Non prendere in considerazione la parte del pacchetto IP che viene tradotta quando viene usato con ciascuno dei comandi precedenti. La tabella contiene le linee guida:
Comando |
Azione |
statico origine esterna ip nat |
- Converte l'origine dei pacchetti IP trasmessi dall'esterno all'interno.
- Converte la destinazione dei pacchetti IP trasmessi dall'interno all'esterno.
|
statico origine ip nat inside |
- Converte l'origine dei pacchetti IP trasmessi dall'interno all'esterno.
- Converte la destinazione dei pacchetti IP trasmessi dall'esterno all'interno.
|
Queste linee guida indicano che esiste più di un modo per tradurre un pacchetto. In base alle esigenze specifiche, è necessario determinare come definire le interfacce NAT (interne o esterne) e i percorsi contenuti nella tabella di routing prima o dopo la traduzione. Tenere presente che la parte di pacchetto tradotta dipende dalla direzione in cui viaggia il pacchetto e dal modo in cui si configura il NAT.
Informazioni correlate