Firewall/Ergänzende Technologien

Aus Foxwiki

Ergänzende Technologien

Intrusion Detection und - Prevention

„Intrusion Detection Systeme“ (IDS) und „Intrusion Prevention Systeme“ (IPS) erkennen einen Einbruchsversuch anhand von Kommunikationsmustern.

  • Der Unterschied ist, dass ein IDS den Angriff nur erkennt (Detection (engl.) = Erkennung) und ein IPS (Prevention (engl.) = Verhinderung) den Angriff zu blockieren versucht.

Diese Systeme gehören zwar nicht zum Firewall-Modul, können dieses aber ergänzen und werden daher vermehrt in eine Firewall-Lösung als zusätzliche Funktion aufgenommen.

  • Einige Firewall-Systeme bieten Erweiterungsmöglichkeiten, um ein IDS nachzurüsten, unter anderem über Slots für Erweiterungsmodule.
  • Diese Module sind mitunter eigenständige Recheneinheiten mit CPU und Arbeitsspeicher, da diese Funktion je nach Aufgabenfeld eine rechenintensive Leistung erfordern kann.

Das Themenfeld, Angriffe zu erkennen und darauf automatisiert zu reagieren, ist sehr komplex.

  • Ein unbedachtes Konzept, eine schlechte Implementierung oder eine ungünstige Konfiguration kann unter Umständen erst die Möglichkeit für einen Denial-of-Service-Angriff schaffen.
  • So legen manche Systeme eine temporäre Firewall-Regel an, die alle weiteren Verbindungsversuche von der vermeintlichen angreifenden IP-Adresse blockieren.

Schickt aber nun ein Angreifer Pakete mit einer gefälschten Absender-Adresse an das System (siehe IP-Spoofing), so kann er damit erreichen, dass der Zugriff auf die gefälschte Adresse nicht mehr möglich ist.

  • Wurden hierfür keine Ausnahmen definiert, so kann er nacheinander sämtliche Adressen von dem angegriffenen System abschotten, die dieses für seine Arbeit benötigt (DNS-Server, usw.).

Weitere mögliche Funktionen

Folgende Funktionen können auf einem Firewall-Gerät noch Anwendung finden:* Endpunkt für VPN-Verbindungen

  • Berücksichtigung von Quality of Service bei der Verarbeitungspriorität
  • Etherchannel (je nach Hersteller auch Link- oder Port-Aggregation, Bonding oder Trunking genannt), um mehrere physikalische Interfaces zu einem schnellen logischen Interface zusammenzufassen, beispielsweise zwei 100 MBit-Interfaces zu 200 MBit.

Portweiterleitung

Eine Portweiterleitung (englisch Port Forwarding) ist die Weiterleitung einer Verbindung, die über ein Rechnernetz auf einen bestimmten Port eingeht, zu einem anderen Computer.

  • Da der entsprechende Netzwerkdienst nicht von dem weiterleitenden Computer selbst geleistet wird, benutzt man hier auch irreführend den Begriff Virtueller Server.

Die eingehenden Datenpakete werden hierbei per Destination NAT und die ausgehenden Pakete per Source NAT maskiert, um sie an den anderen Rechner weiterzuleiten bzw. 

  • den Anschein zu erwecken, die ausgehenden Pakete kämen von dem Computer, der die Portweiterleitung betreibt.

Portweiterleitung durch Router

Ein Router, der beispielsweise mit einem privaten lokalen Netz und dem Internet verbunden ist, wartet dabei an einem bestimmten Port auf Datenpakete.

  • Wenn Pakete an diesem Port eintreffen, werden sie an einen bestimmten Computer und gegebenenfalls einen anderen Port im internen Netzwerk weitergeleitet.

Alle Datenpakete von diesem Computer und Port werden, wenn sie zu einer eingehenden Verbindung gehören, per Network Address Translation (NAT) so verändert, dass es im externen Netz den Anschein hat, der Router würde die Pakete versenden.

Durch Portweiterleitung wird es Rechnern innerhalb eines LAN – welche von einem externen Netz nicht direkt erreichbar sind – somit möglich, auch außerhalb dieses Netzes, insbesondere auch im Internet als Server zu fungieren, da diese somit über einen festgelegten Port (und mittels NAT) eindeutig ansprechbar gemacht werden.

Für alle Rechner im externen Netz sieht es so aus, als ob der Router den Serverdienst anbietet.

  • Dass dem nicht so ist, lässt sich anhand von Header-Zeilen oder Paketlaufzeitanalysen erkennen.

