- Network address translation
-
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 (Traditional NAT), bei dem Verbindungen nur in eine Richtung initiiert werden können
- Two-Way NAT (Bi-directional NAT), bei dem neue Verbindungen von beiden Seiten aufgebaut werden können
Outbound NAT wird zusätzlich in zwei Kategorien eingeteilt:
- Basic NAT, bei dem nur IP-Adressen umgesetzt werden
- Network Address Port Translation (NAPT), bei dem auch eine Umsetzung von IP-Adressen und Port-Nummern stattfindet
Darüber hinaus werden noch zwei Spezialfälle von NAT eingeführt:
- Twice NAT, bei dem sowohl Quell- als auch Zieladresse umgeschrieben werden
- Multihomed NAT, bei dem mehrere NAT-Router parallel eingesetzt werden, etwa um die Ausfallsicherheit zu erhöhen
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 Sicherheitsmerkmal 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 meist durch ein zusätzlich betriebenes Application Level Gateway (ALG) unterstützt, welches den NAT-Router entsprechend den 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
===========>
NATQuell-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:
- 192.168.0.2 <-> 205.0.0.2
- 192.168.0.3 <-> 205.0.0.3
- 192.168.0.4 <-> 205.0.0.4
Destination NAT
lokales Netz (LAN) öffentliches Netz (WAN) Quell-IP Ziel-IP Router
<===========
NATQuell-IP Ziel-IP 170.0.0.1 192.168.0.2 205.0.0.2 170.0.0.1 170.0.0.1 192.168.0.3 205.0.0.3 170.0.0.1 170.0.0.1 192.168.0.4 205.0.0.4 170.0.0.1 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.
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ätzlich 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
- NAT wird oft nur als eine Notlösung betrachtet, um bei nicht dauerhaft verbundenen Netzinstallationen das Problem der knappen IPv4-Adressen zu umgehen.
- Das größte Problem an NAT ist, dass die saubere Zuordnung „1 Host mit eindeutiger IP-Adresse“ nicht eingehalten wird. Durch die Umschreibung von Protokoll-Headern haben so vor allem veraltete Verschlüsselungsverfahren auf Netzwerk- und Transportebene große Probleme (siehe IPsec). Protokollkomplikationen durch NAT sind beschrieben in RFC 3027.
- Ebenso leiden insbesondere Netzwerkdienste, die Out-of-Band-Signalisierung und Rückkanäle einsetzen, etwa VoIP-Protokolle, unter Komplikationen durch NAT-Gateways.
- NAT-Gateways heben die strenge Trennung des OSI-Schichtenmodells auf.
Siehe auch
- Network Address Translation in Firewalls
- Port Address Translation
- Port Forwarding
- Windows Internetverbindungsfreigabe
Weblinks
Wikimedia Foundation.