close

Netzwerkadressübersetzung

Zur Navigation gehen Zur Suche gehen

Network Address Translation , auch IP - Masquerading oder NAT genannt , ist ein Mechanismus , der von IP - Routern verwendet wird , um Pakete zwischen zwei Netzwerken zu vermitteln , die sich gegenseitig inkompatible Adressen zuweisen . Es besteht darin, die in den transportierten Paketen verwendeten Adressen in Echtzeit umzuwandeln. Es ist auch notwendig, die Pakete zu bearbeiten, um den Betrieb von Protokollen zu ermöglichen , die Adressinformationen innerhalb der Protokollkonversation enthalten.

Die einfachste Art von NAT bietet eine Eins-zu-eins-Übersetzung von IP-Adressen. RFC 2663 bezeichnet diese Art von NAT als Basic NAT, auch bekannt als Eins-zu-Eins-NAT . Bei dieser Art von NAT müssen nur die IP-Adressen, die IP-Header-Prüfsummen und die übergeordneten Prüfsummen, die in der IP-Adresse enthalten sind, geändert werden. Der Rest des Pakets bleibt intakt (zumindest für die grundlegende TCP / UDP -Funktionalität erfordern einige Protokolle höherer Ebene möglicherweise eine andere Form der Übersetzung). Es ist üblich, einen ganzen IP-Adressraum, normalerweise private IP-Adressen , hinter einer einzelnen IP-Adresse (oder einer kleinen Gruppe von IP-Adressen) in einem anderen (normalerweise öffentlichen) Adressraum zu verstecken.

NAT ist wie die Empfangsdame in einem großen Büro. Stellen Sie sich vor, Sie sagen der Empfangsdame, dass sie keine Anrufe zu Ihnen durchstellen soll, es sei denn, Sie bitten sie darum. Später rufen Sie einen potenziellen Kunden an und hinterlassen ihm eine Nachricht, damit er Sie zurückruft. Dann teilt er der Empfangsdame mit, dass er einen Anruf von diesem Kunden erwartet und bittet ihn, den Anruf auf sein Telefon durchzustellen. Der Kunde ruft die Hauptbüronummer an, die die einzige Nummer ist, die der Kunde kennt. Wenn der Kunde der Rezeptionistin mitteilt, nach wem er sucht, schlägt die Rezeptionistin eine Nachschlagetabelle nach, die ihre Büronebenstellennummer angibt. Der Rezeptionist weiß, dass der Benutzer diesen Anruf angefordert hat, und leitet ihn an seine Nebenstelle weiter.

Während also der DHCP -Server Geräten innerhalb des Netzwerks dynamische IP-Adressen zuweist , behalten NAT-fähige Router eine oder mehrere gültige Internet-IP-Adressen außerhalb des Netzwerks. Wenn der Client Pakete aus dem Netzwerk sendet, übersetzt NAT die interne IP-Adresse des Clients in eine externe Adresse. Bei externen Benutzern hat der gesamte Datenverkehr, der in das Netzwerk eintritt und es verlässt, dieselbe IP-Adresse oder stammt von denselben Adressen.

Seine häufigste Verwendung besteht darin, private Adressen (definiert in RFC 1918 ) für den Zugriff auf das Internet zuzulassen . Es gibt Bereiche privater Adressen , die innerhalb eines privaten Netzwerks beliebig und frei verwendet werden können. Wenn die Anzahl der privaten Adressen sehr groß ist, kann nur ein Teil der öffentlichen Adressen verwendet werden, um vom privaten Netzwerk ins Internet zu gehen. Auf diese Weise können nur so viele Computer gleichzeitig mit einer IP -Adresse ins Internet gehen, wie öffentliche Adressen vergeben wurden. Dies ist aufgrund der fortschreitenden Verknappung von IPv4-Adressen erforderlich . Mit dem Aufkommen von IPv6 wird erwartet, dass diese Praxis nicht mehr notwendig sein wird.

Betrieb

