Einleitung
In diesem Dokument wird beschrieben, wie Sie denip nat outside source list
Befehl konfigurieren und was mit dem IP-Paket während des NAT-Prozesses geschieht.
Voraussetzungen
Anforderungen
Es gibt keine spezifischen Anforderungen für dieses Dokument.
Verwendete Komponenten
Die Informationen in diesem Dokument beziehen sich auf Cisco Router, auf denen die Cisco IOS® Software-Version ausgeführt wird.
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.
Hintergrundinformationen
Mit diesem Befehl können Sie die Quelladresse der IP-Pakete übersetzen, die von außerhalb des Netzwerks in das Netzwerk übertragen werden. Diese Aktion übersetzt die Zieladresse der IP-Pakete, die in die entgegengesetzte Richtung weitergeleitet werden - von innerhalb nach außerhalb des Netzwerks. Dieser Befehl ist in Situationen wie bei überlappenden Netzwerken nützlich, in denen sich die internen Netzwerkadressen mit Adressen außerhalb des Netzwerks überschneiden. Betrachten wir das Netzwerkdiagramm als Beispiel.
Konventionen
Weitere Informationen zu Dokumentkonventionen finden Sie in den technischen Tipps von Cisco zu Konventionen.
Konfigurieren
In diesem Abschnitt erfahren Sie, wie Sie die in diesem Dokument beschriebenen Funktionen konfigurieren können.
Hinweis: Verwenden Sie das Tool für die Suche nach Befehlen (nur für registrierte Kunden), um weitere Informationen zu den in diesem Abschnitt verwendeten Befehlen zu erhalten.
Netzwerkdiagramm
In diesem Dokument wird die folgende Netzwerkeinrichtung verwendet:
Netzwerkdiagramm
Wenn ein Ping von der Loopback0-Schnittstelle des Routers R1 (172.16.88.1) an die Loopback0-Schnittstelle des Routers R2 (172.31.1.1) gesendet wird, tritt die nächste Ereignissequenz auf:
- Paketweiterleitung: Router R1 leitet die Pakete an den NAT-Router weiter, da dieser mit einer Standardroute konfiguriert ist. An der externen Schnittstelle des NAT-Routers hat das Paket die Quelladresse (SA) 172.16.88.1 und die Zieladresse (DA) 172.31.1.1.
- NAT-Übersetzung: Da die SA von access-list 1 zugelassen ist, die vom Befehl ip nat outside source list verwendet wird, wird sie in eine Adresse aus dem NAT-Pool "NET" übersetzt. In diesem Fall wird die Adresse in 172.31.16.10 umgewandelt. Dies ist die erste verfügbare Adresse im NAT-Pool.
- Routing to Destination (Weiterleitung an Ziel): Nach der Übersetzung sucht der NAT-Router in seiner Routing-Tabelle nach dem Ziel und leitet das Paket weiter. Router R2 empfängt das Paket an seiner Eingangsschnittstelle mit einem SA von 172.31.16.10 und einem DA von 172.31.1.1. Der Router R2 antwortet, indem er eine ICMP-Echoantwort (Internet Control Message Protocol) an 172.31.16.10 sendet. Wenn Router R2 keine Route zu 172.31.16.10 hat, verwirft er das Paket.
- Antwortbehandlung: In diesem Fall hat Router R2 eine Standardroute, d. h. er sendet das Antwortpaket mithilfe eines SA von 172.31.1.1 und eines DA von 172.31.16.10 an den NAT-Router. Der NAT-Router empfängt das Paket über seine interne Schnittstelle und sucht nach einer Route zur Adresse 172.31.16.10. Verfügt das System nicht über eine Route, antwortet es mit einer nicht erreichbaren ICMP-Antwort.
- Übersetzung und Routing-Back: In diesem Fall hat der NAT-Router eine Route zu 172.31.16.10 aufgrund der Add-Route-Option des Befehls ip nat outside, der eine Host-Route auf der Grundlage der Übersetzung zwischen der globalen und der lokalen Außenadresse hinzufügt. Der NAT-Router übersetzt das Paket zurück an die ursprüngliche Quelladresse (172.16.88.1) und leitet es über die externe Schnittstelle an den Router R1 weiter.
Konfigurationen
Router R1 |
hostname R1
!
!--- Output suppressed.
!
interface Loopback0
ip address 172.16.88.1 255.255.255.0
!
!--- Output suppressed.
!
interface GigabitEthernet0/0
ip address 172.16.191.254 255.255.255.252
duplex auto
speed auto
!
!--- Output suppressed.
ip route 0.0.0.0 0.0.0.0 172.16.191.253
!--- Default route to forward packets to NAT-Router.
!--- Output suppressed. |
Router-NAT-Router |
hostname NAT-Router
!
!--- Output suppressed.
!
interface GigabitEthernet0/0
ip address 172.16.191.253 255.255.255.252
ip nat outside
ip virtual-reassembly in
duplex auto
speed auto
!
interface GigabitEthernet0/1
ip address 172.31.192.202 255.255.255.0
ip nat inside
ip virtual-reassembly in
duplex auto
speed auto
!
ip nat pool NET 172.31.16.10 172.31.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 NET add-route
!
!--- Configures translation for Outside Global addresses !--- with the NAT pool.
!
ip route 172.16.88.0 255.255.255.0 172.16.191.254
ip route 172.31.1.0 255.255.255.0 172.31.192.201
!
!--- Static routes for reaching the loopback interfaces on R1 and R2.
!
access-list 1 permit 172.16.88.0 0.0.0.255
!
!--- Access-list defining Outside Global addresses to be translated.
!--- Output suppressed. |
Router R2 |
hostname R2
!
!--- Output suppressed.
interface Loopback0
ip address 172.31.1.1 255.255.255.0
!
!
interface GigabitEthernet0/0
ip address 172.31.192.201 255.255.255.0
duplex auto
speed auto
!
!--- Output suppressed.
ip route 0.0.0.0 0.0.0.0 172.31.192.202
!--- Default route to forward packets to NAT-Router.
!--- Output suppressed. |
Überprüfung
In diesem Abschnitt finden Sie Informationen, die Sie verwenden können, um sicherzustellen, dass Ihre Konfiguration ordnungsgemäß funktioniert.
Bestimmte show-Befehle werden vom Output Interpreter Tool unterstützt (nur für registrierte Kunden), mit dem Sie eine Analyse der show
Befehlsausgabe anzeigen können.
Der Befehl show ip nat translation kann verwendet werden, um die Übersetzungseinträge zu überprüfen, wie in der folgenden Ausgabe gezeigt:
NAT-Router#show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- --- --- 172.31.16.10 172.16.88.1
icmp 172.31.1.1:0 172.31.1.1:0 172.31.16.10:0 172.16.88.1:0
NAT-Router#
Die Ausgabe zeigt, dass die globale Adresse für Außenbereiche 172.16.88.1, die die Adresse der Loopback0-Schnittstelle von Router R1 ist, in die lokale Adresse für Außenbereiche 172.31.16.10 umgewandelt wird.
Sie können den Befehl show ip route verwenden, um die Einträge in der Routing-Tabelle zu überprüfen, wie dargestellt:
NAT-Router#show ip route
Codes: L - local, C - connected, S - static, 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
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, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 3 subnets, 3 masks
S 172.16.88.0/24 [1/0] via 172.16.191.254
C 172.16.191.252/30 is directly connected, GigabitEthernet0/0
L 172.16.191.253/32 is directly connected, GigabitEthernet0/0
172.31.0.0/16 is variably subnetted, 4 subnets, 2 masks
S 172.31.1.0/24 [1/0] via 172.31.192.201
S 172.31.16.10/32 [1/0] via 172.16.88.1
C 172.31.192.0/24 is directly connected, GigabitEthernet0/1
L 172.31.192.202/32 is directly connected, GigabitEthernet0/1
NAT-Router#
Die Ausgabe zeigt eine /32-Route für die externe lokale Adresse 172.31.16.10 an, die aufgrund der Add-Route-Option des Befehls ip nat outside erstellt wird. Diese Route wird zum Routing und zur Übersetzung von Paketen verwendet, die von innen nach außen im Netzwerk übertragen werden.
Fehlerbehebung
In diesem Abschnitt finden Sie Informationen zur Behebung von Fehlern in Ihrer Konfiguration.
Diese Ausgabe ist das Ergebnis der Ausführung der Befehle debug ip packet und debug ip nat auf dem Router NAT-Router, während ein Ping von der Router R1-Loopback0-Schnittstellenadresse (172.16.88.1) an die Router R2-Loopback0-Schnittstellenadresse (172.31.1.1) gesendet wird:
!--- The source address in the first packet arriving on the outside interface is first translated.
*Oct 4 20:26:48.839: NAT: s=172.16.88.1->172.31.16.10, d=172.31.1.1 [0]
!--- The ICMP echo request packet with the translated source address is routed and forwarded on the inside interface.
*Oct 4 20:26:48.839: IP: s=172.31.16.10 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, output feature, NAT Inside(8), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.839: IP: s=172.31.16.10 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, output feature, Common Flow Table(29), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.839: IP: s=172.31.16.10 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, output feature, Stateful Inspection(30), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.839: IP: s=172.31.16.10 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, output feature, NAT ALG proxy(63), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.839: IP: s=172.31.16.10 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), g=172.31.192.201, len 100, forward
*Oct 4 20:26:48.839: IP: s=172.31.16.10 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, sending full packet
!--- The ICMP echo reply packet arriving on the inside interface, is first routed based on the destination address.
Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.31.16.10, len 100, input feature, Common Flow Table(5), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.31.16.10, len 100, input feature, Stateful Inspection(8), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.31.16.10, len 100, input feature, Virtual Fragment Reassembly(39), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.31.16.10, len 100, input feature, Virtual Fragment Reassembly After IPSec Decryption(57), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.31.16.10, len 100, input feature, MCI Check(109), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
!--- The destination address in the packet is then translated.
*Oct 4 20:26:48.841: NAT: s=172.31.1.1, d=172.31.16.10->172.16.88.1 [0]
!--- The ICMP echo reply packet with the translated destination address is forwarded on the outside interface.
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.16.88.1 (GigabitEthernet0/0), len 100, output feature, Post-routing NAT Outside(26), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.16.88.1 (GigabitEthernet0/0), len 100, output feature, Common Flow Table(29), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.16.88.1 (GigabitEthernet0/0), len 100, output feature, Stateful Inspection(30), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.16.88.1 (GigabitEthernet0/0), len 100, output feature, NAT ALG proxy(63), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.16.88.1 (GigabitEthernet0/0), g=172.16.191.254, len 100, forward
*Oct 4 20:26:48.843: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.16.88.1 (GigabitEthernet0/0), len 100, sending full packet
*Oct 4 20:26:48.845: NAT*: s=172.16.88.1->172.31.16.10, d=172.31.1.1 [1]
*Oct 4 20:26:48.846: NAT*: s=172.31.1.1, d=172.31.16.10->172.16.88.1 [1]
*Oct 4 20:26:48.848: NAT*: s=172.16.88.1->172.31.16.10, d=172.31.1.1 [2]
*Oct 4 20:26:48.849: NAT*: s=172.31.1.1, d=172.31.16.10->172.16.88.1 [2]
*Oct 4 20:26:48.851: NAT*: s=172.16.88.1->172.31.16.10, d=172.31.1.1 [3]
*Oct 4 20:26:48.852: NAT*: s=172.31.1.1, d=172.31.16.10->172.16.88.1 [3]
*Oct 4 20:26:48.854: NAT*: s=172.16.88.1->172.31.16.10, d=172.31.1.1 [4]
*Oct 4 20:26:48.855: NAT*: s=172.31.1.1, d=172.31.16.10->172.16.88.1 [4]
Das vorherige Verfahren wird für jedes an der externen Schnittstelle empfangene Paket wiederholt.
Zusammenfassung
Der Hauptunterschied zwischen dem Befehl ip nat outside source list (dynamische NAT) und dem Befehl ip nat outside source static (statische NAT) besteht darin, dass in der Übersetzungstabelle keine Einträge vorhanden sind, bis der (für NAT konfigurierte) Router die Umwandlungskriterien des Pakets überprüft. Im vorherigen Beispiel erfüllt das Paket mit dem SA 172.16.88.1 (der in die externe Schnittstelle des NAT-Routers gelangt) die Zugriffsliste 1, die vom Befehl ip nat outside source list verwendeten Kriterien. Aus diesem Grund müssen die Pakete vom externen Netzwerk stammen, bevor die Pakete aus dem internen Netzwerk mit der loopback0-Schnittstelle des Routers R1 kommunizieren können.
In diesem Beispiel sind zwei wichtige Punkte zu beachten:
1. Wenn das Paket von außen nach innen übertragen wird, erfolgt zuerst die Übersetzung, und anschließend wird die Routing-Tabelle auf das Ziel überprüft. Wenn das Paket von innen nach außen übertragen wird, wird zuerst die Routing-Tabelle auf das Ziel überprüft, und anschließend wird die Übersetzung durchgeführt.
2. Es ist wichtig zu beachten, welcher Teil des IP-Pakets übersetzt wird, wenn Sie die vorherigen Befehle verwenden. Die folgende Tabelle enthält einen Leitfaden:
Command |
Aktion |
ip nat außerhalb der Quellliste |
- Übersetzt die Quelle von IP-Paketen, die von außen nach innen übertragen werden
- Übersetzt das Ziel von IP-Paketen, die von innen nach außen übertragen werden
|
ip nat in der Quellliste |
- Übersetzt die Quelle von IP-Paketen, die von innen nach außen übertragen werden
- Übersetzt das Ziel von IP-Paketen, die von außen nach innen übertragen werden
|
Diese Richtlinien weisen darauf hin, dass es mehr als eine Möglichkeit gibt, ein Paket zu übersetzen. Abhängig von Ihren spezifischen Anforderungen können Sie bestimmen, wie die NAT-Schnittstellen (innen oder außen) definiert werden und welche Routen die Routing-Tabelle vor oder nach der Übersetzung enthält. Beachten Sie, dass der Teil des Pakets, der umgewandelt wird, von der Richtung, in die sich das Paket bewegt, und von der Konfiguration der NAT abhängt.
Zugehörige Informationen