Zwei Rechner, ein sichtbarer Anschluss.

Du öffnest am Notebook eine Website, während ein zweiter Rechner denselben Webdienst verwendet. Beide Geräte besitzen eigene IPv4-Adressen im Heimnetz. Nach außen erscheint trotzdem häufig nur die IPv4-Adresse des Routers. Die Antworten landen dennoch beim richtigen Browser. Dafür reicht die Aussage „der Router verteilt die Pakete“ nicht: Er muss sich konkrete Übersetzungen merken und Antworten wieder den ursprünglichen Endpunkten zuordnen.

Network Address Translation, NAT, übersetzt IP-Adressen zwischen Adressbereichen. Die im Heimnetz verbreitete Variante NAPT bezieht zusätzlich TCP- oder UDP-Ports ein. Damit können viele interne Geräte eine externe IPv4-Adresse verwenden. Wir verfolgen diese Übersetzung an zwei gleichzeitigen TCP-Verbindungen. Routing, Nachbarauflösung und Filterregeln bleiben dabei eigenständige Aufgaben. Grundlagen findest du in IPv4-Adressen verstehen und Routing verstehen.

Private Adressen sind im eigenen Netz eindeutig.

Die privaten IPv4-Bereiche 10.0.0.0/8, 172.16.0.0/12 und 192.168.0.0/16 sind für interne Netze vorgesehen. Viele Haushalte dürfen unabhängig voneinander beispielsweise 192.168.10.20 vergeben. Innerhalb desselben Netzes muss eine verwendete Adresse trotzdem eindeutig sein. Ein Adresskonflikt wird durch NAT am Internetzugang nicht behoben. Private Adressen sind auch kein Geheimnis und kein Schutz vor einem anderen Gerät im gleichen LAN.

Solche Adressen werden im öffentlichen Internet nicht als gewöhnliche global erreichbare Teilnehmeradressen geroutet. Eine öffentliche IPv4-Adresse ist dagegen grundsätzlich für die globale Adressierung vorgesehen; ob ein Dienst darüber erreichbar ist, hängt zusätzlich von Routen, Filtern und dem Dienst selbst ab. Nicht jede außerhalb des privaten Bereichs liegende Adresse ist öffentlich nutzbar: Dokumentations-, Loopback- und weitere Sonderbereiche sind Gegenbeispiele.

Unser Router hat innen 192.168.10.1/24 und außen illustrativ 198.51.100.10/24. Der Webserver heißt hier schlicht Webserver und trägt 203.0.113.80. Diese beiden äußeren Bereiche sind nach RFC 5737 ausdrücklich für Dokumentation reserviert. Sie stehen im Beispiel für globale Adressen, sind aber keine real erreichbaren öffentlichen Ziele. Die intern verwendeten Rechneradressen sind ebenfalls frei gewählte Laborwerte.

NAT wurde angesichts knapper IPv4-Adressen weit verbreitet. Es erlaubt unabhängige interne Adresspläne und spart bei NAPT externe Adressen. Daraus folgt keine Pflicht, jedes Netz zu übersetzen: Zwei interne Netze können mit passenden Routen ohne NAT miteinander sprechen. Auch ein Router mit ausreichend global adressierten IPv4-Netzen kann rein routen.

Eine Adresse übersetzen oder zusätzlich Ports unterscheiden.

Bei Basic NAT werden interne und externe IP-Adressen einander zugeordnet. Eine feste Eins-zu-eins-Zuordnung kann einem internen Server eine bestimmte äußere Adresse geben. Eine dynamische Adresszuordnung verwendet einen Pool. Diese Varianten erklären allein noch nicht, wie beliebig viele gleichzeitige Geräte hinter genau einer äußeren Adresse unterschieden werden.

Network Address Port Translation, NAPT, übersetzt zusätzlich Transportendpunkte; häufig heißt das PAT. Ein TCP-Paket enthält Quellport und Zielport. Der Browserrechner verwendet für seine Verbindung beispielsweise den lokalen Quellport 49152, der Webdienst lauscht auf 443. Beim ausgehenden Paket setzt der Router die Quelle auf seine Außenadresse und einen passenden externen Port um. Im Beispiel wird daraus 198.51.100.10:62000. Der Zielendpunkt 203.0.113.80:443 bleibt erhalten.