Das TCP/IP -Protokoll kann mehrere gleichzeitige Verbindungen zu einem entfernten Gerät herstellen. Dazu gibt es im Header eines IP-Pakets Felder, die die Quell- und Zieladresse angeben. Diese Zahlenkombination definiert eine einzelne Verbindung.

Die meisten NATs ordnen mehrere private Maschinen (Hosts) einer öffentlich zugänglichen IP-Adresse zu. In einer typischen Konfiguration verwendet ein lokales Netzwerk bestimmte private IP-Adressen für Subnetze ( RFC 1918 ). Ein Router in diesem Netzwerk hat eine private Adresse in diesem Adressraum. Der Router ist außerdem über eine von einem Internet Service Provider (ISP) zugewiesene öffentliche Adresse mit dem Internet verbunden. Wenn der Datenverkehr vom lokalen Netzwerk zum Internet geleitet wird, wird die Quelladresse in jedem Paket spontan von einer privaten Adresse in eine öffentliche Adresse übersetzt. Der Router verfolgt die Grunddaten jeder aktiven Verbindung (insbesondere Zieladresse und Port). Wenn eine Antwort beim Router ankommt, verwendet der Router die in der Ausgabephase gespeicherten Verbindungsverfolgungsdaten, um die private Adresse im internen Netzwerk zu bestimmen, an die die Antwort weitergeleitet werden soll.

Alle Internetpakete haben eine Quell-IP-Adresse und eine Ziel-IP-Adresse. Im Allgemeinen wird die Quelladresse von Paketen, die vom privaten Netzwerk zum öffentlichen Netzwerk gehen, geändert, während die Zieladresse von Paketen, die durch das öffentliche Netzwerk zurück zum privaten Netzwerk gehen, geändert wird. Es gibt komplexere Konfigurationen.

Um Mehrdeutigkeiten bei der Rückübersetzung von Paketen zu vermeiden, sind andere Modifikationen erforderlich. Der meiste Verkehr, der im Internet generiert wird, sind TCP- und UDP-Pakete, für diese Protokolle werden die Portnummern geändert, sodass die Kombination aus IP- und Portinformationen im zurückgegebenen Paket eindeutig der privaten Adresse und den Portinformationen zugeordnet werden kann. Protokolle, die nicht auf TCP und UDP basieren, erfordern andere Übersetzungstechniken. ICMP-Pakete beziehen sich normalerweise auf eine bestehende Verbindung und müssen mit denselben IP-Informationen zugewiesen werden. Da es sich bei ICMP um eine bestehende Verbindung handelt, wird kein Port verwendet.

Ein NAT-Gateway ändert bei jedem ausgehenden Paket die Quelladresse und je nach Methode auch den Quellport, damit dieser eindeutig ist. Diese Adressübersetzungen werden in einer Tabelle gespeichert, um sich zu merken, welche Adresse und welcher Port jedem Client-Gerät entsprechen, und somit zu wissen, wohin die Antwortpakete zurückkehren sollen. Wenn ein Paket, das versucht, in das interne Netzwerk einzudringen, an einem bestimmten Port und einer bestimmten Adresse nicht in der Tabelle vorhanden ist, kann es auf ein bestimmtes Gerät zugreifen, z. B. einen Webserver, der Reverse-NAT oder DNAT (Destination NAT) genannt wird.

NAT hat viele Betriebsformen, unter denen sich die folgenden hervorheben:

Statisches NAT

Auch als 1:1-NAT bekannt, ist es eine Art von NAT, bei der eine private IP-Adresse in eine öffentliche IP-Adresse übersetzt wird, wobei diese öffentliche Adresse immer dieselbe ist. Dadurch kann ein Host , wie z. B. ein Webserver , eine private Netzwerk-IP-Adresse haben, aber dennoch im Internet sichtbar sein.

Dynamisches NAT