Beispiel: Eine größere Firma besitzt ein lokales Netzwerk, wobei mehrere Server nach Außen (Internet) per ADSL-Router unter einer IP-Adresse (z. B. 205.0.0.1) auftreten.

  • Jetzt möchte ein Client aus dem externen Netz (Internet) einen Dienst (z. B. 
  • HTTP/TCP Port 80) auf einem Server der Firma nutzen.
  • Er kann jedoch nur den ADSL-Router der Firma für den Dienst (HTTP/TCP Port 80) unter der ihm bekannten IP-Adresse (205.0.0.1) ansprechen.
  • Der ADSL-Router der Firma leitet die Anfrage für den Dienst (HTTP/TCP Port 80) an den entsprechenden Server im lokalen Netzwerk weiter.

Eine Portweiterleitung wird also benötigt, wenn kein Port Address Translation (PAT) möglich ist, da die erste Anfrage von Außen (z. B. 

  • Internet) kommt und mehrere Server nur unter einer IP-Adresse von außen ansprechbar sind.

Portweiterleitung zur Verbesserung der Sicherheit

Ein anderes Anwendungsbeispiel für eine Portweiterleitung ist die Sicherung eines Kanals für die Übertragung vertraulicher Daten.

  • Dabei wird Port A auf Rechner 1 mit Port B auf Rechner 2 verknüpft durch eine im Hintergrund aufrechterhaltene Verbindung zwischen zwei anderen Ports der beiden Rechner.
  • Dies bezeichnet man auch als Tunneling.

So kann beispielsweise eine unsichere POP3-Verbindung (Login und Passwort werden in der Regel im Klartext übertragen) durch den Transport in einem SSH-Kanal abgesichert werden: Der Port 113 auf dem POP-Server wird per SSH an den Port 113 des lokalen Rechners des Anwenders weitergeleitet.

Das lokale E-Mail-Programm kommuniziert nun mit dem lokalen Port (localhost:113) statt mit dem Port des Servers (pop.example.org:113).

  • Der SSH-Kanal transportiert dabei die Daten verschlüsselt über die parallel bestehende SSH-Verbindung zwischen den zwei Adressen.
  • Das Abgreifen des Passworts durch einen mithörenden Dritten wird dadurch nahezu unmöglich.
  • Voraussetzung für einen SSH-Tunnel ist ein zumindest eingeschränkter SSH-Zugang auf dem Server (pop.example.org), was Privatanwendern im Allgemeinen nicht gestattet wird.

Port Triggering

Port Triggering ist eine Technik, die das Port Forwarding erweitert.

Beim Port Forwarding werden Daten, die auf bestimmten TCP/IP-Ports eingehen, auf eine einzelne IP-Adresse weitergeleitet.

  • Es ist nicht möglich, einen Port oder Portbereich auf mehrere lokale Adressen zu leiten.
  • Die Weiterleitung ist statisch, d. h.
  • es wird immer auf die gleiche IP-Adresse weitergeleitet.

Beim Port Triggering legt man die Ports fest, über die die Daten des Programms nach außen gesendet werden und zusätzlich, über welche Ports die Antworten wieder eingehen.

  • Wenn ein Rechner über eine Anwendung, deren Ports im Port Triggering festgelegt wurden, Daten ins Internet sendet, merkt sich der Router die IP-Adresse dieses Rechners und leitet die Antworten, die wieder eingehen, entsprechend an diese IP-Adresse weiter (zurück).
  • Die Weiterleitung ist dynamisch, d. h.
  • es wird immer an die IP-Adresse weitergeleitet, von der die Anforderung kam.

Allerdings ist es auch beim Port Triggering nicht möglich, ein und denselben Port auf mehrere Rechner gleichzeitig im lokalen Netz weiterzuleiten! Port Forwarding ist für FTP, Web-Server oder andere Server-basierende Anwendungen geeignet.

  • Ein Request aus dem Internet wird immer an den richtigen Server weitergeleitet.

Der Port ist immer offen, auch wenn der Dienst nicht benutzt wird.

  • Im Gegensatz dazu erlaubt Port Triggering den eingehenden Datenverkehr erst, nachdem ein Rechner aus dem lokalen Netz einen entsprechenden Request in Richtung Internet gesendet hat.
  • Der Port wird nur temporär für diesen Rechner geöffnet.
  • Nach einer gewissen Zeitspanne der Inaktivität wird er automatisch wieder geschlossen.
Vorteile dieser Technik

