Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Konventionen

Hintergrundinformationen

NAT-Übersicht

NAT-Konfiguration und -Ausgabe

Zugehörige Informationen

Einleitung

In diesem Dokument wird beschrieben, dass die Bestellungstransaktionen mit NAT auf der Richtung basieren, in die ein Paket innerhalb oder außerhalb des Netzwerks übertragen wird.

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie über Kenntnisse in diesem Thema verfügen:

- Network Address Translation (NAT). Weitere Informationen zu NAT finden Sie unter Funktionsweise von NAT.

Verwendete Komponenten

Die in diesem Dokument enthaltenen Informationen basieren auf der Cisco IOS® Software-Version 12.2(27).

Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle verstehen.

Konventionen

Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).

Hintergrundinformationen

In diesem Dokument wird beschrieben, dass die Reihenfolge, in der Transaktionen mit Network Address Translation (NAT) verarbeitet werden, davon abhängt, ob ein Paket vom internen Netzwerk zum externen Netzwerk oder vom externen Netzwerk zum internen Netzwerk übertragen wird.

NAT-Übersicht

Wenn NAT in dieser Tabelle die globale zu lokale oder die lokale zu globale Übersetzung ausführt, unterscheidet sich die Übersetzung in jedem Fluss.

Von innen nach außen

Von außen nach innen

- Wenn IPSec dann Eingabezugriffsliste prüfen

- Entschlüsselung - für CET (Cisco Encryption Technology) oder IPSec

- Eingabezugriffsliste überprüfen

- Prüfung der Eingangsgrenzwerte

- Eingangsrechnung

- Umleitung zum Web-Cache

- Richtlinienrouting

- Routing

- NAT intern nach extern (lokale zu globale Übersetzung)

- crypto (Checkmap und Markierung für Verschlüsselung)

- Ausgaberegistrierung

- inspect (Context-based Access Control (CBAC))

- TCP-Intercept

- Verschlüsselung

- Warteschlange

- Wenn IPSec dann Eingabezugriffsliste prüfen

- Entschlüsselung - für CET oder IPSec

- Eingabezugriffsliste überprüfen

- Prüfung der Eingangsgrenzwerte

- Eingangsrechnung

- Umleitung zum Web-Cache

- NAT von außen nach innen (Global-Lokal-Übersetzung)

- Richtlinienrouting

- Routing

- crypto (Checkmap und Markierung für Verschlüsselung)

- Ausgaberegistrierung

- CBAC prüfen

- TCP-Intercept

- Verschlüsselung

- Warteschlange

NAT-Konfiguration und -Ausgabe

In diesem Beispiel wird veranschaulicht, wie sich die Reihenfolge der Vorgänge auf NAT auswirken kann. In diesem Fall werden nur NAT und Routing angezeigt.

Im vorherigen Beispiel ist Router-A so konfiguriert, dass die interne lokale Adresse 172.31.200.48 in 172.16.47.150 übersetzt wird, wie in dieser Konfiguration gezeigt.

!

version 11.2

no service udp-small-servers

no service tcp-small-servers

!

hostname Router-A

!

enable password ww

!

ip nat inside source static 172.31.200.48 172.16.47.150

!--- This command creates a static NAT translation

!--- between 172.31.200.48 and 172.16.47.150

ip domain-name cisco.com

ip name-server 172.31.2.132

!

interface Ethernet0

no ip address

shutdown

!

interface Serial0

ip address 172.16.47.161 255.255.255.240

ip nat inside

!--- Configures Serial0 as the NAT inside interface

no ip mroute-cache

no ip route-cache

no fair-queue

!

interface Serial1

ip address 172.16.47.146 255.255.255.240

ip nat outside

!--- Configures Serial1 as the NAT outside interface

no ip mroute-cache

no ip route-cache

!

no ip classless

ip route 0.0.0.0 0.0.0.0 172.16.47.145

!--- Configures a default route to 172.16.47.145

ip route 172.31.200.0 255.255.255.0 172.16.47.162

!

!

line con 0

exec-timeout 0 0

line aux 0

line vty 0 4

password ww

login

!

end

Die Übersetzungstabelle zeigt an, dass die beabsichtigte Übersetzung vorhanden ist.

Router-A#show ip nat translation

Pro Inside global      Inside local       Outside local      Outside global

--- 172.16.47.150      172.31.200.48      ---                ---

