In diesem Dokument wird erläutert, wie die Verwendung von Zugriffslisten und Routenzuordnungen die Funktionalität von Network Address Translation (NAT) verändert. Weitere Informationen zu NAT finden Sie unter Cisco IOS NAT.
Für dieses Dokument bestehen keine speziellen Anforderungen.
Die Informationen in diesem Dokument basieren auf den folgenden Software- und Hardwareversionen:
Cisco Router der Serie 2500.
Cisco IOS® Softwareversion 12.3(3).
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps zu Konventionen von Cisco).
NAT verwendet nur Zugriffslisten und Routenzuordnungen, wenn ein Übersetzungseintrag erstellt werden muss. Wenn bereits ein Übersetzungseintrag vorhanden ist, der dem Datenverkehr entspricht, wird der Übersetzungseintrag verwendet. Zugriffslisten oder Routenkarten werden nicht konsultiert. Der Unterschied zwischen der Verwendung einer Zugriffsliste oder einer Routenübersicht besteht in der Art des zu erstellenden Übersetzungseintrags.
Wenn NAT eine Route Map verwendet, um einen Übersetzungseintrag zu erstellen, wird immer ein "vollständig erweiterter" Übersetzungseintrag erstellt. Dieser Übersetzungseintrag enthält sowohl interne als auch externe (lokale und globale) Adresseinträge sowie alle TCP- oder UDP-Portinformationen. Weitere Informationen finden Sie unter NAT: Lokale und globale Definitionen für weitere Informationen zu internen und externen (lokalen und globalen) Adressen.
Wenn NAT eine Zugriffsliste verwendet, um einen Übersetzungseintrag zu erstellen, wird ein "einfacher" Übersetzungseintrag erstellt. Dieser "einfache" Eintrag enthält nur lokale und globale IP-Adresseinträge für innen oder außen, je nachdem, ob der Befehl ip nat inside oder ip nat outside konfiguriert ist. Außerdem enthält es keine TCP- oder UDP-Portinformationen.
Wenn NAT eine Zugriffsliste verwendet und auch eine Überladung angegeben wurde, erstellt NAT einen "vollständig erweiterten" Übersetzungseintrag. (Siehe Hinweis 1). Der Vorgang ähnelt dem Fall route-map, jedoch verfügt route-map über einige zusätzliche Funktionen. Weitere Einzelheiten finden Sie in Hinweis 2. Sie können ein Beispiel für einen einfachen NAT-Übersetzungseintrag und einen vollständig erweiterten NAT-Übersetzungseintrag anzeigen, indem Sie einen der folgenden Links auswählen:
Dies ist ein Beispiel für ein Netzwerkdiagramm, in dem der Unterschied zwischen der Verwendung einer Routenübersicht und einer Zugriffsliste mit NAT veranschaulicht wird:
In diesem Beispiel für ein Netzwerkdiagramm müssen Hosts in 10.1.1.0 in Folgendes übersetzt werden:
131.108.2.0 beim Wechseln zu 131.108.1.0
131.118.2.0 beim Wechseln zu 131.118.1.0
Bei einem Ansatz für die Zugriffsliste müssen Sie die Hosts in 10.1.1.0 wie folgt übersetzen:
ip nat pool pool108 131.108.2.1 131.108.2.254 prefix-length 24 !--- Defines a pool of global addresses to be allocated as needed. ip nat pool pool118 131.118.2.1 131.118.2.254 prefix-length 24 ip nat inside source list 108 pool pool108 !--- Establishes dynamic source translation, specifying the !--- access list defined below. ip nat inside source list 118 pool pool118 interface ethernet0 ip address 10.1.1.1 255.255.255.0 ip nat inside !--- Marks the interface as connected to the inside. interface ethernet1 ip address 10.1.2.1 255.255.255.0 ip nat outside !--- Marks the interface as connected to the outside. access-list 108 permit ip 10.1.1.0 0.0.0.255 131.108.1.0 0.0.0.255 !--- Defines the access-list mentioning those addresses !--- that are to be translated. access-list 118 permit ip 10.1.1.0 0.0.0.255 131.118.1.0 0.0.0.255
Weitere Informationen zu diesen Befehlen finden Sie unter IP-Adressierung und Dienstbefehle.
Folgendes passiert, wenn Host 1 Telnet zu Host 2 wechselt.
Packet on (Network 1) s:10.1.1.2(1024) d:131.108.1.2(23) Packet on (Network 2) s:131.108.2.1(1024) d:131.108.1.2(23) (after NAT)
Da die NAT eine Zugriffsliste für diesen Datenverkehr verwendet hat, wird ein einfacher Übersetzungseintrag erstellt, der nur Insider-Übersetzungsinformationen und keine Protokoll- oder Portinformationen enthält:
inside outside local global global local 10.1.1.2 131.108.2.1 ---- ----
Rückgabepaket: Host 2 zu Host 1:
Packet on (Network 2) s:131.108.1.2(23) d:131.108.2.1(1024) Packet on (Network 1) s:131.108.1.2(23) d:10.1.1.2(1024) (after NAT)
Wenn Host 1 auch Telnets zu Host 3 hinzufügt, ist die oben beschriebene einfache Übersetzung vorhanden:
Packet on (Network 1) s:10.1.1.2(1025) d:131.118.1.2(23) Packet on (Network 2) s:131.108.2.1(1025) d:131.118.1.2(23) (after NAT)
Sie sehen, dass ein Problem besteht. Pakete, die von 10.1.1.0-Hosts auf 131.118.1.0-Hosts gehen, sollten in 131.118.2.0 umgewandelt werden, nicht in 131.108.2.0. Der Grund dafür ist, dass es bereits einen NAT-Übersetzungseintrag für 10.1.1.2 <—> 131.108.2.1 gibt, der auch den Datenverkehr zwischen Host 1 und Host 3 abgleicht. Daher wird dieser Übersetzungseintrag verwendet, und die Zugriffslisten 108 und 118 werden nicht überprüft.
Während der einfache Übersetzungseintrag in der NAT-Übersetzungstabelle vorhanden ist, kann er von jedem externen Benutzer auf einem beliebigen externen Host verwendet werden, um ein Paket an Host 1 zu senden, sofern der externe Benutzer die interne globale Adresse (131.108.2.1) für Host 1 verwendet. Normalerweise ist eine statische NAT-Übersetzung erforderlich, um dies zu ermöglichen.
Die richtige Methode zum Konfigurieren des Beispiels in diesem Dokument ist die Verwendung von Routenzuordnungen. Bei einem route-map-Ansatz würden Sie folgende Schritte ausführen, um die Hosts in 10.1.1.0 zu übersetzen:
ip nat pool pool-108 131.108.2.1 131.108.2.254 prefix-length 24 ip nat pool pool-118 131.118.2.1 131.118.2.254 prefix-length 24 ip nat inside source route-map MAP-108 pool pool-108 !--- Establishes dynamic source translation, specifying !--- the route-map MAP-108 which is defined below. ip nat inside source route-map MAP-118 pool pool-118 !--- Establishes dynamic source translation, specifying the route-map MAP-118. !--- Here, the route-maps are consulted instead of !--- access-lists (as in the previous case). interface ethernet0 ip address 10.1.1.1 255.255.255.0 ip nat inside interface ethernet1 ip address 10.1.2.1 255.255.255.0 ip nat outside access-list 108 permit ip 10.1.1.0 0.0.0.255 131.108.1.0 0.0.0.255 access-list 118 permit ip 10.1.1.0 0.0.0.255 131.118.1.0 0.0.0.255 route-map MAP-108 permit 10 !--- Defines the Route-map MAP-108. match ip address 108 !--- Specifies the criteria for translation. Here, the IP !--- address mentioned in the access-list 108 is translated. !--- The translation is defined in the !--- ip nat inside source route-map MAP-108 pool pool-108 command. route-map MAP-118 permit 10 !--- Defines the Route-map MAP-108. match ip address 118 !--- The IP address mentioned in the access-list 118 is translated. !--- The translation is defined in the !--- ip nat inside source route-map MAP-118 pool pool-118 command.
Weitere Informationen zu diesen Befehlen finden Sie unter IP-Adressierung und Dienstbefehle.
Folgendes passiert, wenn Host 1 Telnet zu Host 2 wechselt:
Packet on (Network 1) s:10.1.1.2(1024) d:131.108.1.2(23) Packet on (Network 2) s:131.108.2.1(1024) d:131.108.1.2(23) (after NAT)
Da die NAT eine Route Map für den zu übersetzenden Datenverkehr verwendet hat, erstellt NAT in diesem Fall einen vollständig erweiterten Übersetzungseintrag, der sowohl interne als auch externe Übersetzungsinformationen enthält:
inside outside local global global local 10.1.1.2:1024 131.108.2.1:1024 131.108.1.2:23 131.108.1.2:23
Rückgabepaket: Host 2 zu Host 1:
Packet on (Network 2) s:131.108.1.2(23) d:131.108.2.1(1024) Packet on (Network 1) s:131.108.1.2(23) d:10.1.1.2(1024) (after NAT)
Wenn Host 1 jetzt ein Paket an Host 3 sendet, wird Folgendes angezeigt:
Packet on (Network 1) s:10.1.1.2(1025) d:131.118.1.2(23) Packet on (Network 2) s:131.118.2.1(1025) d:131.118.1.2(23) (after NAT)
Die Übersetzung funktionierte ordnungsgemäß, da das Paket auf (N1) nicht mit dem vollständig erweiterten Übersetzungseintrag übereinstimmt, der für den Datenverkehr von Host 1 zu Host 2 verwendet wurde. Da die vorhandene Übersetzung nicht übereinstimmt, erstellt NAT einen weiteren Übersetzungseintrag für den Datenverkehr von Host 1 zu Host 3.
Dies sind die vollständig erweiterten Übersetzungseinträge auf dem NAT-Router:
inside outside local global global local 10.1.1.2:1024 131.108.2.1:1024 131.108.1.2:23 131.108.1.2:23 10.1.1.2:1025 131.118.2.1:1025 131.118.1.2:23 131.118.1.2:23
Da die NAT-Übersetzungstabelle über zwei vollständige Einträge verfügt, wird der Datenverkehr, der von derselben Quelle an die beiden Ziele geleitet wird, korrekt übersetzt.
Anders als der einfache Übersetzungseintrag, der über die Zugriffsliste erstellt wurde, kann der vollständig erweiterte Übersetzungseintrag, der über die Routenübersicht erstellt wurde, von keinem anderen externen Benutzer zum Senden eines Pakets an Host 1 verwendet werden. Hierfür ist eine statische NAT-Übersetzung erforderlich.
Bei Zugriffslisten mit Überlastung ähnelt die Konfiguration der Zugriffsliste ohne Überlastungsfall. Die Ausnahme ist, dass Sie das Schlüsselwort overload zum Befehl ip nat in der Quellliste 108 pool108 und ip nat in der Quellliste 118 pool118 hinzufügen müssen.
Der Vorteil der Verwendung von route-maps besteht darin, dass Sie unter dem Befehl match mehr Optionen als die Quell-IP-Adresse haben können. Beispielsweise kann unter der route-map die Match-Schnittstelle oder match ip next-hop angegeben werden. Mithilfe von route-maps können Sie die IP-Adresse sowie die Schnittstelle oder die Next-Hop-Adresse angeben, an die das Paket weitergeleitet werden soll. Daher werden Routing-Maps mit NAT in einem Szenario verwendet, in dem der Teilnehmer Multi-Homing mit verschiedenen ISPs durchführt.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
10-Aug-2005 |
Erstveröffentlichung |