Hieraus ergeben sich 2 Vorteile:* Erhöhte Sicherheit: die eingehenden Ports sind nicht die ganze Zeit geöffnet.

  • Das Forwarding muss nicht mehr konfiguriert werden: Es ist nicht mehr nötig, feste interne IP-Adressen für das Forwarding der Ports anzugeben, da diese IP-Adresse durch den ausgehenden Datenverkehr auf dem Trigger-Port ermittelt werden kann.
Port Triggering in Verbindung mit VoIP

Wird Port Triggering auf einen Port gelegt auf dem VoIP betrieben wird, kann es sein, dass der VoIP Dienst nur noch erreichbar ist, wenn vorher ein ausgehender Anruf getätigt wurde.

  • Sobald der Port wieder geschlossen wird (siehe oben) ist es wieder nicht möglich, eingehende Anrufe zu empfangen.
  • Einige VoIP Endgeräte unterstützen daher die Aufrechterhaltung der Weiterleitung durch den Versand von Pseudo-Datenpaketen.

Network Address Translation

Network Address Translation (NAT) ist in Rechnernetzen der Sammelbegriff für Verfahren, die automatisiert Adressinformationen in Datenpaketen durch andere ersetzen, um verschiedene Netze zu verbinden.

  • Daher kommen sie typischerweise auf Routern zum Einsatz.

NAT-Typen

NAT wird in Source-NAT und Destination-NAT unterteilt.

  • Während beim Source-NAT die Adresse des Computers umgeschrieben wird, der die Verbindung aufbaut, wird beim Destination-NAT die Adresse des angesprochenen Computers verändert.

Verwendung von NAT

Verwendung von Source-NAT

Große Verbreitung fand Source-NAT durch die Knappheit öffentlicher IPv4-Adressen und die Tendenz, private Subnetze mit dem Internet zu verbinden.

  • Die einfachste Lösung dieses Problems war oft die durch NAT mögliche Verwendung mehrerer privater IP-Adressen mit nur einer öffentlichen IP-Adresse, wobei die Abbildung auf diese aufgrund der 16 Bit breiten Portnummern auf etwa 65.000 Sitzungen (Port-Address-Translation Einträge) beschränkt bleibt (siehe Nachteile).

Gerade in privaten oder möglichst preisgünstig ausgeführten Netzinstallationen wird Source-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 weder Sicherheitsinfrastruktur noch wirksame Maßnahmen zur Trennung von Netzen ersetzen.
  • So wird die Source-NAT-Funktion eines Routers im professionellen Bereich oft durch ein zusätzlich betriebenes Application Layer Gateway (ALG) unterstützt.
Verwendung von Destination-NAT

Destination-NAT wird beispielsweise verwendet, um mehrere, unterschiedliche Serverdienste, die auf verschiedenen Computern betrieben werden, unter einer einzigen IP-Adresse anzubieten.

Auch wird es manchmal bei Hot Spots benutzt, um Zugriffe auf Webseiten vor der Anmeldung auf den Rechner umzuleiten, der die Anmeldung anbietet.

Funktionsweise

NAT-Router, NAT-Session und NAT-Table

Ein System mit NAT-Funktion ist zustandsbehaftet und wird auch als NAT-Router bezeichnet.

  • Für jede Verbindung, die ein NAT-Router aufbaut, startet er eine NAT-Session.
  • Die zugehörigen Verbindungsinformationen (IP-Adressen, Ports und Timeouts) speichert er in seiner NAT-Table.

Anhand der gespeicherten Informationen kann der NAT-Router das jeweilige Antwort-Datenpaket dem jeweiligen Client korrekt zuordnen.

  • Nach Ablauf einer NAT-Session wird ihr Eintrag aus der NAT-Table gelöscht.
  • Die Anzahl der Sessions, die ein NAT-Router gleichzeitig offen halten kann, ist durch die Leistungsfähigkeit der jeweils im NAT-Router eingesetzten Hard- und Software begrenzt.
Source NAT

Bei jedem Verbindungsaufbau durch einen internen Client wird die interne Quell-IP-Adresse durch die öffentliche IP-Adresse des Routers ersetzt.

  • Außerdem wird der Quellport des internen Clients durch einen freien Port des Routers ersetzt, der dadurch belegt wird.
  • Diese Zuordnung wird in der NAT-Table des Routers gespeichert.
  • Der Vorgang wird als PAT (Port and Address Translation) bezeichnet.
