Einleitung
In diesem Dokument wird beschrieben, wie Sie NAT (Network Address Translation) auf einem Cisco Router konfigurieren.
Voraussetzungen
Anforderungen
Dieses Dokument erfordert grundlegende Kenntnisse der Begriffe, die im Zusammenhang mit NAT verwendet werden.
Verwendete Komponenten
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
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).
Schnellstart-Schritte für die Konfiguration und Bereitstellung von NAT
Anmerkung: In diesem Dokument bezieht sich der Begriff „Internet“ oder „Internetgerät“ auf ein Gerät in einem beliebigen externen Netzwerk.
Bei der Konfiguration von NAT ist es manchmal nicht einfach, den Einstieg zu finden, insbesondere wenn Sie mit NAT noch nicht vertraut sind. Anhand dieser Schritte können Sie definieren, was NAT tun soll und wie Sie es konfigurieren:
-
Definition interner und externer NAT-Schnittstellen
-
Definieren Sie, was Sie mit NAT erreichen möchten.
-
Möchten Sie internen BenutzerInnen den Zugriff auf das Internet gestatten?
-
Möchten Sie dem Internet den Zugriff auf interne Geräte gestatten (z. B. auf einen Mail- oder Webserver)?
-
Möchten Sie TCP-Datenverkehr an einen anderen TCP-Port oder eine andere TCP-Adresse umleiten?
-
Möchten Sie NAT während einer Netzwerkumstellung verwenden (z. B. haben Sie eine Server-IP-Adresse geändert, und bis Sie alle Clients aktualisieren können, möchten Sie, dass die nicht aktualisierten Clients mit der ursprünglichen IP-Adresse auf den Server zugreifen können und den aktualisierten Clients erlauben, mit der neuen Adresse auf den Server zuzugreifen)?
-
Möchten Sie die Kommunikation von sich überschneidenden Netzwerken zulassen?
-
Konfigurieren Sie NAT, um die zuvor definierten Aufgaben auszuführen. Basierend auf dem, was Sie in Schritt 2 definiert haben, müssen Sie bestimmen, welche der folgenden Funktionen verwendet werden sollen:
-
Überprüfen Sie den NAT-Betrieb.
Jedes dieser NAT-Beispiele führt Sie durch die Schritte 1 bis 3 der Schnellstart-Schritte aus der obigen Abbildung. Diese Beispiele beschreiben einige gängige Szenarien, in denen Cisco die Bereitstellung von NAT empfiehlt.
Definition interner und externer NAT-Schnittstellen
Der erste Schritt bei der Bereitstellung von NAT ist die Definition interner und externer NAT-Schnittstellen. Der einfachste Weg besteht darin, Ihr internes Netzwerk als intern und das externe Netzwerk als extern zu definieren. Allerdings erfordern die Begriffe „intern“ und „extern“ eine Präzisierung. Die folgende Abbildung zeigt ein Beispiel dafür.
NAT-Topologie
Beispiele
1. Internen BenutzerInnen den Zugriff auf das Internet gestatten
Ist es möglich, dass Sie internen Benutzern den Zugriff auf das Internet erlauben wollen, aber Sie haben nicht genügend gültige Adressen, um alle unterzubringen. Wenn die gesamte Kommunikation mit Geräten im Internet von den internen Geräten stammt, benötigen Sie eine einzige gültige Adresse oder einen Pool gültiger Adressen.
Dieses Bild zeigt ein einfaches Netzwerkdiagramm, in dem die Router-Schnittstellen als innen und außen definiert sind.
Verfügbare gültige Adressen
In diesem Beispiel soll NAT bestimmten Geräten (den ersten 31 von jedem Subnetz) innerhalb des Netzwerks erlauben, eine Kommunikation mit Geräten außerhalb des Netzwerks zu initiieren und deren ungültige Adresse in eine gültige Adresse oder einen gültigen Adresspool zu übersetzen. Der Pool wurde als Adressbereich 172.16.10.1 bis 172.16.10.63 definiert.
Jetzt können Sie NAT konfigurieren. Um die wie in der obigen Abbildung definierten Ziele zu erreichen, verwenden Sie dynamische NAT. Bei dynamischer NAT ist die Übersetzungstabelle im Router zunächst leer und wird aufgefüllt, sobald der zu übersetzende Datenverkehr den Router passiert. Im Gegensatz dazu wird bei der statischen NAT eine Übersetzung statisch konfiguriert und in der Übersetzungstabelle platziert, ohne dass Datenverkehr erforderlich ist.
In diesem Beispiel können Sie NAT so konfigurieren, dass jedes interne Gerät in eine eindeutige gültige Adresse oder jedes interne Gerät in dieselbe gültige Adresse übersetzt wird. Diese zweite Methode wird als overloading
bezeichnet. Ein Beispiel für die Konfiguration der einzelnen Methoden finden Sie hier.
NAT so konfigurieren, dass interne BenutzerInnen auf das Internet zugreifen können
NAT-Router |
interface ethernet 0
ip address 10.10.10.1 255.255.255.0
ip nat inside
!--- Defines Ethernet 0 with an IP address and as a NAT inside interface.
interface ethernet 1
ip address 10.10.20.1 255.255.255.0
ip nat inside
!--- Defines Ethernet 1 with an IP address and as a NAT inside interface.
interface serial 0
ip address 172.16.10.64 255.255.255.0
ip nat outside
!--- Defines serial 0 with an IP address and as a NAT outside interface.
ip nat pool no-overload 172.16.10.1 172.16.10.63 prefix 24
!--- Defines a NAT pool named no-overload with a range of addresses !--- 172.16.10.1 - 172.16.10.63.
ip nat inside source list 7 pool no-overload
!--- Indicates that any packets received on the inside interface that !--- are permitted by access-list 7 has !--- the source address translated to an address out of the !--- NAT pool "no-overload".
access-list 7 permit 10.10.10.0 0.0.0.31
access-list 7 permit 10.10.20.0 0.0.0.31
!--- Access-list 7 permits packets with source addresses ranging from !--- 10.10.10.0 through 10.10.10.31 and 10.10.20.0 through 10.10.20.31.
|
Anmerkung: Cisco empfiehlt dringend, keine Zugriffslisten zu konfigurieren, auf die von NAT-Befehlen verwiesen wird und die "Zulassen" enthalten. Wenn Sie "Zulassen" für NAT verwenden, werden zu viele Router-Ressourcen verbraucht, was Netzwerkprobleme verursachen kann.
Beachten Sie in der vorherigen Konfiguration, dass nur die ersten 32 Adressen aus dem Subnetz 10.10.10.0 und die ersten 32 Adressen aus dem Subnetz 10.10.20.0 von der Zugriffsliste 7 zugelassen werden. Daher werden nur diese Quelladressen übersetzt. Möglicherweise gibt es andere Geräte mit anderen Adressen im internen Netzwerk, aber diese werden nicht übersetzt.
NAT so konfigurieren, dass interne BenutzerInnen mit Overload auf das Internet zugreifen können
NAT-Router |
interface ethernet 0
ip address 10.10.10.1 255.255.255.0
ip nat inside
!--- Defines Ethernet 0 with an IP address and as a NAT inside interface.
interface ethernet 1
ip address 10.10.20.1 255.255.255.0
ip nat inside
!--- Defines Ethernet 1 with an IP address and as a NAT inside interface.
interface serial 0
ip address 172.16.10.64 255.255.255.0
ip nat outside
!--- Defines serial 0 with an IP address and as a NAT outside interface.
ip nat pool ovrld 172.16.10.1 172.16.10.1 prefix 24
!--- Defines a NAT pool named ovrld with a range of a single IP !--- address, 172.16.10.1.
ip nat inside source list 7 pool ovrld overload
!--- Indicates that any packets received on the inside interface that !--- are permitted by access-list 7 has the source address !--- translated to an address out of the NAT pool named ovrld. !--- Translations are overloaded, which allows multiple inside !--- devices to be translated to the same valid IP address.
access-list 7 permit 10.10.10.0 0.0.0.31
access-list 7 permit 10.10.20.0 0.0.0.31
!--- Access-list 7 permits packets with source addresses ranging from !--- 10.10.10.0 through 10.10.10.31 and 10.10.20.0 through 10.10.20.31.
|
Beachten Sie, dass der NAT-Pool ovrld
in der vorherigen zweiten Konfiguration nur über einen Adressbereich verfügt. Das Schlüsselwort overload im Befehl ip nat inside source list 7 pool ovrld overload ermöglicht NAT, mehrere interne Geräte in eine einzelne Adresse im Pool zu übersetzen.
Eine weitere Variante dieses Befehls ist isip nat innerhalb der Quellliste 7, die die serielle 0-Schnittstelle überlastet und NAT so konfiguriert, dass die der seriellen 0-Schnittstelle zugewiesene Adresse überlastet wird.
Nach overloading
der Konfiguration speichert der Router genügend Informationen von übergeordneten Protokollen (z. B. TCP- oder UDP-Portnummern), um die globale Adresse wieder in die richtige lokale Adresse zu übersetzen. Definitionen globaler und lokaler Adressen finden Sie unterNAT: Globale und lokale Definitionen.
2. Dem Internet erlauben, auf interne Geräte zuzugreifen
Möglicherweise erfordern Ihre internen Geräte einen Austausch von Informationen mit Geräten im Internet, der über diese Internetgeräte initiiert wird. Beispiel: E-Mail. Es ist üblich, dass Geräte im Internet E-Mails an einen Mailserver im internen Netzwerk senden.
Initiieren von Kommunikationsvorgängen
NAT so konfigurieren, dass das Internet auf interne Geräte zugreifen kann
In diesem Beispiel definieren Sie zunächst die internen und externen NAT-Schnittstellen, wie im obigen Netzwerkdiagramm gezeigt.
Zweitens definieren Sie, dass Benutzer in der Lage sein sollen, die Kommunikation mit der Außenwelt zu initiieren. Geräte auf der Außenseite müssen in der Lage sein, nur mit dem Mail-Server auf der Innenseite zu kommunizieren.
Der dritte Schritt ist die Konfiguration von NAT. Um das zu erreichen, was Sie definiert haben, können Sie statische und dynamische NAT zusammen konfigurieren. Weitere Informationen zum Konfigurieren dieses Beispiels finden Sie unter Konfigurieren statischer und dynamischer NAT gleichzeitig.
3. TCP-Datenverkehr an einen anderen TCP-Port oder eine andere TCP-Adresse umleiten
Ein Webserver im internen Netzwerk ist ein weiteres Beispiel für ein Szenario, in dem Geräte im Internet die Kommunikation mit internen Geräten initiieren müssen. In einigen Fällen kann der interne Webserver so konfiguriert werden, dass er den Web-Datenverkehr über einen anderen TCP-Port als Port 80 überwacht. Beispielsweise kann der interne Webserver so konfiguriert werden, dass er den TCP-Port 8080 überwacht. In diesem Fall können Sie NAT verwenden, um an TCP-Port 80 gesendeten Datenverkehr zu TCP-Port 8080 umzuleiten.
TCP-Port für Web-Datenverkehr
Nachdem Sie die Schnittstellen wie im obigen Netzwerkdiagramm dargestellt definiert haben, können Sie festlegen, dass NAT Pakete von außen für 172.16.10.8:80 an 172.16.10.8:8080 weiterleiten soll. Sie können den Befehl static nat verwenden, um die TCP-Portnummer zu übersetzen, um dies zu erreichen. Hier sehen Sie eine Beispielkonfiguration.
NAT so konfigurieren, dass TCP-Datenverkehr an einen anderen TCP-Port oder eine andere TCP-Adresse umgeleitet wird
NAT-Router |
interface ethernet 0
ip address 172.16.10.1 255.255.255.0
ip nat inside
!--- Defines Ethernet 0 with an IP address and as a NAT inside interface.
interface serial 0
ip address 10.200.200.5 255.255.255.252
ip nat outside
!--- Defines serial 0 with an IP address and as a NAT outside interface.
ip nat inside source static tcp 172.16.10.8 8080 172.16.10.8 80
!--- Static NAT command that states any packet received in the inside !--- interface with a source IP address of 172.16.10.8:8080 is !--- translated to 172.16.10.8:80.
|
Anmerkung: Die Konfigurationsbeschreibung für den statischen NAT-Befehl gibt an, dass alle Pakete, die über die interne Schnittstelle empfangen werden, mit der Quelladresse 172.16.10.8:8080 in 172.16.10.8:80 übersetzt werden. Dies bedeutet auch, dass alle Pakete, die über die externe Schnittstelle empfangen werden, die Zieladresse 172.16.10.8:80 lautet das Ziel übersetzt 172.16.10.8:8080.
show ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 172.16.10.8:80 172.16.10.8:8080 --- ---
4. NAT für einen Netzwerkübergang verwenden
NAT ist nützlich, wenn Sie Geräte im Netzwerk neu adressieren oder ein Gerät durch ein anderes ersetzen müssen. Wenn beispielsweise alle Geräte im Netzwerk einen bestimmten Server verwenden und dieser Server durch einen neuen mit einer neuen IP-Adresse ersetzt werden muss, dauert die Neukonfiguration aller Netzwerkgeräte, um die neue Serveradresse zu verwenden, einige Zeit. In der Zwischenzeit können Sie NAT verwenden, um die Geräte mit der alten Adresse so zu konfigurieren, dass sie ihre Pakete für die Kommunikation mit dem neuen Server übersetzen.
NAT-Netzwerkübergang
Nachdem Sie die NAT-Schnittstellen wie in der Abbildung oben dargestellt definiert haben, können Sie bestimmen, dass NAT Pakete von außen für die alte Serveradresse (172.16.10.8) übersetzen und an die neue Serveradresse senden kann. Beachten Sie, dass sich der neue Server in einem anderen LAN befindet und dass Geräte in diesem LAN oder alle Geräte, die über dieses LAN erreichbar sind (Geräte im inneren Teil des Netzwerks), so konfiguriert werden müssen, dass sie die neue Server-IP-Adresse verwenden, wenn möglich.
Sie können statische NAT verwenden, um Ihre Anforderungen zu erfüllen. Hier eine Beispielkonfiguration:
NAT für die Verwendung während eines Netzwerkübergangs konfigurieren
NAT-Router |
interface ethernet 0
ip address 172.16.10.1 255.255.255.0
ip nat outside
!--- Defines Ethernet 0 with an IP address and as a NAT outside interface.
interface ethernet 1
ip address 172.16.50.1 255.255.255.0
ip nat inside
!--- Defines Ethernet 1 with an IP address and as a NAT inside interface.
interface serial 0
ip address 10.200.200.5 255.255.255.252
!--- Defines serial 0 with an IP address. This interface is not !--- participating in NAT.
ip nat inside source static 172.16.50.8 172.16.10.8
!--- States that any packet received on the inside interface with a !--- source IP address of 172.16.50.8 is translated to 172.16.10.8.
|
Anmerkung: Der Befehl inside source NAT in diesem Beispiel impliziert außerdem, dass Pakete, die an der externen Schnittstelle mit der Zieladresse 172.16.10.8 empfangen werden, die Zieladresse in 172.16.50.8 übersetzt haben.
5. NAT für überlappende Netzwerke verwenden
Überlappende Netzwerke entstehen, wenn Sie internen Geräten IP-Adressen zuweisen, die bereits von anderen Geräten im Internet verwendet werden. Diese Netzwerke entstehen auch, wenn zwei Unternehmen, die beide RFC 1918-IP-Adressen in ihren Netzwerken verwenden, fusionieren. Diese beiden Netzwerke müssen miteinander kommunizieren, vorzugsweise ohne Zuweisung neuer Adressen für alle Geräte.
Unterschied zwischen One-to-One -und Many-to-Many-Zuordnung
Eine statische NAT-Konfiguration erstellt eine Eins-zu-Eins-Zuordnung und übersetzt eine bestimmte Adresse in eine andere. Diese Art von Konfiguration erstellt einen permanenten Eintrag in der NAT-Tabelle, solange die Konfiguration vorhanden ist, und ermöglicht internen und externen Hosts, eine Verbindung zu initiieren. Dies ist vor allem für Hosts nützlich, die Anwendungsservices wie E-Mail, Web, FTP usw. bereitstellen. Beispiele:
Router(config)#ip nat inside source static 10.3.2.11 10.41.10.12
Router(config)#ip nat inside source static 10.3.2.12 10.41.10.13
Dynamische NAT ist nützlich, wenn weniger Adressen verfügbar sind als die tatsächliche Anzahl der zu übersetzenden Hosts. Sie erstellt einen Eintrag in der NAT-Tabelle, wenn der Host eine Verbindung initiiert, und stellt eine Eins-zu-Eins-Zuordnung zwischen den Adressen her. Die Zuordnung kann jedoch variieren und hängt von der registrierten Adresse ab, die zum Zeitpunkt der Kommunikation im Pool verfügbar ist. Mit dynamischer NAT können Sitzungen nur von internen oder externen Netzwerken initiiert werden, für die sie konfiguriert ist. Dynamische NAT-Einträge werden aus der Übersetzungstabelle entfernt, wenn der Host über einen konfigurierbaren Zeitraum nicht kommuniziert. Die Adresse wird dann zur Verwendung durch einen anderen Host an den Pool zurückgegeben.
Führen Sie beispielsweise die folgenden Schritte der detaillierten Konfiguration aus:
-
Erstellen Sie einen Pool von Adressen.
Router(config)#ip nat pool MYPOOLEXAMPLE 10.41.10.1 10.41.10.41 netmask 255.255.255.0
-
Erstellen Sie eine Zugriffsliste für die internen Netzwerke, die zugeordnet werden müssen.
Router(config)#access-list 100 permit ip 10.3.2.0 0.0.0.255 any
-
Ordnen Sie die Zugriffsliste 100, die das interne Netzwerk 10.3.2.0 0.0.0.255 für die Vernetzung mit dem Pool MYPOOLEXAMPLE auswählt, zu und führen Sie einen Adress-Overload durch.
Router(config)#ip nat inside source list 100 pool MYPOOLEXAMPLE overload
Überprüfen Sie den NAT-Betrieb
Nachdem Sie NAT konfiguriert haben, überprüfen Sie, ob sie wie erwartet funktioniert. Sie können dies auf verschiedene Weise tun: mit einem Netzwerkanalysator, show-Befehlen oder debug-Befehlen. Ein detailliertes Beispiel für die NAT-Überprüfung finden Sie unter Überprüfung des NAT-Betriebs und der grundlegenden NAT.
Schlussfolgerung
Die Beispiele in diesem Dokument veranschaulichen Schnellstartschritte, die Sie bei der Konfiguration und Bereitstellung von NAT unterstützen können.
Zu diesen Schnellstart-Schritten gehören:
-
Definition interner und externer NAT-Schnittstellen
-
Definition dessen, was Sie mit NAT erreichen möchten
-
Konfigurieren von NAT, um das zu erreichen, was Sie in Schritt 2 definiert haben
-
Überprüfen Sie den NAT-Betrieb.
In jedem der vorherigen Beispiele wurden verschiedene Formen des Befehls ip nat insideverwendet. Sie können auch den Befehl ip nat outside verwenden, um die gleichen Ziele zu erreichen, aber beachten Sie dabei die NAT-Reihenfolge der Vorgänge. Konfigurationsbeispiele, die die Befehle ip nat outside verwenden, finden Sie unter Configure IP NAT Outside Source List Command.
In den obigen Beispielen wurden außerdem folgende Aktionen demonstriert:
Command |
Aktion |
ip nat inside source
|
- Ü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.
|
ip nat outside source
|
- Ü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.
|
Zugehörige Informationen