Diese Ausgabe stammt von Router-A, auf dem die Details zum Debug-IP-Paket und die Debug-IP-Adresse "nat" aktiviert sind, sowie ein Ping, der von Gerät 172.31.200.48 ausgegeben wird, das für 172.16.47.142 bestimmt ist.

Hinweis: Debug-Befehle generieren eine beträchtliche Menge an Ausgabe. Verwenden Sie sie nur, wenn der Datenverkehr im IP-Netzwerk gering ist, sodass andere Aktivitäten im System nicht beeinträchtigt werden. Bevor Sie Debug-Befehle ausgeben, lesen Sie Wichtige Informationen zu Debug-Befehlen.

IP: s=172.31.200.48 (Serial0), d=172.16.47.142, len 100, unroutable

ICMP type=8, code=0

IP: s=172.16.47.161 (local), d=172.31.200.48 (Serial0), len 56, sending

ICMP type=3, code=1

IP: s=172.31.200.48 (Serial0), d=172.16.47.142, len 100, unroutable

ICMP type=8, code=0

IP: s=172.31.200.48 (Serial0), d=172.16.47.142, len 100, unroutable

ICMP type=8, code=0

IP: s=172.16.47.161 (local), d=172.31.200.48 (Serial0), len 56, sending

ICMP type=3, code=1

IP: s=172.31.200.48 (Serial0), d=172.16.47.142, len 100, unroutable

ICMP type=8, code=0

IP: s=172.31.200.48 (Serial0), d=172.16.47.142, len 100, unroutable

ICMP type=8, code=0

IP: s=172.16.47.161 (local), d=172.31.200.48 (Serial0), len 56, sending

ICMP type=3, code=1

Da in der vorherigen Ausgabe keine NAT-Debugmeldungen vorhanden sind, wird die aktuelle statische Übersetzung nicht verwendet, und der Router verfügt in seiner Routing-Tabelle nicht über eine Route für die Zieladresse (172.16.47.142). Das Ergebnis des nicht routbaren Pakets ist eine ICMP-Meldung "Unreachable" (Nicht erreichbar), die an das interne Gerät gesendet wird.

Router-A hat jedoch die Standardroute 172.16.47.145, weshalb wird diese als nicht routbar betrachtet?

Für Router-A ist kein IP-klassenloses Paket konfiguriert. Das bedeutet, wenn ein Paket für eine "Haupt"-Netzwerkadresse (in diesem Fall 172.16.0.0) bestimmt ist, für die Subnetze in der Routing-Tabelle vorhanden sind, verlässt sich der Router nicht auf die Standardroute. Mit anderen Worten: Wenn Sie den Befehl no ip classless ausgeben, wird die Fähigkeit des Routers deaktiviert, nach der Route mit der längsten Bit-Übereinstimmung zu suchen. Um dieses Verhalten zu ändern, müssen Sie ip classless auf Router-A konfigurieren. Der Befehl ip classless ist auf Cisco Routern mit Cisco IOS Software Version 11.3 und höher standardmäßig aktiviert.

Router-A#configure terminal

Enter configuration commands, one per line.  End with CTRL/Z.

Router-A(config)#ip classless

Router-A(config)#end

Router-A#show ip nat translation

%SYS-5-CONFIG_I: Configured from console by console nat tr

Pro Inside global      Inside local       Outside local      Outside global

--- 172.16.47.150      172.31.200.48      ---                ---

Wenn Sie den gleichen Ping-Test wie zuvor wiederholen, stellen Sie fest, dass das Paket übersetzt wird und der Ping erfolgreich ist.

Ping Response on device 172.31.200.48

D:\>ping 172.16.47.142

Pinging 172.16.47.142 with 32 bytes of data:

Reply from 172.16.47.142: bytes=32 time=10ms TTL=255

Reply from 172.16.47.142: bytes=32 time<10ms TTL=255

Reply from 172.16.47.142: bytes=32 time<10ms TTL=255

Reply from 172.16.47.142: bytes=32 time<10ms TTL=255

Ping statistics for 172.16.47.142:

Packets: Sent = 4, Received = 4, Lost = 0 (0%)

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum =  10ms, Average =  2ms

Debug messages on Router A indicating that the packets generated by device

172.31.200.48 are getting translated by NAT.

Router-A#

*Mar 28 03:34:28: IP: tableid=0, s=172.31.200.48 (Serial0), d=172.16.47.142

(Serial1), routed via RIB

*Mar 28 03:34:28: NAT: s=172.31.200.48->172.16.47.150, d=172.16.47.142 [160]

