Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Netzwerkadressübersetzung

Netzwerkadressübersetzung (englisch Network Address Translation, kurz NAT) ist in Rechnernetzen der Sammelbegriff bei Änderungen von Adressen im IP-Header …

Inhalt6 Abschnitte
  1. 1. Grundidee und Bedeutung
  2. 2. Grundtypen und Einsatzbereiche
  3. 3. Router, Sitzungen und Übersetzung
  4. 4. Beispiel für Source-NAT und Routing
  5. 5. Klassifizierung und NAT-Durchdringung
  6. 6. Vorteile, Grenzen und Spezifikationen

Grundidee und Bedeutung

Netzwerkadressübersetzung (Network Address Translation, NAT) bezeichnet Änderungen von Adressen im IP-Header eines IP-Pakets auf Schicht 3 des ISO/OSI-Modells. Meist führt ein Router diese Übersetzung zwischen einem privaten lokalen Netz und einem öffentlichen Netz wie dem Internet aus.

NAT ermöglicht insbesondere, dass mehrere Hosts gleichzeitig dieselbe öffentliche IPv4-Adresse verwenden. Das ist wichtig, weil öffentliche IPv4-Adressen knapp sind. Die Geräte im lokalen Netz besitzen dabei private IP-Adressen; nach außen erscheint normalerweise nur die öffentliche IP-Adresse des NAT-Routers. Dieser Router stellt gewöhnlich die Internetverbindung her und ist deshalb meist auch das Default-Gateway, also der standardmäßig verwendete Übergang in andere Netze.

Grundtypen und Einsatzbereiche

NAT wird in zwei grundlegende Typen unterteilt:

  • Source-NAT (SNAT, Quellen-NAT) verändert die Adresse des verbindungsaufbauenden Computers, also die Quelladresse. Es wird vor allem eingesetzt, um mehrere Geräte aus einem privaten Subnetz über eine öffentliche IPv4-Adresse mit dem Internet zu verbinden.

  • Destination-NAT (DNAT, Ziel-NAT) verändert die Adresse des angesprochenen Computers, also die Zieladresse. Es leitet eingehende Verbindungen an den eigentlichen Empfänger im privaten Netz weiter.

Eine besondere Form von Source-NAT heißt Masquerading oder Masquerade und wird vor allem bei Einwahlverbindungen genutzt. Dabei ersetzt ein Algorithmus die Absenderadresse automatisch durch die IP-Adresse der Schnittstelle, über die das Paket den Router verlässt. Beim gewöhnlichen SNAT muss die neue Quelladresse dagegen ausdrücklich angegeben werden.

Durch SNAT sind interne Rechner von außen nicht mehr direkt ansprechbar. Das wird in privaten oder preisgünstigen Netzen manchmal als Sicherheitsmerkmal und zur Trennung interner und externer Netze genutzt. Es ist jedoch nur ein Nebeneffekt: NAT ersetzt keine Sicherheitsinfrastruktur und ist nicht selbst zur Netztrennung bestimmt.

DNAT wird häufig als Port-Forwarding für UDP- oder TCP-Verbindungen eingesetzt. Dabei wird die öffentliche Adresse eines Internetanschlusses in die private Adresse eines Servers übersetzt. Über unterschiedliche Ports lassen sich dadurch mehrere Serverdienste auf verschiedenen internen Computern unter einer einzigen öffentlichen IP-Adresse anbieten.

Router, Sitzungen und Übersetzung

Ein moderner NAT-Router arbeitet zustandsbehaftet oder „stateful“, weil nur er die vorgenommenen Übersetzungen kennt. Für jede von einem Client angeforderte Verbindung speichert er Informationen wie IP-Adressen, Protokoll, Ports und Zeitüberschreitungen in einer Session-Table beziehungsweise NAT-Table. Anhand dieses Eintrags kann er ein Antwortpaket wieder dem richtigen internen Client zuordnen. Nach dem Ende oder Ablauf der Sitzung wird der Eintrag gelöscht. Die Zahl gleichzeitig möglicher Sitzungen kann begrenzt sein; Cisco gibt für sein IOS-Produkt die Unterstützung Tausender gleichzeitiger Übersetzungen an.

Bei Source-NAT ersetzt der Router die private Quell-IP-Adresse eines internen Clients durch seine öffentliche IP-Adresse. Ist der ursprüngliche Quellport bereits belegt, ersetzt er auch diesen durch einen freien Port. Die gemeinsame Übersetzung von Adresse und Port heißt PAT (Port and Address Translation).

So können beispielsweise drei Verbindungen aus dem lokalen Netz nach außen umgesetzt werden: 192.168.0.2:49701 wird zu 203.0.113.2:49701, 192.168.0.3:50387 zu 203.0.113.2:50387 und 192.168.0.4:49152 zu 203.0.113.2:49152. Die jeweiligen Ziele, etwa 198.51.100.1:80 oder 198.51.100.1:23, bleiben dabei unverändert.