Es ist eine Art von NAT, bei der eine private IP-Adresse auf der Grundlage einer Tabelle registrierter (öffentlicher) IP-Adressen einer öffentlichen IP zugeordnet wird. Normalerweise führt der NAT-Router in einem Netzwerk eine Tabelle mit registrierten IP-Adressen, und wenn eine private IP einen Internetzugang erfordert, wählt der Router eine IP-Adresse aus der Tabelle aus, die nicht von einer anderen privaten IP verwendet wird. Dies erhöht die Sicherheit eines Netzwerks, indem die internen Einstellungen eines privaten Netzwerks maskiert werden, wodurch es für Hosts außerhalb des Netzwerks schwierig wird, in das Netzwerk einzudringen. Diese Methode erfordert, dass alle Hosts im privaten Netzwerk, die sich mit dem öffentlichen Netzwerk verbinden möchten, mindestens eine öffentliche IP-Adresse haben.

NAT-Überlastung

Am weitesten verbreitet ist Overload-NAT, auch bekannt als PAT ( Port Address Translation ) , NAPT ( Network Address Port Translation ) , Single-Address-NAT oder auf Netzwerkebene gemultiplextes NAT.

Überlappung

Wenn die im privaten Netzwerk verwendeten IP-Adressen öffentliche IP-Adressen sind, die in einem anderen Netzwerk verwendet werden, verfügt der Router über eine Übersetzungstabelle, die den Ersatz dieser durch eine einzige öffentliche IP-Adresse angibt. Dadurch werden Adresskonflikte zwischen verschiedenen Netzwerken vermieden.

Arten von NAT

NAT-Geräte verhalten sich nicht einheitlich und es wurde versucht, ihre Verwendung in verschiedene Klassen einzuteilen. Es gibt vier Arten von NAT: [ 1 ]

  • Vollkegel NAT. In diesem Fall der vollständigen Kommunikation ordnet NAT die interne IP-Adresse und den Port einer anderen öffentlichen Adresse und einem anderen Port zu. Nach der Einrichtung kann jeder externe Host mit dem Host des privaten Netzwerks kommunizieren, indem er Pakete an eine zugeordnete externe IP-Adresse und einen zugeordneten Port sendet. Diese NAT-Implementierung ist am unsichersten, da ein Angreifer erraten kann, welcher Port offen ist.
  • Restricted Cone NAT. In diesem Fall der eingeschränkten Verbindung werden die externe NAT-IP und der Port geöffnet, wenn der Host des privaten Netzwerks mit einer bestimmten IP-Adresse außerhalb seines Netzwerks kommunizieren möchte. NAT blockiert den gesamten Datenverkehr, der nicht von dieser bestimmten IP-Adresse kommt.
  • Port -Restricted Cone NAT. Bei einer portbeschränkten Verbindung blockiert NAT den gesamten Datenverkehr, es sei denn, der private Netzwerkhost hat zuvor Datenverkehr an eine bestimmte IP und einen bestimmten Port gesendet, dann hat nur diese IP/dieser Port Zugriff auf das private Netzwerk.
  • Symmetrisches NAT. In diesem Fall hängt die Übersetzung von der privaten IP-Adresse in die öffentliche IP-Adresse von der Ziel-IP-Adresse ab, an die Sie den Datenverkehr senden möchten.

Symmetrisches NAT