*Mar 28 03:34:28: IP: s=172.16.47.150 (Serial0), d=172.16.47.142 (Serial1),

g=172.16.47.145, len 100, forward

*Mar 28 03:34:28: ICMP type=8, code=0

*Mar 28 03:34:28: NAT*: s=172.16.47.142, d=172.16.47.150->172.31.200.48 [160]

*Mar 28 03:34:28: IP: tableid=0, s=172.16.47.142 (Serial1), d=172.31.200.48

(Serial0), routed via RIB

*Mar 28 03:34:28: IP: s=172.16.47.142 (Serial1), d=172.31.200.48 (Serial0),

g=172.16.47.162, len 100, forward

*Mar 28 03:34:28: ICMP type=0, code=0

*Mar 28 03:34:28: NAT*: s=172.31.200.48->172.16.47.150, d=172.16.47.142 [161]

*Mar 28 03:34:28: NAT*: s=172.16.47.142, d=172.16.47.150->172.31.200.48 [161]

*Mar 28 03:34:28: IP: tableid=0, s=172.16.47.142 (Serial1), d=172.31.200.48

(Serial0), routed via RIB

*Mar 28 03:34:28: IP: s=172.16.47.142 (Serial1), d=172.31.200.48 (Serial0),

g=172.16.47.162, len 100, forward

*Mar 28 03:34:28: ICMP type=0, code=0

*Mar 28 03:34:28: NAT*: s=172.31.200.48->172.16.47.150, d=172.16.47.142 [162]

*Mar 28 03:34:28: NAT*: s=172.16.47.142, d=172.16.47.150->172.31.200.48 [162]

*Mar 28 03:34:28: IP: tableid=0, s=172.16.47.142 (Serial1), d=172.31.200.48

(Serial0), routed via RIB

*Mar 28 03:34:28: IP: s=172.16.47.142 (Serial1), d=172.31.200.48 (Serial0),

g=172.16.47.162, len 100, forward

*Mar 28 03:34:28: ICMP type=0, code=0

*Mar 28 03:34:28: NAT*: s=172.31.200.48->172.16.47.150, d=172.16.47.142 [163]

*Mar 28 03:34:28: NAT*: s=172.16.47.142, d=172.16.47.150->172.31.200.48 [163]

*Mar 28 03:34:28: IP: tableid=0, s=172.16.47.142 (Serial1), d=172.31.200.48

(Serial0), routed via RIB

*Mar 28 03:34:28: IP: s=172.16.47.142 (Serial1), d=172.31.200.48 (Serial0),

g=172.16.47.162, len 100, forward

*Mar 28 03:34:28: ICMP type=0, code=0

*Mar 28 03:34:28: NAT*: s=172.31.200.48->172.16.47.150, d=172.16.47.142 [164]

*Mar 28 03:34:28: NAT*: s=172.16.47.142, d=172.16.47.150->172.31.200.48 [164]

*Mar 28 03:34:28: IP: tableid=0, s=172.16.47.142 (Serial1), d=172.31.200.48

(Serial0), routed via RIB

*Mar 28 03:34:28: IP: s=172.16.47.142 (Serial1), d=172.31.200.48 (Serial0),

g=172.16.47.162, len 100, forward

*Mar 28 03:34:28: ICMP type=0, code=0

Router-A#undebug all

All possible debugging has been turned off

Das vorherige Beispiel zeigt, dass ein NAT-Router, wenn ein Paket von innen nach außen übertragen wird, seine Routing-Tabelle auf eine Route zur externen Adresse überprüft, bevor er mit der Übersetzung des Pakets fortfährt. Daher ist es wichtig, dass der NAT-Router über eine gültige Route für das externe Netzwerk verfügt. Die Route zum Zielnetzwerk muss über eine Schnittstelle bekannt sein, die in der Routerkonfiguration außen als NAT definiert ist.

Beachten Sie, dass die Rücksendepakete umgewandelt werden, bevor sie weitergeleitet werden. Daher muss der NAT-Router in seiner Routing-Tabelle auch über eine gültige Route für die lokale Inside-Adresse verfügen.

Zugehörige Informationen

- Konfigurieren der Network Address Translation

- Überprüfen des NAT-Betriebs und grundlegende NAT-Fehlerbehebung

- NAT: Lokale und globale Definitionen

- Wie funktioniert Multicast NAT auf Cisco Routern?

- NAT-Support-Seite

- Technischer Support und Downloads von Cisco