lokales Netz (LAN) öffentliches Netz (WAN)
Quelle Ziel Router===== = =====>NAT Quelle Ziel
192.168.0.2:4701 170.0.0.1:80 205.0.0.2:6787 170.0.0.1:80
192.168.0.3:5387 170.0.0.1:80 205.0.0.2:8709 170.0.0.1:80
192.168.0.4:1001 170.0.0.1:23 205.0.0.2:4806 170.0.0.1:23
Source-NAT und IP-Routing am Beispiel

In diesem Beispiel nutzt das private Netz die IP-Adressen 192.168.0.0/24.

  • Zwischen diesem Netz und dem öffentlichen Internet befindet sich ein Source-NAT-Router mit der öffentlichen Adresse 205.0.0.2/32.

Allgemein ist immer dann ein Routing erforderlich, wenn Absender und Empfänger in verschiedenen Netzen liegen.

  • Möchte eine über einen Source-NAT-Router angebundene Station ein Paket an einen Empfänger außerhalb ihres privaten Netzes senden, beispielsweise an einen Telnet-Server irgendwo entfernt im Internet, so funktioniert der Kommunikationsprozess (vereinfacht dargestellt) wie folgt:

Zuerst ermittelt die Station den für das gewünschte Ziel nächstgelegenen Router (siehe Routingtabelle), das sei hier der Source-NAT-Router, dann ermittelt die Station per ARP dessen MAC-Adresse und baut ein Paket wie folgt zusammen:

Es erhält als Ziel-MAC-Adresse die MAC-Adresse des Source-NAT-Routers, die Ziel-IP-Adresse des Empfängers (hier 170.0.0.1), die Ziel-Portadresse 23 für den Telnet-Server sowie die MAC- und IP-Adresse des Absenders (hier 192.168.0.4) und einen Absenderport (irgendein gerade freier Port, hier 1001) für die gerade anfragende Telnet-Sitzung sowie andere Daten.

  • Der Source-NAT-Router empfängt und verarbeitet das Paket, weil es an seine MAC-Adresse gerichtet ist.

Bei der Verarbeitung im Router wird das Paket in abgeänderter Form weitergeleitet: der Router ermittelt anhand der Empfänger-IP-Adresse den nächsten Router, ermittelt per ARP dessen MAC-Adresse und baut das Paket wie folgt um:

Es erhält nun abweichend die MAC-Adresse des nächsten Routers, die Ziel-IP-Adresse des Empfängers (170.0.0.1), Ziel-Port 23 sowie die öffentliche MAC- und IP-Adresse des Source-NAT-Routers (205.0.0.2), einen gerade freien Absender-Port aus dem Reservoir des Routers (hier 4806) und den Nutzdaten, die gleich bleiben.

Diese Zuordnung der ursprünglichen Absenderadresse und des Ports (192.168.0.4:1001) zum jetzt enthaltenen Adress-Tupel (205.0.0.2:4806) wird im Router solange gespeichert, bis die Telnet-Sitzung abläuft oder beendet wird.

  • Bei NAT wird das Paket auf Schicht 3 (IP) also deutlich verändert.

Bei der Bearbeitung in nachfolgenden IP-Routern wird das Paket lediglich auf Schicht 2 verändert: Der Router ermittelt den nächsten Router, ermittelt per ARP dessen MAC-Adresse und baut das Paket wie folgt um:

Es erhält nun abweichend als Ziel-MAC-Adresse die MAC-Adresse des nächsten Routers und die Absender-MAC-Adresse wird gegen die eigene ausgetauscht.

  • Die IP-Adresse des Empfängers (170.0.0.1), Ziel-Port 23 sowie die Absender-IP-Adresse des Source-NAT-Routers (205.0.0.2), dessen Absender-Port 4806 und die Nutzdaten bleiben erhalten.

Das bedeutet: Auf Schicht 3 (IP) wird das Paket hier nicht verändert.

  • Dieser Vorgang wiederholt sich, bis ein letzter Router die Zielstation in einem direkt angeschlossenen Netz findet; dann setzt sich das Paket wie folgt zusammen:

es erhält als Absender-MAC-Adresse die des letzten Routers, als Ziel die MAC-Adresse der Zielstation, die IP-Adresse des Empfängers (= Zielstation, 170.0.0.1), Ziel-Port 23 sowie die IP-Adresse des Absender-Source-NAT-Routers (205.0.0.2), dessen Absender-Port 4806 und natürlich Nutzdaten.

