Network Address Translation
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.