Der Doppelpunkt trennt hier IPv4-Adresse und Port. Er bedeutet kein zusätzliches Feld im IPv4-Header: Die Adresse steht im IP-Header, der Port im TCP-Header. Der Übersetzer muss betroffene Prüfsummen berücksichtigen. Er entschlüsselt dafür keine HTTPS-Nutzdaten. UDP benötigt eine entsprechend getrennte Behandlung; ICMP besitzt hingegen keine TCP-/UDP-Portnummern. NAT-Verfahren für ICMP verwenden passende Nachrichteninformationen statt erfundener Ports.

Zwei TCP-Verbindungen durch NAPTPC A mit 192.168.10.20 und PC B mit 192.168.10.21 verwenden beide Quellport 49152. Der Router übersetzt sie auf 198.51.100.10 mit Port 62000 beziehungsweise 62002. Beide greifen auf 203.0.113.80 Port 443 zu. Weitere Internetrouter sind nicht einzeln dargestellt.Zwei Quellen · ein WebdienstPC A · 192.168.10.20PC B · 192.168.10.21Beide: TCP-Quellport 49152LANRouter · NAPTAußen: 198.51.100.10A → Port 62000B → Port 62002Weitere geroutete Netzehier zusammengefasstWebserver · 203.0.113.80TCP-Zielport 443Nur die Quelle wird übersetzt.Alle äußeren IPs: Dokumentation.
Eigene Darstellung eines vereinfachten ausgehenden NAPT-Beispiels. Die Verbindung zwischen Heimrouter und Server umfasst weitere Netze und ist kein gemeinsames Ethernet.

Der Rückweg benötigt einen passenden Zustand.

Rechner A und B dürfen beide den lokalen Port 49152 benutzen: Ihre internen IP-Adressen unterscheiden sich. Für dieselbe Zieladresse und denselben TCP-Zielport unterscheidet unser Übersetzer sie außen durch unterschiedliche Quellports. Rechner C mit 192.168.10.22 ist ebenfalls im LAN, hat hier aber keine aktive Verbindung und deshalb keinen Eintrag. Eine Übersetzungstabelle ist keine vollständige Geräteliste.

Eigene vereinfachte Tabelle: beide Verbindungen zu 203.0.113.80:443
ProtokollInterner EndpunktÄußerer Endpunkt
TCP · A192.168.10.20:49152198.51.100.10:62000
TCP · B192.168.10.21:49152198.51.100.10:62002

Der Server beantwortet A gegenüber die Quelle, die er empfangen hat: Er sendet von 203.0.113.80:443 an 198.51.100.10:62000. Der Router findet den passenden TCP-Zustand und setzt die Zieladresse und den Zielport auf 192.168.10.20:49152 zurück. Danach routet er das Paket ins LAN. Die Serverquelle bleibt in diesem Beispiel erhalten. Für eine Antwort an Port 62002 ergibt sich entsprechend Rechner B.

Diese Zuordnung liegt nicht auf dem Webserver und wird nicht bei jedem Paket neu ausgehandelt. Sie besteht im Übersetzer. Mapping und Verbindungsverfolgung können in realen Systemen gemeinsame Datenstrukturen verwenden, erfüllen aber unterscheidbare Aufgaben. Zum Zustand können Protokoll, Gegenstelle, Verbindungsphase und Zeitinformationen gehören. Ein einzelner Blick auf die externe Portnummer erklärt deshalb nicht jede Implementierung.

Rückübersetzung für Rechner ADie Antwort von Server 203.0.113.80 Port 443 erreicht außen 198.51.100.10 Port 62000. Die TCP-Zuordnung führt zum inneren Ziel 192.168.10.20 Port 49152. Rechner B ist nicht Empfänger.Eine Antwort · eindeutiges ZielQuelle: 203.0.113.80:443Ziel außen:198.51.100.10:62000TCP-Zustand nachschlagen62000 → PC A:49152Ziel zurückübersetzenZiel innen:192.168.10.20:49152Serverquelle bleibt erhalten.
Der Rückweg ändert das Ziel. Ohne passende Zuordnung und erlaubende Filterregel ist dieser Zustand nicht automatisch vorhanden.

Das Beispiel ist keine universelle Portvergaberegel.

Der Router muss nicht immer einen anderen Port wählen. Ist der interne Port außen verfügbar und passt er zum Verfahren, kann er ihn erhalten. Unsere Werte 62000 und 62002 wurden bewusst gewählt, damit die Zuordnung sichtbar wird. Sie sind keine vorgeschriebene Nummernfolge und kein Hinweis auf die Zahl bereits angeschlossener Geräte. Auch TCP- und UDP-Portnummernräume sind getrennt.