Nach erfolgreicher Verarbeitung durch den Telnet-Server wird die Rückantwort dann wie folgt zusammengestellt: MAC-Adresse des für den Rückweg zuständigen Routers (wobei Hin- und Rückroute nicht unbedingt identisch sein müssen), die IP-Adresse des anfragenden Source-NAT-Routers (205.0.0.2), die Ziel-Portadresse 4806 sowie die MAC- und IP-Adresse des Telnet-Servers (170.0.0.1) und dessen Absenderport, sowie Antwort-Daten.

Nachdem alle Router durchlaufen wurden, wird daraus schließlich im Source-NAT-Router (205.0.0.2): MAC-Adresse und IP-Adresse des anfragenden Rechners (hier 192.168.0.4), und dessen Portadresse 1001 sowie die MAC des Source-NAT-Routers und IP-Adresse des Telnet-Servers (170.0.0.1) und dessen Absenderport, sowie Antwort-Daten.

  • Wird diese Telnet-Sitzung beendet, wird auch Port 1001 wieder freigegeben.
Destination NAT

Bei jedem Verbindungsaufbau durch den Client wird die Ziel-IP-Adresse durch die des eigentlichen Empfängers im LAN ersetzt.

  • Außerdem wird der Zielport durch einen freien Port des Routers ersetzt, der dadurch belegt wird.
  • Diese Zuordnung wird in der NAT-Table des Routers gespeichert.
öffentliches Netz (WAN) lokales Netz (LAN)
Quelle Ziel Router===== = =====>NAT Quelle Ziel
170.0.0.1:1001 171.4.2.1:80 170.0.0.1:1001 192.168.0.2:80
170.0.0.1:1001 171.4.2.1:22 170.0.0.1:1001 192.168.0.3:22
170.0.0.1:1001 171.4.2.1:81 170.0.0.1:1001 192.168.0.3:81

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:

Datei:Grafik20.png 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.
Datei:Grafik22.png 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.
Datei:Grafik23.png Im Symmetric-NAT-Szenario schließlich ist eine Initiierung von Verbindungen durch externe Hosts nicht oder 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.

Vorteile

  • IP-Adressen eines Netzes können vor einem anderen Netz verborgen werden.
  • Somit kann NAT zur Verbesserung der Netzwerksicherheit eingesetzt werden.

Nachteile

  • 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, die einem Man-in-the-middle-Angriff ähnelt, haben so insbesondere ältere Protokolle und Kryptografiesverfahren auf Netzwerk- und Transportebene durch diesen Designbruch Probleme (z. B. IPsec-AH).
  • Protokollkomplikationen durch NAT werden in RFC 3027 beschrieben.
  • Ebenso leiden insbesondere Netzwerkdienste, die Out-of-Band-Signalisierung und Rückkanäle einsetzen, etwa IP-Telefonie-Protokolle, unter Komplikationen durch NAT-Gateways.
  • NAT-Gateways heben die strenge Trennung des OSI-Schichtenmodells auf.
  • Ende-zu-Ende-Konnektivität wird gebrochen, da die NAT-Übergabestelle das Ziel eingehender Verbindungen nicht automatisch ermitteln kann.

NAT-Traversal

NAT-Traversal (z.T.

  • als NAT-Durchdringung übersetzt) bezeichnet Techniken zum Aufbau und Halten von Verbindungen über NAT-Übergabestellen hinweg.
  • Network Address Translation bricht die Ende-zu-Ende-Konnektivität.
  • Daher benötigen typischerweise Anwendungen, die von Client zu Client verbinden (zum Beispiel bei Peer-to-Peer- und IP-Telefonie-Anwendungen oder Netzwerkspiele) NAT-Durchdringungstechniken.

Es existieren mehrere Techniken, derer nicht jede in jeder Situation funktioniert, da das Verhalten von NAT nicht standardisiert ist.

  • Viele Techniken benötigen die Hilfe eines für beide Parteien direkt öffentlich zugänglichen Servers.

Manche Methoden nutzen einen solchen Server nur für den Verbindungsaufbau, andere leiten allen Verkehr der Verbindung über diesen Hilfs-Server, was die Kosten der Datenübertragung sowie die Latenz erhöht und somit für Echtzeit-Anwendungen nachteilig ist.

Die meisten verhaltensbasierten Methoden umgehen Unternehmens-Sicherheitsrichtlinien.

  • Daher werden in Unternehmensnetzwerken Techniken bevorzugt, die sich ausdrücklich kooperativ mit NAT und Firewalls integrieren und administrative Eingriffe an der NAT-Übergabestelle erlauben.
  • Deshalb sind die vielversprechendsten Standards Realm-Specific IP und Middlebox Communication (MIDCOM).

