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:
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 kennen.
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 überprüfen Eingabe Zugriffsliste.
- Entschlüsselung - für Cisco Encryption Technology (CET) 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 überprüfen Eingabe Zugriffsliste.
- 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 Unreachable Message, die an das interne Gerät gesendet wird. Router-A hat jedoch die Standardroute 172.16.47.145. Warum wird die Route also als nicht routbar betrachtet?
Für Router-A ist keine IP-Klassenlos konfiguriert. Das bedeutet, wenn ein Paket für eine Hauptnetzwerkadresse (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