In questo documento viene spiegato come configurare il comando ip nat outside source list e descrive brevemente cosa succede al pacchetto IP durante il processo NAT. È possibile usare questo comando per convertire l'indirizzo di origine dei pacchetti IP che vengono inviati alla rete dall'esterno. Questa azione converte l'indirizzo di destinazione dei pacchetti IP che viaggiano nella direzione opposta, dall'interno all'esterno della rete. Questo comando è utile quando le reti sono sovrapposte e gli indirizzi di rete interni si sovrappongono agli indirizzi esterni. Prendiamo in considerazione il seguente esempio di rete.
Nessun requisito specifico previsto per questo documento.
Il documento può essere consultato per tutte le versioni software o hardware. Tuttavia, le informazioni di questo documento si basano sulle seguenti versioni software e hardware:
Cisco serie 2500 Router
Software Cisco IOS® versione 12.2(24a) in esecuzione su tutti i router
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.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
In questa sezione vengono presentate le informazioni necessarie per configurare le funzionalità descritte più avanti nel documento.
Nota: per ulteriori informazioni sui comandi menzionati in questo documento, usare lo strumento di ricerca dei comandi (solo utenti registrati).
Nel documento viene usata questa impostazione di rete:
Quando il ping viene inviato dall'interfaccia loopback0 (172.16.88.1) del router 2514W all'interfaccia loopback0 (171.68.1.1) del router 2501E, si verifica:
Il router 2514W inoltra i pacchetti al router 2514X perché è configurato con un percorso predefinito. Sull'interfaccia esterna del router 2514X, il pacchetto ha un indirizzo di origine (SA) di 172.16.88.1 e un indirizzo di destinazione (DA) di 171.68.1.1. Poiché l'SA è consentita nell'elenco di accesso 1, che viene usato dal comando ip nat outside source list, viene convertito in un indirizzo del pool NAT Net171. Notare che il comando ip nat outside source list fa riferimento al pool NAT "Net171". In questo caso, l'indirizzo viene tradotto in 171.68.16.10, che è il primo indirizzo disponibile nel pool NAT. Dopo la traduzione, il router 2514X cerca la destinazione nella tabella di routing e instrada il pacchetto. Il router 2501E rileva il pacchetto sull'interfaccia in arrivo con un'ASA di 171.68.16.10 e un DA di 171.68.1.1. Risponde inviando una risposta echo ICMP (Internet Control Message Protocol) a 171.68.16.10. Se non ha un percorso, il pacchetto viene scartato. In questo caso, il router ha un percorso (predefinito), quindi invia un pacchetto al router 2514X, usando un'ASA di 171.68.1.1 e un'ASA di 171.68.16.10. Il router 2514X vede il pacchetto sulla sua interfaccia interna e cerca un percorso all'indirizzo 171.68.16.10. Se non ne possiede una, risponde con un messaggio ICMP "destinazione irraggiungibile". In questo caso, il pacchetto ha un percorso verso 171.68.16.10, a causa dell'opzione add-route del comando ip nat external source che aggiunge un percorso host basato sulla traduzione tra l'indirizzo globale esterno e l'indirizzo locale esterno, in modo da tradurre il pacchetto nell'indirizzo 172.16.88.1 e instradare il pacchetto verso l'esterno dell'interfaccia.
Router 2514W |
---|
hostname 2514W ! !--- Output suppressed. interface Loopback0 ip address 172.16.88.1 255.255.255.0 ! !--- Output suppressed. 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. ! interface Ethernet1 ip address 171.68.192.202 255.255.255.0 ip nat inside no ip mroute-cache no ip route-cache ! !--- Output suppressed. interface Serial1 ip address 172.16.191.253 255.255.255.252 ip nat outside no ip mroute-cache no ip route-cache clockrate 2000000 ! ip nat pool Net171 171.68.16.10 171.68.16.254 netmask 255.255.255.0 !--- NAT pool defining Outside Local addresses to be used for translation. ! ip nat outside source list 1 pool Net171 add-route !--- Configures translation for Outside Global addresses !--- with the NAT pool. ip classless ip route 172.16.88.0 255.255.255.0 172.16.191.254 ip route 171.68.1.0 255.255.255.0 171.68.192.201 !--- Static routes for reaching the loopback interfaces !--- on 2514W and 2501E. access-list 1 permit 172.16.88.0 0.0.0.255 !--- Access-list defining Outside Global addresses to be translated. ! !--- Output suppressed. ! |
Router 2501E |
---|
hostname 2501E ! !--- Output suppressed. interface Loopback0 ip address 171.68.1.1 255.255.255.0 ! interface Ethernet0 ip address 171.68.192.201 255.255.255.0 ! !--- Output suppressed. ip classless ip route 0.0.0.0 0.0.0.0 171.68.192.202 !--- Default route to forward packets to 2514X. ! !--- Output suppressed. |
Le informazioni contenute in questa sezione permettono di verificare che la configurazione funzioni correttamente.
Alcuni comandi show sono supportati dallo strumento Output Interpreter (solo utenti registrati); lo strumento permette di visualizzare un'analisi dell'output del comando show.
Il comando show ip nat translation può essere usato per controllare le voci di traduzione, come mostrato nell'output sottostante.
2514X# show ip nat translations Pro Inside global Inside local Outside local Outside global --- 171.68.1.1 171.68.1.1 171.68.16.10 172.16.88.1 --- --- --- 171.68.16.10 172.16.88.1 2514X#
L'output di cui sopra mostra che l'indirizzo globale esterno 172.16.88.1, che è l'indirizzo sull'interfaccia Loopback0 del router 2514W, viene convertito nell'indirizzo locale esterno 171.68.16.10.
È possibile usare il comando show ip route per controllare le voci della tabella di routing, come mostrato:
2514X# show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set 171.68.0.0/16 is variably subnetted, 3 subnets, 2 masks C 171.68.192.0/24 is directly connected, Ethernet1 S 171.68.1.0/24 [1/0] via 171.68.192.201 S 171.68.16.10/32 [1/0] via 172.16.88.1 172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks S 172.16.88.0/24 [1/0] via 172.16.191.254 C 172.16.191.252/30 is directly connected, Serial1 2514X#
L'output mostra una route /32 per l'indirizzo locale esterno 171.68.16.10, creato a causa dell'opzione add-route del comando ip nat outside source. Questo percorso viene utilizzato per il routing e la conversione dei pacchetti che viaggiano dall'interno all'esterno della rete.
Le informazioni contenute in questa sezione permettono di risolvere i problemi relativi alla configurazione.
Questo output è il risultato dell'esecuzione dei comandi debug ip packet e debug ip nat sul router 2514X, durante il ping tra l'indirizzo di interfaccia (172.16.88.1) del router 2514W loopback0 e l'indirizzo di interfaccia (171.68.1.1) del router 2501E:
*Mar 1 00:02:48.079: NAT*: s=172.16.88.1->171.68.16.10, d=171.68.1.1 [95] !--- The source address in the first packet arriving on !--- the outside interface is first translated. *Mar 1 00:02:48.119: IP: tableid=0, s=171.68.16.10 (Serial1), d=171.68.1.1 (Ethernet1), routed via RIB *Mar 1 00:02:48.087: IP: s=171.68.16.10 (Serial1), d=171.68.1.1 (Ethernet1), g=171.68.192.201, len 100, forward !--- The ICMP echo request packet with the translated source address !--- is routed and forwarded on the inside interface. *Mar 1 00:02:48.095: IP: tableid=0, s=171.68.1.1 (Ethernet1), d=171.68.16.10 (Serial1), routed via RIB !--- The ICMP echo reply packet arriving on the inside interface !--- is first routed based on the destination address. *Mar 1 00:02:48.099: NAT: s=171.68.1.1, d=171.68.16.10->172.16.88.1 [95] !--- The destination address in the packet is then translated. *Mar 1 00:02:48.103: IP: s=171.68.1.1 (Ethernet1), d=172.16.88.1 (Serial1), g=172.16.191.254, len 1 00, forward !--- The ICMP echo reply packet with the translated destination !--- address is forwarded on the outside interface.
La procedura di cui sopra viene ripetuta per ogni pacchetto ricevuto sull'interfaccia esterna.
La differenza principale tra l'uso del comando ip nat outside source list (NAT dinamico) e del comando ip nat outside source static (NAT statico) è che nella tabella di conversione non sono presenti voci finché il router (configurato per NAT) non verifica i criteri di conversione del pacchetto. Nell'esempio di cui sopra, il pacchetto con ASA 172.16.88.1 (che entra nell'interfaccia esterna del router 2514X) soddisfa l'access-list 1, i criteri usati dal comando ip nat outside source list. Per questo motivo, i pacchetti devono provenire dalla rete esterna prima che i pacchetti provenienti dalla rete interna possano comunicare con l'interfaccia loopback0 del router 2514W.
In questo esempio è importante tenere presente due aspetti.
In primo luogo, quando il pacchetto viene trasferito dall'esterno all'interno, la traduzione 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 controlla prima la destinazione, quindi si verifica la traduzione.
In secondo luogo, è importante notare quale parte del pacchetto IP viene convertita quando si usa ciascuno dei comandi menzionati sopra. La tabella seguente contiene le linee guida:
Comando | Azione |
---|---|
ip nat elenco fonti esterne |
|
ip nat nell'elenco delle origini |
|
Le linee guida sopra riportate indicano che esiste più di un modo per tradurre un pacchetto. A seconda delle esigenze specifiche, è necessario determinare come definire le interfacce NAT (interne o esterne) e i percorsi che la tabella di routing deve contenere prima o dopo la traduzione. Tenere presente che la parte del pacchetto che verrà tradotta dipende dalla direzione in cui il pacchetto è diretto e dalla configurazione del NAT.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
26-Sep-2014 |
Versione iniziale |