Heim

Network Address Translation

Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf bitte mit, ihn zu verbessern, und entferne anschließend diese Markierung.

Network Address Translation (NAT) ist in Rechnernetzen der Sammelbegriff für Verfahren, um automatisiert und transparent Adressinformationen in Datenpaketen durch andere zu ersetzen. Diese kommen typischerweise auf Routern und Firewalls zum Einsatz.

Inhaltsverzeichnis

Bezeichnungen verschiedener NAT-Typen

Man unterscheidet zwei grundsätzliche Typen von NAT:

Outbound NAT wird zusätzlich in zwei Kategorien eingeteilt:

Darüber hinaus werden noch zwei Spezialfälle von NAT eingeführt:

Verwendung von Network Address Port Translation

Network Address Port Translation (NAPT) stellt mittlerweile die häufigste Form des NAT dar und wird daher oft als Synonym gebraucht. Da es neben der Umsetzung von IP-Adressen auch eine Umsetzung von Port-Nummern gestattet, wird es oft eingesetzt, um durch sogenanntes „maskieren“ (masquerading) eine Reihe von (privaten) IP-Adressen und zugeordneten Port-Nummern zur Nutzung nur einer (öffentlichen) IP-Adresse zu verwenden.

Große Verbreitung fand NA(P)T durch die Knappheit öffentlicher IPv4-Adressen und die Tendenz, private Subnetze über Einwahlverbindungen mit dem Internet zu verbinden. Die einfachste Lösung des Problems beschränkter IP-Adressen war oft die durch NAT mögliche Verwendung mehrerer privater IP-Adressen mit nur einer öffentlichen IP-Adresse (Nachteile vgl. Kritik).

Gerade in privaten oder möglichst preisgünstig ausgeführten Netzinstallationen wird NAT als eine Art Sicherheitsfeature und zur Trennung von internem und externem Netz eingesetzt. Während eine NAT-Installation oberflächlich tatsächlich diese gewünschte Wirkung erzielt, kann sie jedoch weder Sicherheitsinfrastruktur noch wirksame Maßnahmen zur Trennung von Netzen ersetzen. So wird die NAT-Funktion eines Routers im Allgemeinen stets durch ein zusätzlich betriebenes Application Level Gateway (ALG) unterstützt, welches den NAT-Router entsprechend der Informationen der Applikationsschicht konfiguriert, um komplexere Protokolle (FTP, VoIP) zu unterstützen. Dazu wird kurzzeitig, doch von Angreifern jederzeit reproduzierbar, die angesprochene Trennung der Netze durch das ALG aufgehoben. Es gilt zu beachten, dass die Aufgabe von NAT ist, Netzwerke zu verbinden, nicht sie zu trennen.

Funktionsweise

Üblicherweise wird NAT an einem Übergang zwischen zwei Netzen durchgeführt. Der NAT-Dienst kann auf einem Router, einer Firewall oder einem anderen spezialisierten Gerät laufen. So kann zum Beispiel ein NAT-Gerät mit zwei Netzwerkadaptern das lokale private Netz mit dem Internet verbinden.

Man unterscheidet zwischen Source NAT, bei dem die Quell-IP-Adresse ersetzt wird, und Destination NAT, bei dem die Ziel-IP-Adresse ersetzt wird.

Beispiel für eine 1:1 Übersetzung: Öffentliche verfügbare Adressen: 205.0.0.2, 205.0.0.3, 205.0.0.4

Source NAT

lokales Netz (LAN) öffentliches Netz (WAN)
Quell-IP Ziel-IP Router
===========>
NAT
Quell-IP Ziel-IP
192.168.0.2 170.0.0.1 205.0.0.2 170.0.0.1
192.168.0.3 170.0.0.1 205.0.0.3 170.0.0.1
192.168.0.4 170.0.0.1 205.0.0.4 170.0.0.1

Bei ausgehenden Paketen wird die (private) Quell-IP-Adresse durch eine noch nicht benutzte (öffentliche) IP-Adresse ersetzt. Dabei merkt sich das NAT-Gerät diese Umsetzung:

Destination NAT

lokales Netz (LAN) öffentliches Netz (WAN)
Quell-IP Ziel-IP Router
<===========
NAT
Quell-IP Ziel-IP
170.0.0.1 192.168.0.2 170.0.0.1 205.0.0.2
170.0.0.1 192.168.0.3 170.0.0.1 205.0.0.3
170.0.0.1 192.168.0.4 170.0.0.1 205.0.0.4

Bei eingehenden Paketen kann anhand der IP-Adresse (welche nun die Ziel-IP-Adresse ist) und des Tabelleneintrags festgestellt werden, welcher Computer die Pakete angefordert hatte (hier: 192.168.0.2, 192.168.0.3 und 192.168.0.4). Das NAT-Gerät kann dadurch die (öffentliche) Ziel-IP-Adresse durch die ursprüngliche Quell-IP-Adresse 192.168.0.2, 192.168.0.3 bzw. 192.168.0.4 austauschen.

Für die beteiligten Endgeräte im internen Netz (z. B. 192.168.0.2) oder externen Netz sind diese Vorgänge transparent, d. h. sie bekommen von der Adressumsetzung nichts mit.

Bei den Endgeräten kann es zu IP-Konflikten kommen.

Kategorisierung

RFC 3489, der das Protokoll STUN zur Traversierung von NAT-Gateways beschreibt, ordnet diese in vier verschiedene Klassen ein, die auch außerhalb des Kontexts von STUN gerne zur Klassifizierung verwendet werden:

Im Full Cone NAT-Szenario setzt ein Gateway interne Adressen und Ports nach einem statischen Muster in eine externe Adresse und deren Ports um. Es erlaubt insbesondere auch, dass so externe Hosts über die externe Adresse des NAT-Gateways Verbindungen zu internen Hosts aufbauen.

Im Restricted Cone NAT-Szenario erlaubt das Gateway die Kontaktaufnahme eines externen mit einem internen Host nur, wenn diesem Verbindungsversuch eine Kontaktaufnahme dieses internen Hosts mit dem externen Host vorausging.

Das Port Restricted Cone NAT-Szenario schränkt diese Erlaubnis der Kontaktaufnahme zusätzliche auf nur den externen Port ein, über den die vorausgehende umgekehrte Kontaktaufnahme stattfand.

Im Symmetric-NAT-Szenario schließlich ist eine Initiierung von Verbindungen durch externe Hosts nicht oder nur kaum möglich, da diese im Allgemeinen nicht abschätzen können, über welche von mehreren externen Adressen des Gateways Verbindungen zu (oder von) ihnen abgewickelt bzw. erwartet werden.

Diese prototypischen Grundszenarien bilden in modernen NAT-Systemen allerdings oft nur noch Anhaltspunkte zur Klassifizierung punktuellen Verhaltens der Gateways. Diese benutzen teilweise Mischformen der klassischen Ansätze zur Adressumsetzung oder wechseln dynamisch zwischen zwei oder mehreren Verhaltensmustern.

Kritik

Siehe auch