Network Address Translation

Aus Foxwiki

Netzwerkadressübersetzung (engl. Network Address Translation, kurz NAT) ist in Rechnernetzen der Sammelbegriff bei Änderungen von Adressen im IP-Header von IPv4-Paketen (Layer-3 des ISO-OSI-Modells).

  • NAT (genauer SNAT) ermöglicht u. a. die gleichzeitige Verwendung einer öffentlichen Adresse durch mehrere Hosts.
  • Üblicherweise übernimmt der Router im Netzwerk die SNAT, der die Verbindung zum Internet herstellt.
  • Daher ist in der Regel dieser Router das Default-Gateway eines Hosts.

NAT-Typen

  • NAT wird in Source-NAT (SNAT; dt.: „Quellen-NAT“) und Destination-NAT(DNAT; dt.: „Ziel-NAT“) unterschieden.
  • Beim Source-NAT wird die Adresse des verbindungsaufbauenden Computers (Quelle) umgeschrieben.
  • Beim Destination-NAT wird die Adresse des angesprochenen Computers (Ziel) umgeschrieben.

Verwendung von NAT

Verwendung von Source-NAT

  • Am meisten findet Source-NAT Anwendung aufgrund der Knappheit öffentlicher IPv4-Adressen.
  • Die spezielle Form der SNAT wird auch Masquerading bzw. Masquerade genannt.
  • Wird vor allem bei Einwahlverbindungen genutzt.
  • Beim Maskieren wird automatisch durch einen Algorithmus die Absender-Adresse des Pakets in die IP-Adresse des Interfaces geändert, auf dem das Paket den Router verlässt.
  • Beim SNAT muss die (neue) Quell-Adresse explizit angegeben werden.
  • In privaten oder möglichst preisgünstig ausgeführten Netzinstallationen wird Source-NAT als eine Art Sicherheitsmerkmal und zur Trennung von internen und externen Netzen eingesetzt
  • Durch das Maskieren der Quell-IP-Adresse können die internen Rechner nicht mehr von außen direkt angesprochen werden.

Verwendung von Destination-NAT

  • Destination-NAT wird verwendet, um das Ziel eines IP-Pakets zu ändern.
  • Meist findet DNAT Verwendung beim Ändern der öffentlichen IP eines Internet-Anschlusses in die private IP-Adresse eines Servers im privaten Subnetz.
  • Diese Methode ist als „Port-Forwarding“ in Verbindung mit UDP / TCP - Verbindungen bekannt.
  • DNAT kann daher auch dazu genutzt werden, um mehrere, unterschiedliche Serverdienste, die auf verschiedenen Computern betrieben werden, unter einer einzigen (öffentlichen) IP-Adresse anzubieten(s. Abgrenzung von DNAT auch NAT-Traversal bzw. NAT-T).

Funktionsweise

NAT-Router, NAT-Session und NAT-Table

  • Ein moderner Router mit NAT-Funktion ist zustandsbehaftet (stateful).
  • Beim stateful firewalling werden für jede seitens eines Clients angefragte Verbindung die zugehörigen Verbindungsinformationen (unter anderem IP-Adressen, Protokoll / Ports und Timeouts) in einer Session-Table gespeichert.
  • Anhand der gespeicherten Informationen kann der NAT-Router dann das jeweilige Antwort-Datenpaket dem richtigen Client wieder zuordnen.
  • Nach Ablauf einer Session wird ihr Eintrag aus der Session-Table gelöscht.
  • Die Anzahl der Sessions, die ein NAT-Router gleichzeitig offen halten kann, ist durch seinen Arbeitsspeicher begrenzt.
  • 10.000 Sessions belegen nur etwa 3 MB.

Source NAT

  • Bei jedem Verbindungsaufbau durch einen internen Client wird die interne Quell-IP-Adresse durch die öffentliche IP-Adresse des Routers ersetzt.
  • Ist der Ursprungsport belegt wird der Quellport des internen Clients durch einen freien Port des Routers ersetzt.
  • Diese Zuordnung wird in der Session-Table (NAT-Table) des Routers gespeichert.
  • Anhand der gespeicherten Informationen kann der NAT-Router dann das jeweilige Antwort-Datenpaket dem richtigen Client wieder zuordnen.
  • Der Vorgang wird als Port Address Translation (PAT) bezeichnet.
lokales Netz (LAN) öffentliches Netz (WAN)
Quelle Ziel Router
===== = =====>
NAT
Quelle Ziel
192.168.0.2:49701 170.0.0.1:80 205.0.0.2:49701 170.0.0.1:80
192.168.0.3:50387 170.0.0.1:80 205.0.0.2:50387 170.0.0.1:80
192.168.0.4:49152 170.0.0.1:23 205.0.0.2:49152 170.0.0.1:23