Wie in RFC 3489 (Abschnitt 5) [ 2 ] dieser NAT-Typen zu finden ist, ist symmetrisches NAT am schwierigsten zu handhaben. Dies liegt daran, dass die Zuordnung zwischen IP und privatem Port gegen IP und öffentlichen Port nicht erhalten bleibt, d. h. für jede ausgehende Anfrage wird ein zufälliger Port zugewiesen und dieser variiert für jede Kommunikation. Bei den drei vorherigen Arten von NAT wurden die IP-Adresse und der interne Port der Kommunikation in dem Gerät, das NAT durchführt, unabhängig von der Adresse beibehalten: externer Port des Zielhosts, aber in diesem Fall variiert er und bewahrt zusätzlich die Einschränkungen von der Port Restricted Cone NAT. Wenn daher der Zielhost versucht, ein Paket an die Quelladresse zu senden, würde der NAT-Router das Paket ablehnen, da er den Absender nicht als "autorisierten" Host zum Senden an diese Adresse erkennt. Der Vorteil von symmetrischem NAT besteht darin, dass mehrere interne Maschinen mit demselben Quellport gleichzeitig eine Kommunikation aufbauen können. Aus diesem Grund ist diese Art von NAT eine gute Option, wenn mehrere interne Maschinen dasselbe Gateway durchlaufen, über das nur sie verfügen öffentliche IP und zusätzlich die Anwendungen dieser Geräte stellen eine Anfrage von demselben Port. Diese Art von NAT ist in Anwendungen oder Geräten üblich, die das SIP-Protokoll implementieren , wobei der Quell- und Zielport typischerweise 5060 ist. In einer neueren Klassifizierungsmethode, die in RFC 4787 erläutert wird, werden NAT-Typen jedoch durch zwei Eigenschaften unterschieden: nach der Art der Abbildung und nach Art der Filterung. Und sie können von drei Arten sein: Unabhängig vom Zielpunkt (Endpoint-Independent), abhängig von der Adresse (Address-Dependent) oder abhängig von der Adresse und dem Port (Address and Port-Dependent). Mit dieser neuen Klassifizierungsmethode wäre symmetrisches NAT eigentlich ein NAT, das abhängig von Adresse und Port abbildet.

Konfigurationsbeispiel

In diesem Abschnitt des Artikels wird die grundlegende Art und Weise der Konfiguration eines NAT auf einem Router erklärt. Die in diesem Abschnitt verwendeten Schritte folgen der Programmierung eines NAT-Servers auf einem Cisco - Router .

Es ist möglicherweise nicht einfach, einen echten Router zu bekommen, um diese Erfahrung zu machen, aber Sie können sich dafür entscheiden, einen echten Router-Simulator wie Cisco Packet Tracer zu verwenden . In diesem Beispiel haben wir 3 Router, einen Switch und drei Computer .

aus dem Internet zum Netzwerk mit privaten IP-

  1. Verbinden Sie die Geräte über die jeweils passenden Ports ( Ethernet , ATM , Seriell etc.) miteinander.
  2. Wir gehen davon aus, dass Sie IP-Routing kennen und wissen, wie Sie das Netzwerk mithilfe des Routing-Protokolls konvergieren . RIP wird für einfachere und schnellere Setups empfohlen.
  3. Beispieleinstellungen:
  • Der mit dem Internet verbundene Port ist Ethernet0
  • Der mit dem LAN -Netzwerk verbundene Port ist Ethernet1
  • Der LAN- IP -Bereich ist 192.168.1.0 mit Maske 255.255.255.0 und Wildmask 0.0.0.255
  • Die Zugriffsliste wird INTERNET genannt
  • PAT : HTTP-Port 80 auf Maschine 192.168.0.1, Port 8080 orientieren
Router (config) #ip nat innerhalb der Quellliste INTERNET-Schnittstelle Dialer0-Überlastung
Router(config)#ip access-list standard INTERNET
Router(config)#permit 192.168.1.0 0.0.0.255
Router(config)#deny any
  • Zuordnung von Schnittstellen (Ports) zum NAT
Router(config)#interface ethernet0
Router(config)#ip nat draußen
Router(config)#interface ethernet1
Router(config)#ip nat drinnen
  • TAP-Implementierung
Router (config)#ip nat innerhalb des statischen TCP 192.168.0.1 8080 der Quelle ethernet0 80

WICHTIGER HINWEIS: Dieses Beispiel wurde auf Cisco-Geräten verifiziert, es sollte nicht auf andere Hersteller angewendet werden, es ist möglicherweise nicht funktionsfähig.

Beispiele für NAT-Software

Siehe auch

Referenzen

  1. "Teredo-Übersicht" (html) . Technischer Blog der Microsoft Corporation (auf Englisch) . 15. Januar 2007. Archiviert vom Original am 22. Mai 2018 . Abgerufen am 8. Juni 2020 . «Die folgenden Typen von NATs sind definiert: Cone NATs (...) Restricted NATs (...) Symmetric NATs (...) ».  
  2. "RFC 3489 (Abschnitt 5)" . 

Interessante Links