Network Address Translation
aus Wikipedia, der freien Enzyklopädie
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 |
[Bearbeiten] Bezeichnungen verschiedener NAT-Typen
RFC 2663 unterscheidet zwei grundsätzliche Typen von NAT:
- Outbound NAT (Traditional NAT, RFC 3022), 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überhinaus 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
[Bearbeiten] Verwendung von Network Address Port Translation
Network Address Port Translation (NAPT) stellt mittlerweile die häufigste Form des NAT dar und wird daher oft 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 zugeordneter 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, die diese pragmatische Lösung allerdings häufig mit sich brachte, sind im Abschnitt Kritik erläutert.
Gerade in privaten oder möglichst gü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 aber doch 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, das den NAT Router entsprechend 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.
[Bearbeiten] 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
[Bearbeiten] 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:
- 192.168.0.2 <-> 205.0.0.2
- 192.168.0.3 <-> 205.0.0.3
- 192.168.0.4 <-> 205.0.0.4
[Bearbeiten] 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.
[Bearbeiten] 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 jederzeit, 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 dymamisch zwischen zwei oder mehreren Verhaltensmustern.
[Bearbeiten] Kritik
- NAT ist oft lediglich die Antwort privater Netzinstallationen auf das Problem der knappen IPv4-Adressen. Mit der Verbreitung von IPv6 wird diese Technik überholt sein.
- Das größte Problem an NAT ist, dass die saubere Zuordnung „1 Host mit eindeutiger IP-Adresse“ nicht eingehalten wird. Durch die Umschreibung von Protokollheadern haben so vor allem Verschlüsselungsverfahren auf Netzwerk- und Transportebene große Probleme (siehe IPsec). Protokollkomplikationen durch NAT sind beschrieben in RFC 3027.
- Ebenso leiden insbesondere Dienste, 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 und erschweren so eine Validierung komplexer Systeme, verhindern sie in Ausnahmefällen sogar.
[Bearbeiten] Siehe auch
- Network Address Translation in Firewalls
- Port Address Translation
- Port Forwarding
- Windows Internetverbindungsfreigabe