4.7 NAT und PAT
Network Address Translation verändert IP-Adressen und bei der heute üblichen Portübersetzung zusätzlich Transportkennungen. Dadurch können private IPv4-Netze mit öffentlichen Netzen kommunizieren und viele Verbindungen eine öffentliche Adresse teilen. Diese Lernseite trennt NAT, NAPT/PAT, SNAT, DNAT, Masquerading und Portweiterleitung und erklärt Zustände, Grenzen sowie NAT-Traversal.
Warum IPv4-NAT eingesetzt wird
Private IPv4-Adressen sind im öffentlichen Internet nicht global routbar. Ein NAT-Gateway verbindet den privaten und den öffentlichen Adressbereich, indem es Adressinformationen beim Weiterleiten verändert. Am häufigsten geschieht dies am Internetzugang eines Haushalts oder Unternehmens.
In der Alltagssprache wird die gemeinsame Nutzung einer öffentlichen IPv4-Adresse oft einfach NAT genannt. Technisch handelt es sich dabei meistens um Network Address and Port Translation, kurz NAPT, beziehungsweise Port Address Translation, kurz PAT. Neben der Adresse werden Transportkennungen wie TCP- oder UDP-Ports umgesetzt.
| Privater IPv4-Bereich | Präfix | Typischer Einsatz |
|---|---|---|
| 10.0.0.0 bis 10.255.255.255 | 10.0.0.0/8 | große private Netze |
| 172.16.0.0 bis 172.31.255.255 | 172.16.0.0/12 | private Netze unterschiedlicher Größe |
| 192.168.0.0 bis 192.168.255.255 | 192.168.0.0/16 | häufig in Heim- und kleinen Unternehmensnetzen |
| 100.64.0.0 bis 100.127.255.255 | 100.64.0.0/10 | Shared Address Space für Carrier-Grade NAT; kein RFC-1918-Bereich |
NAT und PAT sauber unterscheiden
Basic NAT bildet eine IP-Adresse auf eine andere IP-Adresse ab. Dafür kann ein Pool externer Adressen verwendet werden. PAT beziehungsweise NAPT ergänzt diese Abbildung um Ports oder vergleichbare Transportkennungen. Dadurch lassen sich viele gleichzeitige Verbindungen verschiedener interner Geräte über dieselbe externe IPv4-Adresse unterscheiden.
Bei TCP und UDP ist eine Kommunikation durch Quell-IP, Quellport, Ziel-IP, Zielport und Protokoll eindeutig beschreibbar. Das NAT-Gateway muss die zugehörigen Prüfsummen nach einer Änderung ebenfalls anpassen. Bei ICMP können statt Ports beispielsweise Query-Identifier zur Zuordnung dienen.
| Verfahren | Geänderte Angaben | Typischer Zweck |
|---|---|---|
| Basic NAT | IP-Adresse | Adressbereiche statisch oder dynamisch abbilden |
| NAPT / PAT | IP-Adresse und Transportkennung | viele Sitzungen über eine oder wenige externe Adressen multiplexen |
| SNAT | Quelladresse, gegebenenfalls Quellport | ausgehenden Verkehr übersetzen |
| DNAT | Zieladresse, gegebenenfalls Zielport | eingehenden Verkehr zu einem internen Ziel lenken |
| Twice NAT | Quell- und Zielangaben | beide Seiten derselben Kommunikation übersetzen |
SNAT und PAT bei einer ausgehenden Verbindung
Beginnt ein internes Gerät eine Verbindung, ersetzt das Gateway die private Quelladresse durch eine externe Adresse. Bei PAT wählt oder erhält die Verbindung zusätzlich einen externen Quellport. Das Ziel im Internet sieht deshalb das NAT-Gateway als Kommunikationspartner auf IP-Ebene.
Bei der Rückrichtung findet das Gateway anhand des externen Zielports und weiterer Sitzungsmerkmale den passenden Eintrag. Es stellt die interne Zieladresse und den internen Zielport wieder her. Die Zuordnung ist zustandsbehaftet und läuft nach Protokoll- und Implementierungsregeln ab, wenn sie nicht mehr benötigt wird.
| Intern | Übersetzte Außenseite | Ziel |
|---|---|---|
| 192.168.10.25:51520 TCP | 203.0.113.8:50001 TCP | 198.51.100.20:443 |
| 192.168.10.30:51520 TCP | 203.0.113.8:50002 TCP | 198.51.100.20:443 |
| 192.168.10.40:53000 UDP | 203.0.113.8:50003 UDP | 192.0.2.53:53 |
NAT-Tabelle, Bindings und Sitzungszustand
Die Begriffe NAT-Tabelle und Session-Tabelle werden je nach Hersteller unterschiedlich verwendet. Fachlich hilfreich ist die Trennung zwischen einem Translation Binding und dem Zustand einer konkreten Kommunikation. Ein Binding beschreibt die Abbildung eines internen Transportendpunkts auf die externe Seite. Ein Sitzungs- oder Connection-Tracking-Eintrag kann zusätzlich Gegenstelle, Protokollstatus, Zeitstempel und Zeitüberschreitungen enthalten.
Eine Firewall kann dieselben Verbindungsinformationen zur Zustandsprüfung nutzen, NAT und Firewall sind dennoch verschiedene Funktionen. NAT allein ist keine Sicherheitsrichtlinie. Es verändert Adressinformationen, entscheidet aber nicht automatisch nach einem vollständigen Regelwerk, welcher Verkehr erlaubt sein soll.
| Information | Beispiel | Aufgabe |
|---|---|---|
| Inside Local | 192.168.10.25:51520 | interner Transportendpunkt |
| Outside Mapping | 203.0.113.8:50001 | von außen sichtbare Abbildung |
| Remote Endpoint | 198.51.100.20:443 | Gegenstelle der Kommunikation |
| Protokoll | TCP | getrennte Namensräume und Zustandslogik |
| Zustand / Timer | ESTABLISHED / Restzeit | Lebensdauer und Rückverkehr verwalten |
Masquerading und dynamische WAN-Adressen
Masquerading bezeichnet in vielen Systemen eine Form von dynamischem SNAT beziehungsweise PAT, bei der die aktuell am externen Interface vorhandene Adresse verwendet wird. Das ist für Internetanschlüsse praktisch, deren öffentliche IPv4-Adresse wechseln kann.
Bei einer festen öffentlichen Adresse kann eine explizite SNAT-Regel leichter nachvollziehbar sein. Der genaue Sprachgebrauch und die Konfiguration unterscheiden sich zwischen Linux, Firewalls und Herstellern; entscheidend bleibt, welche Quelladresse und gegebenenfalls welcher Port tatsächlich abgebildet werden.
| Eigenschaft | Explizites SNAT | Masquerading |
|---|---|---|
| Externe Adresse | in der Regel fest in der Regel angegeben | vom Ausgangsinterface übernommen |
| Geeignet für | statische öffentliche Adresse oder Adresspool | dynamisch zugewiesene WAN-Adresse |
| Portübersetzung | je nach Regel möglich | bei gemeinsamer Adresse typischerweise enthalten |
DNAT und Portweiterleitung
Bei DNAT wird die Zieladresse und gegebenenfalls der Zielport eines eingehenden Pakets verändert. Eine Portweiterleitung ist ein typischer Anwendungsfall: Eine Verbindung an einer öffentlichen Adresse und einem festgelegten Port wird an einen internen Server weitergegeben.
Die Rückpakete müssen passend zur ursprünglichen Abbildung übersetzt werden. Dafür benötigt das Gateway den Verbindungszustand und einen korrekten Rückweg. Eine Weiterleitung sollte nur für tatsächlich benötigte Dienste eingerichtet und durch Firewallregeln, aktuelle Software, starke Authentisierung und Protokollverschlüsselung geschützt werden.
| Außen | Internes Ziel | Beispiel |
|---|---|---|
| 203.0.113.8:443 TCP | 192.168.10.50:443 TCP | HTTPS-Server |
| 203.0.113.8:2222 TCP | 192.168.10.60:22 TCP | externer Port 2222 auf internen SSH-Port 22 |
| 203.0.113.8:51820 UDP | 192.168.10.70:51820 UDP | VPN-Endpunkt |
NAT-Verhalten nicht mit alten Cone-Klassen verwechseln
Die älteren Begriffe Full Cone, Restricted Cone, Port Restricted Cone und Symmetric NAT vermischen Mapping- und Filterverhalten. Für eine präzisere Beschreibung werden diese Eigenschaften getrennt betrachtet: Welche externe Abbildung entsteht, und von welchen externen Endpunkten wird Rückverkehr akzeptiert?
Endpoint-Independent Mapping verwendet für denselben internen Endpunkt grundsätzlich dieselbe externe Abbildung, unabhängig von der Gegenstelle. Bei Address- oder Address-and-Port-Dependent Mapping kann sich die Abbildung je nach Ziel unterscheiden. Filtering beschreibt davon getrennt, welche Gegenstellen an ein bestehendes Mapping senden dürfen.
| Eigenschaft | Frage |
|---|---|
| Endpoint-Independent Mapping | Bleibt die externe Abbildung für verschiedene Gegenstellen gleich? |
| Address-Dependent Mapping | Hängt die Abbildung von der Ziel-IP ab? |
| Address-and-Port-Dependent Mapping | Hängt sie von Ziel-IP und Zielport ab? |
| Endpoint-Independent Filtering | Darf grundsätzlich jede externe Gegenstelle das vorhandene Mapping erreichen? |
| Address-Dependent Filtering | Muss das interne Gerät zuvor an diese externe IP gesendet haben? |
| Address-and-Port-Dependent Filtering | Muss es zuvor genau an diese externe IP und diesen Port gesendet haben? |
STUN, ICE und TURN für NAT-Traversal
STUN ermöglicht einem Endpunkt unter anderem, die vom NAT zugewiesene öffentliche IP-Adresse und den Port zu ermitteln, Konnektivität zu prüfen und ein Binding durch Keep-alives aufrechtzuerhalten. STUN ist meist UDP-basiert, kann laut aktueller Spezifikation aber auch über weitere Transportvarianten genutzt werden.
STUN allein garantiert keine direkte bidirektionale Verbindung. In Echtzeitkommunikation wird es häufig innerhalb von ICE eingesetzt. ICE sammelt mögliche Verbindungswege und prüft Kandidatenpaare. Ist keine geeignete direkte Verbindung möglich, kann TURN als Relay dienen, über das die Nutzdaten laufen.
| Baustein | Hauptaufgabe |
|---|---|
| STUN | öffentliche Abbildung ermitteln, Konnektivitätsprüfung und Keep-alive unterstützen |
| ICE | mehrere lokale, reflexive und Relay-Kandidaten prüfen und einen funktionierenden Pfad auswählen |
| TURN | Daten über einen Relay-Server transportieren, wenn ein direkter Pfad nicht funktioniert |
Grenzen, Doppel-NAT und Carrier-Grade NAT
NAT durchbricht das einfache Ende-zu-Ende-Adressmodell. Anwendungen, die Adressen oder Ports in ihren Nutzdaten übertragen, eingehende Verbindungen erwarten oder Ende-zu-Ende-Schutz über veränderte Header benötigen, können zusätzliche Verfahren erfordern. Portknappheit, Zeitüberschreitungen und schwerer nachvollziehbare Protokollpfade erschweren Betrieb und Fehlersuche.
Bei Doppel-NAT durchläuft die Verbindung zwei Übersetzungsstufen, beispielsweise einen eigenen Router hinter einem Providerrouter. Carrier-Grade NAT teilt zusätzlich eine öffentliche IPv4-Adresse zwischen mehreren Anschlüssen und verwendet dafür häufig 100.64.0.0/10. Eine Portweiterleitung am eigenen Router genügt dann nicht, weil die vorgelagerte Übersetzungsstufe ebenfalls berücksichtigt werden müsste.
| Symptom | Mögliche Ursache |
|---|---|
| Portweiterleitung bleibt von außen unerreichbar | CGN, Doppel-NAT, Firewall, falscher Rückweg oder Dienst lauscht nicht |
| Telefonie oder Echtzeitmedien nur einseitig | abweichendes Mapping/Filtering, kurze UDP-Timer oder fehlerhafte Kandidatenauswahl |
| Viele Verbindungen schlagen sporadisch fehl | Port- oder Zustandstabellen erschöpft |
| Protokoll funktioniert ohne NAT, aber nicht mit NAT | Adresse/Port in Nutzdaten, fehlender ALG-Support oder Ende-zu-Ende-Abhängigkeit |
IPv6: globale Adressen, Firewall und Übersetzung
IPv6 stellt einen sehr großen globalen Adressraum bereit. Geräte können global eindeutige Adressen besitzen, sodass die bei IPv4 übliche Adress- und Portteilung nicht zur Adressersparnis benötigt wird. Das bedeutet nicht, dass jedes IPv6-Gerät ungefiltert erreichbar sein sollte: Eine zustandsbehaftete Firewall kann eingehende Verbindungen blockieren, ohne Adressen zu übersetzen.
Für Übergänge zwischen IPv6- und IPv4-Netzen existieren spezielle Verfahren wie NAT64. Sie lösen ein Interworking-Problem zwischen Adressfamilien und sind nicht mit dem gewöhnlichen IPv4-PAT am Heimanschluss gleichzusetzen. IPv6-Präfixübersetzung und Provideranforderungen sind Spezialthemen; in einem normalen Dual-Stack-Netz sollte zunächst natives Routing mit klaren Firewallregeln bevorzugt werden.
| Aussage | Einordnung |
|---|---|
| IPv6 macht eine Firewall überflüssig | falsch - Erreichbarkeit und Sicherheitsrichtlinie bleiben getrennte Aufgaben |
| IPv6 benötigt PAT zur Adressersparnis | im normalen IPv6-Betrieb nein |
| NAT64 verbindet IPv6-Clients mit IPv4-Diensten | ja, als gezieltes Übergangsverfahren zusammen mit passender DNS-/Netzinfrastruktur |
| Private Adressen sind automatisch sicher | falsch - Adressbereich ersetzt keine Zugriffskontrolle |
NAT-Probleme systematisch prüfen
| Schritt | Prüfung |
|---|---|
| 1. Adressbereiche | Welche privaten, öffentlichen oder Shared-Adressen liegen an jeder Stufe an? |
| 2. Route und Rückweg | Erreichen Hin- und Rückpakete dasselbe zuständige Gateway? |
| 3. Regelrichtung | Wird Quelle oder Ziel auf der richtigen Schnittstelle und in der richtigen Richtung übersetzt? |
| 4. Binding | Existiert ein passender Translation- beziehungsweise Connection-Tracking-Eintrag? |
| 5. Ports und Protokoll | Stimmen TCP/UDP, externer Port, interner Port und Serverzustand? |
| 6. Firewall | Erlaubt die Sicherheitsrichtlinie den Verkehr unabhängig von der NAT-Regel? |
| 7. Weitere NAT-Stufe | Liegt Doppel-NAT oder Carrier-Grade NAT vor? |
| 8. Mitschnitt | Zeigen Paketmitschnitte auf Innen- und Außenseite die erwartete Übersetzung? |
Quellen zur fachlichen Prüfung
- RFC Editor: RFC 1918 - Address Allocation for Private Internets
- RFC Editor: RFC 2663 - NAT Terminology and Considerations
- RFC Editor: RFC 4787 - NAT Behavioral Requirements for UDP
- RFC Editor: RFC 7857 - Updates to NAT Behavioral Requirements
- RFC Editor: RFC 8489 - Session Traversal Utilities for NAT
- RFC Editor: RFC 8445 - Interactive Connectivity Establishment
- RFC Editor: RFC 8656 - Traversal Using Relays around NAT
- RFC Editor: RFC 6598 - Shared Address Space
- RFC Editor: RFC 6146 - Stateful NAT64
PDF-Download nach Anmeldung
Zum Schutz der Unterrichtsunterlagen steht der PDF-Download ausschließlich angemeldeten Nutzern zur Verfügung.
