Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Convenzioni

Configurazione

Esempio di rete

Configurazioni

Verifica

Risoluzione dei problemi

Riepilogo

Informazioni correlate

Introduzione

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.

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.

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

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.

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 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.

Risoluzione dei problemi

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.

Riepilogo

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

- 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

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.

Informazioni correlate

- Network Address Translation su Memory Stick

- Pagina di supporto per la tecnologia NAT

- Supporto tecnico – Cisco Systems