Bei Destination-NAT ersetzt der Router dagegen die öffentliche Zieladresse durch die private Adresse des eigentlichen Empfängers im LAN und speichert die Zuordnung in seiner NAT-Tabelle. Beispielsweise kann 203.0.113.2:80 auf 192.168.0.2:80, 203.0.113.2:22 auf 192.168.0.3:22 und 203.0.113.2:81 auf 192.168.0.3:81 abgebildet werden.

Beispiel für Source-NAT und Routing

Im Beispiel verwendet das private Netz den Adressbereich 192.168.0.0/24. Zwischen ihm und dem öffentlichen Internet steht ein Source-NAT-Router mit der öffentlichen Adresse 203.0.113.2/32. Ein interner Rechner mit der Adresse 192.168.0.4 möchte einen Telnet-Server unter 198.51.100.1 auf Port 23 erreichen.

Zuerst ermittelt der Rechner über DNS die Ziel-IP-Adresse. Aus seiner Routing-Tabelle bestimmt er den nächsten Router, hier den Source-NAT-Router, und ermittelt dessen MAC-Adresse über ARP. Das Paket enthält als Ziel-MAC-Adresse die MAC-Adresse dieses Routers, als Ziel-IP 198.51.100.1, als Zielport 23 sowie als Quell-IP 192.168.0.4 und einen freien dynamischen Quellport, hier 49152.

Der NAT-Router ersetzt die private Quell-IP durch 203.0.113.2 und verwendet einen freien Absenderport, hier ebenfalls 49152. Die Zuordnung zwischen 192.168.0.4:49152 und 203.0.113.2:49152 bleibt bis zum Ende oder Ablauf der Telnet-Sitzung gespeichert. NAT verändert das Paket damit wesentlich auf Schicht 3.

Nachfolgende Router ändern dagegen nur die Informationen auf Schicht 2: Sie ersetzen die Quell- und Ziel-MAC-Adressen passend zum nächsten Übertragungsabschnitt. Ziel-IP 198.51.100.1, Zielport 23, Quell-IP 203.0.113.2, Quellport 49152 und Nutzdaten bleiben erhalten. Dies wiederholt sich, bis das Paket den Telnet-Server erreicht.

Die Antwort des Servers ist an 203.0.113.2 und Port 49152 gerichtet; Hin- und Rückroute müssen dabei nicht identisch sein. Sobald das Antwortpaket den NAT-Router erreicht, ordnet dieser es mithilfe seiner Tabelle wieder 192.168.0.4:49152 zu. Nach Beendigung der Sitzung wird Port 49152 freigegeben.

Klassifizierung und NAT-Durchdringung

RFC 3489, das STUN zur Durchdringung von NAT-Gateways beschrieb, unterschied vier Klassen:

  • Full Cone NAT setzt interne Adressen und Ports nach einem statischen Muster in eine externe Adresse und deren Ports um. Externe Hosts können über diese externe Adresse Verbindungen zu internen Hosts aufbauen. Dieses Verfahren wird auch als Port-Forwarding bezeichnet.

  • Restricted Cone NAT erlaubt einem externen Host den Kontakt zu einem internen Host nur, wenn der interne Host zuvor diesen externen Host über denselben Zielport kontaktiert hat.

  • Port Restricted Cone NAT verlangt zusätzlich, dass bei der vorherigen Kontaktaufnahme derselbe Quellport verwendet wurde.

  • Symmetric NAT weist jeder einzelnen Verbindung einen anderen Quellport zu; die Beschränkungen entsprechen ansonsten Restricted Cone NAT. Dadurch können externe Hosts Verbindungen nach innen nicht oder kaum initiieren.

Moderne NAT-Systeme verwenden häufig Mischformen oder wechseln dynamisch zwischen Verhaltensmustern. Die vier Klassen sind daher oft nur Anhaltspunkte. RFC 3489 wurde durch RFC 5389 ersetzt, das diese Kategorisierung nicht mehr versucht.

Da NAT die Ende-zu-Ende-Konnektivität unterbricht, benötigen direkt zwischen Hosts arbeitende Anwendungen NAT-Traversal beziehungsweise NAT-Durchdringung. Das betrifft etwa Peer-to-Peer-Anwendungen, IP-Telefonie und VPN-Verbindungen. Keine Technik ist universell einsetzbar. Viele benötigen einen öffentlich erreichbaren Hilfsserver, entweder nur zum Verbindungsaufbau oder zur Weiterleitung des gesamten Datenverkehrs.

SOCKS ist das älteste und weit verbreitete, aber zunehmend seltener eingesetzte Verfahren. Der Client verbindet sich mit einem SOCKS-Gateway; für die Gegenstelle scheint die Kommunikation von diesem Gateway zu stammen. In Heimnetzen ermöglichen PCP, NAT-PMP oder UPnP IGD einem Client, Port-Forwarding dynamisch einzurichten. STUN ist besonders für VoIP wichtig.