Die NAT-Behavior-Dokumente unterscheiden Mapping von Filtering. Beim Mapping lautet die Frage: Welche äußere Adresse und welchen Port bekommt ein innerer Endpunkt, und hängt diese Zuordnung vom Ziel ab? Endpoint-independent Mapping kann eine Zuordnung für unterschiedliche Gegenstellen wiederverwenden. Andere Verfahren berücksichtigen die Zieladresse oder zusätzlich den Zielport. Beim Filtering geht es dagegen darum, welche eingehenden Pakete eine bestehende Zuordnung benutzen dürfen. Eine bekannte äußere Adresse ist daher noch keine universelle Einladung an beliebige Absender.

Zustand ist endlich. Inaktive Zuordnungen können nach Zeitablauf verschwinden; bei TCP spielen auch Verbindungszustände eine Rolle. Eine Anwendung mit langen Ruhephasen kann dadurch Schwierigkeiten bekommen. Keepalives und Wiederaufbau müssen zu Anwendung und Netz passen. Aus einer Lehrgrafik lässt sich kein zuverlässiger allgemeiner Timeout für alle Router ableiten. Die grundlegenden UDP- und TCP-Anforderungen stehen in RFC 4787 und RFC 5382; RFC 7857 präzisiert beide.

Übersetzen und Erlauben sind verschiedene Entscheidungen.

Ein typischer Heimrouter erlaubt ausgehende Verbindungen und zugehörige Antworten, während er unerwartete neue eingehende Verbindungen blockiert. In einem Gerät arbeiten dabei NAPT und eine zustandsbehaftete Firewall zusammen. Dass ohne Zuordnung kein interner Empfänger feststeht, ist eine praktische Grenze der Übersetzung. Eine Sicherheitsrichtlinie beschreibt zusätzlich ausdrücklich, welcher Verkehr von welcher Seite unter welchen Bedingungen erlaubt ist.

NAT verschlüsselt nichts, erkennt keine Schadsoftware und schützt nicht vor unerwünschten Inhalten einer erlaubten Verbindung. Ein interner Rechner kann über seine selbst aufgebaute Verbindung gefährliche Daten empfangen. Ebenso kann ein Netz mit globalen Adressen durch eine zustandsbehaftete Firewall eingehende Verbindungen gezielt unterbinden. „Ohne NAT ist alles offen“ ist deshalb ebenso falsch wie „mit NAT ist alles sicher“.

Eine Portweiterleitung legt eine eingehende Zuordnung fest, etwa äußerer TCP-Port 8443 auf 192.168.10.22:443. Dann müssen eine passende Firewallfreigabe, eine erreichbare Außenadresse, die Rückroute und ein tatsächlich lauschender Dienst hinzukommen. Der Browser würde dafür ausdrücklich den äußeren Port verwenden. Eine Weiterleitung startet weder den Server noch verschafft sie einem unkonfigurierten Dienst TLS. Im eigenen Labor sollte man zuerst die beabsichtigte Erreichbarkeit und die benötigten Benutzer klären.

Manchmal übersetzt auch der Anbieter.

Bei Carrier-Grade NAT, CGNAT, teilen sich mehrere Kunden eine oder mehrere äußere IPv4-Adressen beim Anbieter. Zwischen Heimrouter und Internet liegt eine weitere Übersetzung. Der spezielle Shared-Address-Bereich 100.64.0.0/10 ist dafür vorgesehen; er gehört nicht zu den drei privaten RFC-1918-Bereichen. Ein entsprechender WAN-Wert ist ein Hinweis auf eine solche Architektur, aber aus einer einzigen Anzeige lässt sich die gesamte Anschlussart nicht sicher bestimmen.

Die Portweiterleitung im Heimrouter kontrolliert dann nur die eigene Übersetzung. Sie erzeugt keine passende Zuordnung im Gerät des Providers. Darum kann ein eigener Server trotz korrekt eingerichteter Heimrouterregel von außen unerreichbar bleiben. Zugangstarif und Technik können andere Wege bieten, beispielsweise eine passende öffentlich erreichbare Adresse, IPv6 oder einen bewusst eingerichteten vermittelnden Zugang. Keine dieser Möglichkeiten sollte ohne Prüfung als am konkreten Anschluss verfügbar angenommen werden.

