Network Address Translation: Unterschied zwischen den Versionen
Zeile 36: | Zeile 36: | ||
* Der Vorgang wird als Port Address Translation (PAT) bezeichnet. | * Der Vorgang wird als Port Address Translation (PAT) bezeichnet. | ||
{| cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #F9F9F9; border-collapse: collapse; font-size: 95%;" | {| cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #F9F9F9; border-collapse: collapse; font-size: 95%;" | ||
|align="center" colspan="2" style="background: white;"|lokales Netz (Local Area Network | |align="center" colspan="2" style="background: white;"|lokales Netz (Local Area Network/LAN) | ||
|style="background: white;"| | |style="background: white;"| | ||
|align="center" colspan="2" style="background: white;"|öffentliches Netz (Wide Area Network | |align="center" colspan="2" style="background: white;"|öffentliches Netz (Wide Area Network/WAN) | ||
|- | |- | ||
Zeile 62: | Zeile 62: | ||
|align="center" style="border: 1px #aaa solid;"|170.0.0.1:23 | |align="center" style="border: 1px #aaa solid;"|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. | |||
* Ein Routing ist 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 seines (privaten) Netzes senden, so funktioniert der Kommunikationsprozess (vereinfacht dargestellt) wie folgt: | |||
** Zuerst ermittelt die Station über DNS die Ziel-IP des Servers, und über die Routing-Tabelle den für das gewünschte Ziel nächstgelegenen Router, das sei hier der ''Source-NAT-Router''. | |||
** Dann ermittelt die Station per Address Resolution Protocol (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 für den Server. | |||
# Die MAC- und IP-Adresse des Absenders (hier 192.168.0.4). | |||
# Einen Absenderport (irgendeinen freien Port (high dynamic Port)) für die gerade anfragende 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''. | |||
** Er 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 | |||
*** 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 49152) und die Nutzdaten, die gleich bleiben. | |||
*** Diese Zuordnung der ursprünglichen Absenderadresse und des Ports (192.168.0.4:49152) zum jetzt enthaltenen Adress-Tupel (205.0.0.2:49152) wird im Router solange gespeichert, bis die Sitzung abläuft oder beendet wird. | |||
** Durch NAT wird das Paket auf Schicht 3 also wesentlich verändert. |
Version vom 10. März 2021, 11:14 Uhr
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 (Local Area Network/LAN) | öffentliches Netz (Wide Area Network/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 |
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.
- Ein Routing ist 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 seines (privaten) Netzes senden, so funktioniert der Kommunikationsprozess (vereinfacht dargestellt) wie folgt:
- Zuerst ermittelt die Station über DNS die Ziel-IP des Servers, und über die Routing-Tabelle den für das gewünschte Ziel nächstgelegenen Router, das sei hier der Source-NAT-Router.
- Dann ermittelt die Station per Address Resolution Protocol (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 für den Server.
- Die MAC- und IP-Adresse des Absenders (hier 192.168.0.4).
- Einen Absenderport (irgendeinen freien Port (high dynamic Port)) für die gerade anfragende 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.
- Er 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
- 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 49152) und die Nutzdaten, die gleich bleiben.
- Diese Zuordnung der ursprünglichen Absenderadresse und des Ports (192.168.0.4:49152) zum jetzt enthaltenen Adress-Tupel (205.0.0.2:49152) wird im Router solange gespeichert, bis die Sitzung abläuft oder beendet wird.
- Durch NAT wird das Paket auf Schicht 3 also wesentlich verändert.