Introduzione
In questo documento viene descritto come configurare il comandoip nat outside source list e viene descritto cosa succede al pacchetto IP durante il processo NAT.
Prerequisiti
Requisiti
Nessun requisito specifico previsto per questo documento.
Componenti usati
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.
Premesse
È 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.
Convenzioni
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Configurazione
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).
Esempio di rete
Il documento usa la seguente configurazione 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'associazione di sicurezza è consentita in access-list 1, che viene utilizzata dal comando,ip nat outside source list viene convertita in un indirizzo dal pool NAT Net171.
Il ip nat outside source list comando 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 vede il pacchetto sull'interfaccia in arrivo con una SA di 171.68.16.10 e una DA di 171.68.1.1. Esso risponde inviando una risposta echo del protocollo Internet Control Message Protocol (ICMP) alla versione 171.68.16.10. Se non ha un percorso, scarta il pacchetto.
In questo caso, il router ha un percorso (predefinito) e 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 rileva il pacchetto sull'interfaccia interna e verifica la presenza di un percorso all'indirizzo 171.68.16.10. In caso contrario, risponde con un messaggio ICMP "destinazione irraggiungibile".
In questo caso, il pacchetto ha un percorso fino a 171.68.16.10, a causa dell'opzione add-route delip nat outside source comando che aggiunge un percorso host basato sulla conversione tra l'indirizzo globale esterno e l'indirizzo locale esterno, in modo da tradurre il pacchetto indietro all'indirizzo 172.16.88.1 e instradare il pacchetto fuori dalla sua interfaccia esterna.
Configurazioni
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.
|
Verifica
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 show comando.
Il comando show ip nat translation può essere usato per controllare le voci di traduzione, come mostrato nell'output:
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 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 ip nat outside source comando. Questo percorso viene utilizzato per il routing e la conversione dei pacchetti che viaggiano dall'interno all'esterno della rete.
Risoluzione dei problemi
In questa sezione vengono fornite informazioni utili per risolvere i problemi di configurazione.
Questo output è il risultato dell'esecuzione del pacchetto e dei comandi debug ipdebug ip nat sul router 2514X, durante il ping tra l'indirizzo di interfaccia (172.16.88.1) del router 2514W loopback0 (172.16.88.1) 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 precedente viene ripetuta per ciascun pacchetto ricevuto sull'interfaccia esterna.
Riepilogo
La differenza principale tra l'uso del ip nat outside source listcomando (NAT dinamico) e quello del ip nat outside source static comando (NAT statico) è che non ci sono voci nella tabella di conversione finché il router (configurato per NAT) non verifica i criteri di conversione del pacchetto. Nell'esempio precedente, 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 ip nat outside source list comando. 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 destinazione della tabella di routing. 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 tradotta quando si usa ognuno dei comandi precedenti. La tabella seguente contiene le linee guida:
Comando |
Azione |
ip nat elenco fonti esterne |
- Converte l'origine dei pacchetti IP che vengono trasmessi dalla rete esterna alla rete interna
- Converte la destinazione dei pacchetti IP che vengono trasmessi dalla rete interna alla rete esterna
|
ip nat nell'elenco delle origini |
- Converte l'origine dei pacchetti IP che vengono trasmessi dalla rete interna alla rete esterna
- Converte la destinazione dei pacchetti IP che vengono trasmessi dalla rete esterna alla rete interna
|
Queste linee guida indicano che esiste più di un modo per tradurre un pacchetto. A seconda delle esigenze specifiche, è possibile 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 il pacchetto è diretto e dalla configurazione del NAT.
Informazioni correlate