NAT-Traversal umfasst Verfahren, mit denen Anwendungen solche Grenzen berücksichtigen. STUN hilft unter anderem, die von außen sichtbare Zuordnung zu ermitteln. ICE sammelt und testet mögliche Verbindungspfade. TURN kann Nutzdaten über einen Relaydienst vermitteln, wenn kein geeigneter direkter Weg funktioniert. Diese Protokolle sind kein genereller Trick zum Umgehen jeder Firewall: Filterrichtlinien und erreichbare Gegenstellen bestimmen weiter die Möglichkeiten. Ein Relay kostet außerdem zusätzliche Infrastruktur und verändert den Datenweg.

IPv6 verändert die Adressfrage.

IPv6 bietet einen so großen Adressraum, dass Endgeräte grundsätzlich eigene globale Adressen erhalten können. Die gemeinsame Nutzung einer einzigen IPv4-Adresse durch NAPT ist dafür nicht erforderlich. Ein IPv6-Heimnetz kann daher routen und trotzdem eine zustandsbehaftete Firewall verwenden. Ausgehende Verbindungen und deren Antworten funktionieren dann ohne die hier gezeigte Adress- und Portumschreibung.

Das heißt nicht, dass jede IPv6-Adresse global ist oder jedes Gerät automatisch erreichbar wäre. Link-Local-Adressen gelten nur auf dem jeweiligen Link; weitere Adresstypen erfüllen andere Zwecke. Auch Übersetzungsverfahren existieren: NAT64 verbindet unter passenden Voraussetzungen IPv6-Clients mit IPv4-Zielen, NPTv6 übersetzt Präfixe für einen anderen Zweck. Das sind andere Aufgaben als das klassische IPv4-NAPT unseres Beispiels. Mehr zur Einordnung steht in IPv6 verstehen.

Für die Fehlersuche hältst du am besten drei Fragen auseinander: Gibt es einen Weg zum Ziel? Welche Adresse und welcher Port erscheinen auf jeder Seite des Übersetzers? Welche Regeln erlauben die Verbindung? Dieses Vorgehen hilft auch bei Container-Netzwerken, wo veröffentlichte Ports, interne Dienstnamen und Hostadressen leicht verwechselt werden. Ein im Container erreichbarer Dienst ist noch kein öffentlich erreichbarer Dienst.

Ordne die Antwort dem richtigen Rechner zu.

Aufgabe 1: Der Webserver sendet TCP von 203.0.113.80:443 an 198.51.100.10:62002. Verwende die Tabelle oben. Welcher interne Endpunkt erhält die Antwort? Welche beiden Zielfelder ändert der Übersetzer?

Lösung: Der zweite Zustand führt zu Rechner B.

Die Zuordnung für TCP-Port 62002 führt zu 192.168.10.21:49152. Die IPv4-Zieladresse wird auf 192.168.10.21 und der TCP-Zielport auf 49152 gesetzt. Die Serverquelle 203.0.113.80:443 bleibt erhalten. Rechner A hat zwar denselben lokalen Port, aber eine andere interne Adresse und die andere äußere Zuordnung 62000. Voraussetzung sind weiterhin ein gültiger Zustand und erlaubter Verkehr.

Aufgabe 2: Du richtest im Heimrouter TCP 8443 auf 192.168.10.22:443 ein. Der Router sitzt hinter CGNAT. Beweist die lokale Weiterleitung, dass der Dienst aus dem Internet erreichbar ist? Würde IPv6 ohne NAT eine Firewall überflüssig machen?

Lösung: Beide Schlussfolgerungen wären falsch.

Die Weiterleitung betrifft nur den Heimrouter. Beim Anbieter kann weiterhin eine fehlende Zuordnung oder eine Filterregel neue eingehende IPv4-Verbindungen verhindern. Zusätzlich müssen Server, Rückweg und Heimrouterfilter stimmen. IPv6 kann die IPv4-Adressübersetzung vermeiden, ersetzt aber keine Zugriffspolitik. Ein IPv6-Server benötigt weiterhin passende Filterregeln und eine sichere Dienstkonfiguration. Prüfe also Übersetzung, Routing und Freigaben getrennt.

Quellen und fachlicher Stand.

Geprüft am . Tabellen und SVGs sind eigene vereinfachte Beispiele, keine Messungen eines realen Routers.