NAT-T wird häufig bei IPsec-VPNs verwendet: Encapsulating-Security-Payload-Pakete werden an Anschlüssen mit NAT-Routern in UDP/4500-Pakete verpackt. Unterstützt ein Router ESP-pass-through, kann er ESP-Pakete direkt an das VPN-Gateway weiterreichen, sodass NAT-T entfällt. Manche Durchdringungsverfahren umgehen Sicherheitsrichtlinien von Unternehmen. Kooperative Standards wie Realm-Specific IP und MIDCOM, die administrative Eingriffe an der NAT-Übergabestelle erlauben, werden jedoch kaum genutzt.

Vorteile, Grenzen und Spezifikationen

NAT hat mehrere Vorteile:

  • Es verlangsamt die Verknappung der IPv4-Adressen, weil mehrere Endgeräte durch eine einzige öffentliche IP-Adresse vertreten werden können.

  • Es verbirgt die internen IP-Adressen eines Netzes vor einem anderen Netz und kann so die Privatsphäre verbessern.

  • Mehrere voneinander getrennte private Netze dürfen dieselben privaten Adressbereiche verwenden, ohne dass Adresskollisionen entstehen, weil nach außen jeweils nur die Adresse des NAT-Routers sichtbar ist.

Dem stehen grundlegende Nachteile gegenüber. NAT löst die eindeutige Zuordnung „ein Host mit eindeutiger IP-Adresse“ auf. Die Veränderung von Protokoll-Headern ähnelt technisch einem Man-in-the-Middle-Eingriff und bereitet besonders älteren Protokollen sowie Verschlüsselungsverfahren auf Netzwerk- und Transportebene Probleme, beispielsweise IPsec-AH. RFC 3027 beschreibt solche Protokollkomplikationen. Betroffen sind außerdem Dienste mit Out-of-Band-Signalisierung und Rückkanälen, darunter Protokolle für IP-Telefonie. Grundsätzlich verletzt NAT das Ende-zu-Ende-Prinzip, weil der Router IP-Pakete oder TCP-Segmente verändert, obwohl er nicht der sendende Host ist.

Wichtige Spezifikationen sind RFC 2663 „IP Network Address Translator (NAT) Terminology and Considerations“ vom August 1999, RFC 2766 „Network Address Translation – Protocol Translation (NAT-PT)“ vom Februar 2000, aktualisiert durch RFC 3152 und als historisch eingestuft, sowie RFC 3022 „Traditional IP Network Address Translator (Traditional NAT)“ vom Januar 2001, das RFC 1631 ablöste.

Weiterlesen

Rechnernetz Ein Rechnernetz, Computernetz oder Computernetzwerk ist ein Zusammenschluss verschiedener technischer, primär selbstständiger elektronischer Systeme … OSI-Modell Das ISO/OSI-Referenzmodell (englisch Open Systems Interconnection model) ist ein Referenzmodell für Netzwerkprotokolle als Schichtenarchitektur. Private IP-Adresse Private IP-Adressen sind IP-Adressen, die von der IANA nicht im Internet vergeben sind. Sie wurden für die private Nutzung aus dem öffentlichen Adressraum … Router Router (['ruːtə(r)] oder ['raʊ̯tər]) oder Netzwerkrouter sind Netzwerkgeräte, die Netzwerkpakete zwischen mehreren Rechnernetzen weiterleiten können. Internet Mit Social-Media-Plattformen wie Facebook, Twitter oder YouTube trat das bidirektionale Austauschen von Inhalten unter den Nutzern (sogenanntem user … IP-Adresse Im Falle von Ethernet-Netzen dient das ARP (Address Resolution Protocol) zum Auffinden der Hardwareadresse. ARP arbeitet auf der zweiten Schicht des OSI … Client Man nennt auch ein Endgerät selbst, das Dienste von einem Server abruft, Client. Das Gegenstück zum Client ist das jeweilige Serverprogramm bzw. der Server … Port (Netzwerkadresse) Zusammen mit der IP-Adresse ermöglicht der Port die Adressierung eines Servers oder Clients. Durch Angabe von Quell- und Zieladresse, jeweils bestehend aus IP … Local Area Network Fast-Ethernet 100BASE-TX und Gigabit-Ethernet 1000BASE-T sind innerhalb der Ethernet-Familie die am weitesten verbreiteten Varianten. Hauptsächlich für … Address Resolution Protocol Das Address Resolution Protocol (ARP) ist ein Netzwerkprotokoll, das zu einer Netzwerkadresse der Internetschicht die physische Adresse (Hardware-Adresse) … MAC-Adresse Die MAC-Adresse (Media-Access-Control-Adresse, auch Media-Access-Code-Adresse) ist die Nummer eines Gerätes auf einer Datenverbindung. Internet Protocol Das Internet Protocol (IP; deutsch Internetprotokoll) ist ein in Rechnernetzen weit verbreitetes Netzwerkprotokoll und stellt durch seine Funktion die …