In einer statischen Standard-PAT-Konfiguration, in der eine IP: Port-Kombination immer einer anderen IP: Port-Kombination zugeordnet ist, können drei mögliche Kombinationen von Innen / Außen / Quelle / Ziel konfiguriert werden.
Dies ist beispielsweise ein Konfigurationsbeispiel:
ip nat inside source static tcp 10.0.20.13 8080 2.2.2.33 80
^^^^^^^^^^^^^
Für Laien bedeutet diese Konfiguration, dass jeder externe Host über Port 80 eine TCP-Verbindung zur IP 2.2.2.33 herstellen kann. Wenn dieses Paket den Router erreicht, werden die Ziel-IP-Adresse und Port ( 2.2.2.33:80
) übersetzt 10.0.20.13:8080
.
Das Gegenteil würde auch passieren, wenn der interne Host 10.0.20.13 ein TCP-Paket mit einem Quellport von 8080 sendet, da dieses Paket den Router kreuzt, die Quell-IP und Port ( 10.0.20.13:8080
) übersetzt werden 2.2.2.33:80
. (Dies ist normalerweise ein Antwortpaket und kein vom Inside-Host initiiertes Paket. )
Hier sind alle drei Konfigurationsoptionen für den oben markierten Teil:
Router(config)#ip nat inside ?
destination Destination address translation
source Source address translation
Router(config)#ip nat outside ?
source Source address translation
In der Tat könnten Sie konfigurieren:
- ip nat inside source static tcp {IP} {Port} {IP} {Port}
- ip nat im statischen Ziel tcp {IP} {Port} {IP} {Port}
- ip nat außerhalb der Quelle statisch tcp {IP} {Port} {IP} {Port}
Wie unterscheiden sich diese Optionen und wann würde man jede der drei Optionen verwenden? Bitte verwenden Sie Laienbegriffe wie oben, um zu beschreiben, wie jedes Paket manipuliert, das durch das Gerät kommt.
Kann mir auch jemand sagen, warum es keine externe Zieloption gibt?
Antworten:
Denken Sie sehr sorgfältig darüber nach.
Innerhalb der Quelle bedeutet, dass Sie die Quelladresse aus dem Datenverkehr in Ihrem Netzwerk übersetzen möchten. Dies ist die typische "Heimnetzwerk" -Anordnung, mit der Sie private Adressen im öffentlichen Internet verwenden können. Dies ist natürlich nicht die einzige Verwendung für diese Version.
Innerhalb des Ziels bedeutet, dass der Datenverkehr von einer externen Adresse zu einem bestimmten Zieltransportprotokoll und -port zu einer bestimmten internen Adresse geleitet werden soll. Dies ist, was Heimanwender tun, um den Zugriff auf einen Webserver mit einer privaten Adresse über das öffentliche Internet zu ermöglichen. Dies ist natürlich nicht die einzige Verwendung für diese Version.
Die externe Quelle übersetzt den von außen stammenden Datenverkehr so, als stamme er von einer internen Adresse. Dies kann in Fällen nützlich sein, in denen Unternehmen mit überlappenden IP-Adressbereichen zusammengeführt werden und mit der Verbindung der Netzwerke beginnen müssen. Sie können die Quelladressen des von außen stammenden Datenverkehrs, der normalerweise externe Quelladressen enthält, die mit internen Adressen in Konflikt stehen, in Quelladressenadressen in einem verfügbaren internen Adressbereich übersetzen.
Ein externes Ziel ist nicht sehr sinnvoll, da es die Umkehrung der Portweiterleitung ist. Dies würde jeglichen Verkehr, der von innen kommt und für ein bestimmtes externes Transportprotokoll und einen bestimmten Port bestimmt ist, auf eine einzige externe Adresse beschränken.
quelle
inside destination
scheint mit meiner "Laienerklärung" für übereinzustimmeninside source
. In meinem Beispiel wurde die Zielportnummer für den eingehenden Datenverkehr von80
auf geändert8080
. Ihre Beschreibung scheint zu implizieren, dass sich die Portnummer nicht ändert? So oder so kann das nicht der einzige Unterschied zwischeninside destination
und seininside source
, oder?inside source
Verkehrsfluss entsteht von innen und derinside destination
Verkehrsfluss von außen. Wenn Datenverkehr, der von stammt,inside source
eine Antwort benötigt,inside destination
wird für die Antwort ein temporärer Prozess ausgeführt. Die Portnummer kann geändert werden, wenn der Datenverkehr von einer Seite zur anderen übertragen wird. Dies wird jedoch nicht von allen Routern (insbesondere Heimroutern) unterstützt.Wir müssen von den Grundlagen ausgehen, also überarbeiten wir die NAT-Terminologie. NAT übersetzt IP-Adressen in IP-Pakete, richtig? Was bedeutet das? Dass es im Grunde Trugbilder erzeugt - ja, optische Täuschungen, wissen Sie. In einer typischen NAT-Konfiguration, in der privat adressierte LAN-Hosts über die öffentliche IP-Adresse der externen Router-Schnittstelle auf das Internet zugreifen, werden diese Hosts für Internet-Server mit dieser öffentlichen IP (oder IPs aus einem Pool öffentlicher IPs) angezeigt. NAT erstellt natürlich keine neuen physischen Hosts - aber es erstellt eine Art neue virtuelle Entitäten - in diesem Beispiel sehen sich die LAN-Hosts als beispielsweise 192.168.1.x, aber Internet-Server sehen sie als 203.0.113.x - Ein Satz physischer Hosts, aber zwei Sätze IP-Adressen. Zwei verschiedene Sätze von (logischen) Hosts. Optische Täuschung. Und die Terminologie lautet:
Und wie Sie sehen, sind wir verpflichtet, zwischen unserem Netzwerk und dem Internet oder einem anderen externen Netzwerk zu unterscheiden. Wir tun dies, indem wir die IP-Schnittstellen unseres Routers entweder als IP-Adresse innerhalb oder als IP-Adresse außerhalb markieren .
Erinnern wir uns nun daran, wie NAT normalerweise implementiert wird: Es verwaltet spezielle Tabellen, die Einträge zu Übersetzungen enthalten. Und der wichtige Punkt ist, dass diese Einträge entweder statisch oder dynamisch erstellt werden können . Bei dynamisch erstellten Einträgen ist die Verkehrsrichtung wichtig - wird der Verkehr von innen nach außen oder umgekehrt initiiert? Bei statischen Einträgen ist dies nicht der Fall - sie sind symmetrisch . NAT - Konfiguration Anweisungen, die das enthalten statische Schlüsselwort statische Einträge erstellen unmittelbar nach dem sie in den laufenden Config setzen; Diejenigen mit dem dynamischen Schlüsselwort achten auf den interessanten Datenverkehr und erstellen dynamisch Übersetzungseinträge, die dann eine Zeitüberschreitung verursachen.
Über Ihre letzte Frage können wir bereits spekulieren: Warum gibt es keine Option für ein externes Ziel ? ip nat inside source static erstellt einen statischen NAT-Eintrag, der genau wie von Ihnen beschrieben übersetzt wird. Dies umfasst jedoch nicht nur den von einer bestimmten Seite initiierten Datenverkehr - statische NAT-Einträge sind symmetrisch. Also, ip nat outside Ziel statisch wäre für die Übersetzung einen statischen Eintrag erstellen Ziel - IP - Adressen von Datenverkehr in Ihr Netzwerk aus der Eingabe außerhalb UND Quelle IP - Adressen für den Verkehr aus gehen innen - aber das ist genau das, was nat inside Quelle statische IPBefehl tut! Es ist also einfach überflüssig, diesen Befehl zu haben. Der einzige Unterschied besteht darin, dass Sie die Quelle mit der Ziel-IP austauschen würden, wenn Sie die eine oder andere Form des im Grunde gleichen Befehls verwenden.
In Bezug auf Ihre erste Aussage "Es gibt drei mögliche Kombinationen von Innen / Außen / Quelle / Ziel, die konfiguriert werden können" - dies ist nicht ganz so. Der Punkt ist, dass NAT-Konfigurationsanweisungen im Allgemeinen keine "mathematischen Formeln" sind und vollständig betrachtet werden sollten und nicht so, wie sie logisch aus unabhängigen Schlüsselwörtern aufgebaut sind. Jede "Kombination" stellt also eine Lösung für eine bestimmte Aufgabe dar. Beispielsweise wird ip nat in der Zielliste zum Konfigurieren des Server-TCP-Lastausgleichs verwendet, der einen bestimmten Algorithmus verwendet und nicht mit UDP funktioniert. Außerdem gibt es (in modernen IOS) keine IP-Adresse im statischen Zielbefehl - haben Sie es tatsächlich mit der statischen Option versucht ?
In diesem Cisco-Dokument finden Sie einige spezielle Szenarien für die Verwendung von NAT, einschließlich Konfigurationsbeispielen: http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_nat/configuration/12-2sx /nat-12-2sx-book/iadnat-addr-consv.html
Abschließend möchte ich erwähnen, dass NAT manchmal nicht das ist, was Sie wollen. Schauen Sie sich zum Beispiel meine Antwort auf diese "kanonische Frage" an: /server/55611/loopback-to-forwarded-public- IP-Adresse-vom-lokalen-Netzwerk-Haarnadel-nat / 733532 # 733532
PS Soll ich näher darauf eingehen?
quelle