SOCKS, das älteste Protokoll zur NAT-Durchdringung, ist weiterhin weit verbreitet.

Spezifikationen
  • RFC 2663 IP Network Address Translator (NAT) Terminology and Considerations (englisch)
  • RFC 2766 Network Address Translation - Protocol Translation (NAT-PT) (englisch)
  • RFC 3022 Traditional IP Network Address Translator (Traditional NAT) (englisch)

Port Address Translation

Port and Address Translation (PAT) oder Network Address Port Translation (NAPT) ist eine Technik, die in Computernetzwerken verwendet wird.

  • Sie ist eine spezielle Form von NAT (1 zu n NAT).

Dabei werden im Gegensatz zu NAT nicht nur die IP-Adressen, sondern auch Port-Nummern umgeschrieben.

  • PAT wird eingesetzt, wenn mehrere private IP-Adressen aus einem LAN zu einer öffentlichen IP-Adresse übersetzt werden sollen.
Beispiel

Angenommen für das lokale Netz 192.168.0.0/24 steht die öffentliche IP-Adresse 205.0.0.2 zur Verfügung.

Ausgehende Pakete (LAN → WAN)
lokales Netz (LAN) öffentliches Netz (WAN)
Quell IP:Port Ziel IP:Port Router===========>Port Translation Quell IP:Port Ziel IP:Port
192.168.0.2:5000 170.0.0.1:80 205.0.0.2:6000 170.0.0.1:80
192.168.0.3:5000 170.0.0.1:80 205.0.0.2:6001 170.0.0.1:80
192.168.0.5:5001 170.0.0.1:80 205.0.0.2:6002 170.0.0.1:80

Die Quell-IP-Adressen werden durch die (einzige) öffentliche IP-Adresse ersetzt.

  • Die internen Port-Nummern werden durch eindeutige öffentliche Port-Nummern ersetzt.
  • Mittels einer Tabelle merkt sich der Router jeweils die interne Quell-IP-Adresse samt Port-Nummer und die öffentliche Port-Nummer des ausgehenden Pakets:* 192.168.0.2:5000 ⇔ 6000
  • 192.168.0.3:5000 ⇔ 6001
  • 192.168.0.5:5001 ⇔ 6002

Wie im Beispiel ersichtlich, funktioniert dies auch, wenn mehrere Geräte gleichzeitig dieselbe IP mit demselben Port aufrufen.

  • Zwar haben die Datenpakete alle die gleiche Ziel-IP und den gleichen Ziel-Port, jedoch werden die Antworten an die Quell-IP gesendet, mit jeweils unterschiedlichen Ports.

Das aufrufende Gerät (Router oder ähnliches) kann nämlich eine HTTP Anfrage über den Port 80 stellen, dabei aber selbst als eigenen Port den Port 6001 angeben.

  • Die Antwort vom HTTP-Server erfolgt dann an den Router auf dem Port 6001 und dieser übersetzt zurück auf die passende IP und den Port des aufrufenden Geräts.
Eingehende Pakete (LAN ← WAN)
lokales Netz (LAN) öffentliches Netz (WAN)
Quell IP:Port Ziel IP:Port Router<===========Port Translation Quell IP:Port Ziel IP:Port
170.0.0.1:80 192.168.0.2:5000 170.0.0.1:80 205.0.0.2:6000
170.0.0.1:80 192.168.0.3:5000 170.0.0.1:80 205.0.0.2:6001
170.0.0.1:80 192.168.0.5:5001 170.0.0.1:80 205.0.0.2:6002

Bei eingehenden Paketen kann anhand der Port-Nummer der Ziel-IP und des Tabelleneintrags (connection tracking) festgestellt werden, welcher Computer die Pakete angefordert hatte (hier: 192.168.0.2, 192.168.0.3 und 192.168.0.5).

Der Router kann dadurch die Ziel-IP durch die ursprüngliche Quell-IP 192.168.0.2, 192.168.0.3 bzw. 192.168.0.5 und die öffentliche Port-Nummer durch die ursprüngliche interne Port-Nummer austauschen.

Da hier jede IP-Adresse zu einer einzigen IP-Adresse übersetzt wird, spricht man von einer N:1-Übersetzung.

  • Werden mehrere IP-Adressen zu weniger IP-Adressen abgebildet, dann handelt es sich um eine N:M-Übersetzung.