Network Address Translation: Unterschied zwischen den Versionen

Aus Foxwiki
K (Textersetzung - „\[\[Kategorie([A-zA-z])“ durch „[[Kategorie:\1“)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
'''NAT''' ('''N'''etwork '''A'''ddress '''T'''ranslation, Netzwerkadressübersetzung) ist eine Technik zur Übersetzung von IP-Adressen.
'''NAT''' ('''N'''etwork '''A'''ddress '''T'''ranslation, Netzwerkadressübersetzung) ist eine Technik zur Übersetzung von IP-Adressen.


= Beschreibung =
'''topic''' kurze Beschreibung
== Beschreibung ==
== Installation ==
== Anwendungen ==
=== Fehlerbehebung ===
== Syntax ==
=== Optionen ===
=== Parameter ===
=== Umgebungsvariablen ===
=== Exit-Status ===
== Konfiguration ==
=== Dateien ===
== Sicherheit ==
== Dokumentation ==
=== RFC ===
=== Man-Pages ===
=== Info-Pages ===
== Siehe auch ==
== Links ==
=== Projekt-Homepage ===
=== Weblinks ===
=== Einzelnachweise ===
<references />
== Testfragen ==
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 1''
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>
 
[[Kategorie:Entwurf]]
 
= TMP =
== Beschreibung ==
* In Rechnernetzen der Sammelbegriff bei Änderungen von Adressen im IP-Header von IP-Paketen (Layer-3 des OSI-Modells)
* In Rechnernetzen der Sammelbegriff bei Änderungen von Adressen im IP-Header von IP-Paketen (Layer-3 des OSI-Modells)
* NAT (genauer SNAT) ermöglicht die gleichzeitige Verwendung einer öffentlichen Adresse durch mehrere Hosts.
* NAT (genauer SNAT) ermöglicht die gleichzeitige Verwendung einer öffentlichen Adresse durch mehrere Hosts.
Zeile 7: Zeile 55:
* Oft ist dieser Router das Default-Gateway eines Hosts.
* Oft ist dieser Router das Default-Gateway eines Hosts.


== NAT-Typen ==
=== NAT-Typen ===
* NAT wird in Source-NAT (SNAT; dt.: „''Quellen-NAT''“) und Destination-NAT(DNAT; dt.: „''Ziel-NAT''“) unterschieden.
* 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 Source-NAT wird die Adresse des verbindungsaufbauenden Computers (Quelle) umgeschrieben.
* Beim Destination-NAT wird die Adresse des angesprochenen Computers (Ziel) umgeschrieben.
* Beim Destination-NAT wird die Adresse des angesprochenen Computers (Ziel) umgeschrieben.


= Verwendung von NAT =
== Verwendung von NAT ==
== Verwendung von Source-NAT ==
=== Verwendung von Source-NAT ===
* Source-NAT findet Anwendung aufgrund der Knappheit öffentlicher IPv4-Adressen.
* Source-NAT findet Anwendung aufgrund der Knappheit öffentlicher IPv4-Adressen.
* Eine spezielle Form der SNAT wird auch '''Masquerading''' bzw. '''Masquerade'''[https://de.wikipedia.org/wiki/Port_Address_Translation] oder
* Eine spezielle Form der SNAT wird auch '''Masquerading''' bzw. '''Masquerade'''[https://de.wikipedia.org/wiki/Port_Address_Translation] oder
Zeile 23: Zeile 71:
* Durch das Maskieren der Quell-IP-Adresse können die internen Rechner nicht mehr von außen direkt angesprochen werden.
* Durch das Maskieren der Quell-IP-Adresse können die internen Rechner nicht mehr von außen direkt angesprochen werden.


== Verwendung von Destination-NAT ==
=== Verwendung von Destination-NAT ===
* Destination-NAT wird verwendet, um das Ziel eines IP-Pakets zu ändern.
* Destination-NAT wird verwendet, um das Ziel eines IP-Pakets zu ändern.
* Meist findet DNAT Verwendung beim Ändern der öffentlichen IP-Adresse eines Internet-Anschlusses in die private IP-Adresse eines Servers im privaten Subnetz.
* Meist findet DNAT Verwendung beim Ändern der öffentlichen IP-Adresse eines Internet-Anschlusses in die private IP-Adresse eines Servers im privaten Subnetz.
Zeile 29: Zeile 77:
* 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).
* 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 =
== Funktionsweise ==
== NAT-Router, NAT-Session und NAT-Table ==
=== NAT-Router, NAT-Session und NAT-Table ===
* Ein moderner Router mit NAT-Funktion ist zustandsbehaftet (''stateful'').
* 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.
* 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.
Zeile 39: Zeile 87:
* 10.000 Sessions belegen nur etwa 3 MB.
* 10.000 Sessions belegen nur etwa 3 MB.


== Source NAT (SNAT) ==
=== Source NAT (SNAT) ===
* Bei jedem Verbindungsaufbau durch einen internen Client wird die interne Quell-IP-Adresse durch die öffentliche IP-Adresse des Routers ersetzt.
* 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.  
* 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.
* 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.
* Anhand der gespeicherten Informationen kann der NAT-Router dann das jeweilige Antwort-Datenpaket dem richtigen Client wieder zuordnen.
Zeile 72: Zeile 120:
|}
|}


== Beispiel Source-NAT und IP-Routing ==
=== Beispiel Source-NAT und IP-Routing ===
* In diesem Beispiel nutzt das private Netz die IP-Adressen 192.168.0.0/24.
* 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.
* Zwischen diesem Netz und dem öffentlichen Internet befindet sich ein ''Source-NAT-Router'' mit der öffentlichen Adresse 205.0.0.2/32.
Zeile 78: Zeile 126:
* 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:
* 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:


===Ermittlungen===
====Ermittlungen====
* 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''.
* 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:
* Dann ermittelt die Station per Address Resolution Protocol (ARP) dessen MAC-Adresse und baut ein Paket wie folgt zusammen:
Zeile 86: Zeile 134:
# Die Ziel-Portadresse für den Server.
# Die Ziel-Portadresse für den Server.
# Die MAC- und IP-Adresse des Absenders (hier 192.168.0.4).
# 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.  
# Einen Absenderport (irgendeinen freien Port (high dynamic Port)) für die gerade anfragende Sitzung.
# Sowie andere (Nutz)Daten.
# Sowie andere (Nutz)Daten.


===Empfang===
====Empfang====
* Der ''Source-NAT-Router'' empfängt und verarbeitet das Paket, weil es an seine MAC-Adresse gerichtet ist.
* 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.
** Bei der Verarbeitung im Router wird das Paket in abgeänderter Form weitergeleitet.
Zeile 95: Zeile 143:
** Er ermittelt per ARP dessen MAC-Adresse und baut das Paket wie folgt um:
** 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''.
*** 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 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.
*** 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.


===Verarbeitung===
====Verarbeitung====
* Diese Zuordnung der ursprünglichen Absenderadresse und des Ports (192.168.0.4:49152) zum jetzt enthaltenen                    Adress-Tupel[https://de.ryte.com/wiki/Tupel](205.0.0.2:49152) wird im Router solange gespeichert, bis die Sitzung abläuft oder beendet wird.
* Diese Zuordnung der ursprünglichen Absenderadresse und des Ports (192.168.0.4:49152) zum jetzt enthaltenen                    Adress-Tupel[https://de.ryte.com/wiki/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.'''
** '''Durch NAT wird das Paket auf Schicht 3 also wesentlich verändert.'''
* Bei der Bearbeitung in nachfolgenden IP-Routern wird das Paket lediglich auf Schicht 2 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:
* 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''  
** Es erhält nun abweichend als Ziel-MAC-Adresse die MAC-Adresse des ''nächsten Routers''
** Die Absender-MAC-Adresse wird gegen die eigene ausgetauscht.
** Die Absender-MAC-Adresse wird gegen die eigene ausgetauscht.
** Die IP-Adresse des Empfängers (170.0.0.1), Ziel-Port  sowie die Absender-IP-Adresse des Source-NAT-Routers (205.0.0.2), dessen Absender-Port 49152 und die Nutzdaten bleiben erhalten.
** Die IP-Adresse des Empfängers (170.0.0.1), Ziel-Port  sowie die Absender-IP-Adresse des Source-NAT-Routers (205.0.0.2), dessen Absender-Port 49152 und die Nutzdaten bleiben erhalten.
Zeile 111: Zeile 159:
** Es erhält als Absender-MAC-Adresse die des letzten Routers, als Ziel die MAC-Adresse der Zielstation, die IP-Adresse des Empfängers  (170.0.0.1), Ziel-Port  sowie die IP-Adresse des ''Absender-Source-NAT-Routers'' (205.0.0.2), dessen Absender-Port 49152 und natürlich Nutzdaten.
** Es erhält als Absender-MAC-Adresse die des letzten Routers, als Ziel die MAC-Adresse der Zielstation, die IP-Adresse des Empfängers  (170.0.0.1), Ziel-Port  sowie die IP-Adresse des ''Absender-Source-NAT-Routers'' (205.0.0.2), dessen Absender-Port 49152 und natürlich Nutzdaten.


===Abschluss===
====Abschluss====
* Nach erfolgreicher Verarbeitung durch den Server wird die Antwort dann wie folgt zusammengestellt:
* Nach erfolgreicher Verarbeitung durch den Server wird die Antwort 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).
** MAC-Adresse des für den Rückweg zuständigen Routers (wobei Hin- und Rückroute nicht unbedingt identisch sein müssen).
Zeile 119: Zeile 167:
* Wird diese Sitzung beendet, wird auch Port 49152 wieder freigegeben.
* Wird diese Sitzung beendet, wird auch Port 49152 wieder freigegeben.


=== Destination NAT (DNAT) ===
==== Destination NAT (DNAT) ====
* Bei jedem Verbindungsaufbau durch den Client wird die Ziel-IP-Adresse durch die des eigentlichen Empfängers im LAN ersetzt.
* 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.
* Außerdem wird der Zielport durch einen freien Port des Routers ersetzt, der dadurch belegt wird.
Zeile 151: Zeile 199:
|}
|}


= Kategorisierung =
== Kategorisierung ==
* RFC 3489, der das Protokoll '''STUN''' zur Traversierung von NAT-Gateways beschreibt, ordnet diese in vier verschiedene Klassen ein :
* RFC 3489, der das Protokoll '''STUN''' zur Traversierung von NAT-Gateways beschreibt, ordnet diese in vier verschiedene Klassen ein :


{| cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; border-collapse: collapse; font-size: 95%;"
{| cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; border-collapse: collapse; font-size: 95%;"
|[[Datei:Full Cone NAT.svg|500px]]
|[[Datei:Full Cone NAT.svg|500px]]
* Im ''Full Cone NAT''-Szenario setzt ein Gateway interne Adressen und Ports nach einem statischen Muster in eine externe Adresse und deren Ports um.  
* Im ''Full Cone NAT''-Szenario setzt ein Gateway interne Adressen und Ports nach einem statischen Muster in eine externe Adresse und deren Ports um.
* Externe Hosts bauen über die externen Adressen des NAT-Gateways Verbindungen zu internen Hosts auf.
* Externe Hosts bauen über die externen Adressen des NAT-Gateways Verbindungen zu internen Hosts auf.
* Full Cone NAT ist auch unter der Bezeichnung '''EnS port forwarding''' bekannt.
* Full Cone NAT ist auch unter der Bezeichnung '''EnS port forwarding''' bekannt.
Zeile 177: Zeile 225:
|}
|}


* Diese prototypischen Grundszenarien bilden in modernen NAT-Systemen allerdings oft nur Anhaltspunkte zur Klassifizierung punktuellen Verhaltens der Gateways.  
* Diese prototypischen Grundszenarien bilden in modernen NAT-Systemen allerdings oft nur Anhaltspunkte zur Klassifizierung punktuellen Verhaltens der Gateways.
* Diese benutzen teilweise Mischformen der klassischen Ansätze zur Adressumsetzung.
* Diese benutzen teilweise Mischformen der klassischen Ansätze zur Adressumsetzung.
* Oder sie wechseln dynamisch zwischen zwei oder mehreren Verhaltensmustern.
* Oder sie wechseln dynamisch zwischen zwei oder mehreren Verhaltensmustern.
* RFC 3489 ist durch RFC 5389 ersetzt worden, der diese Kategorisierung nicht mehr versucht.
* RFC 3489 ist durch RFC 5389 ersetzt worden, der diese Kategorisierung nicht mehr versucht.


= Vorteile =
== Vorteile ==
* NAT hilft die Verknappung der IPv4 Adressen zu entschleunigen.
* NAT hilft die Verknappung der IPv4 Adressen zu entschleunigen.
* Dies geschieht durch die Ersetzung mehrerer Adressen für mehrere Endsysteme durch eine einzige IP-Adresse.
* Dies geschieht durch die Ersetzung mehrerer Adressen für mehrere Endsysteme durch eine einzige IP-Adresse.
Zeile 190: Zeile 238:
* Es kommt zu keinen Adresskollisionen, da nach außen nur die IP-Adresse des NAT-Routers sichtbar ist.
* Es kommt zu keinen Adresskollisionen, da nach außen nur die IP-Adresse des NAT-Routers sichtbar ist.


= Nachteile =
== Nachteile ==
* Ein Problem an NAT ist, dass die saubere Zuordnung „1 Host mit eindeutiger IP-Adresse“ nicht eingehalten wird.
* Ein Problem an NAT ist, dass die saubere Zuordnung „1 Host mit eindeutiger IP-Adresse“ nicht eingehalten wird.
* Durch das Umschreiben von Protoko
* Durch das Umschreiben von Protoko
Zeile 197: Zeile 245:
* Das Ende-zu-Ende Prinzip (Direktverbindung) wird verletzt, indem der NAT-Router das IP-Paket bzw. TCP-Segment verändert, ohne dass er selbst der verschickende Host ist.
* Das Ende-zu-Ende Prinzip (Direktverbindung) wird verletzt, indem der NAT-Router das IP-Paket bzw. TCP-Segment verändert, ohne dass er selbst der verschickende Host ist.


= NAT-Traversal =
== NAT-Traversal ==
* '''IPsec''' mit '''NAT-Traversal''', oft nur als '''NAT-Traversal''' oder '''NAT-T''' bezeichnet, ist ein Verfahren zum Beheben von Problemen mit IPsec und Network Address Translation (NAT)[https://www.ip-insider.de/was-ist-nat-traversal-nat-t-a-921138/].
* '''IPsec''' mit '''NAT-Traversal''', oft nur als '''NAT-Traversal''' oder '''NAT-T''' bezeichnet, ist ein Verfahren zum Beheben von Problemen mit IPsec und Network Address Translation (NAT)[https://www.ip-insider.de/was-ist-nat-traversal-nat-t-a-921138/].
* '''NAT-T''' findet Gebrauch bei IPsec-VPN, wenn IPsec (Encapsulating Security Payload) ESP-Pakete an Internet-Anschlüssen mit NATend Routern nutzt.
* '''NAT-T''' findet Gebrauch bei IPsec-VPN, wenn IPsec (Encapsulating Security Payload) ESP-Pakete an Internet-Anschlüssen mit NATend Routern nutzt.
Zeile 203: Zeile 251:
* ''Network Address Translation'' bricht das Gebot der Ende-zu-Ende-Konnektivität.
* ''Network Address Translation'' bricht das Gebot der Ende-zu-Ende-Konnektivität.


===Techniken===
====Techniken====
* Anwendungen, die sich typischerweise von Host zu Host verbinden (z. B. bei Peer-to-Peer- und IP-Telefonie-Anwendungen oder VPN-Verbindungen) benötigen NAT-Durchdringungstechniken.
* Anwendungen, die sich typischerweise von Host zu Host verbinden (z. B. bei Peer-to-Peer- und IP-Telefonie-Anwendungen oder VPN-Verbindungen) benötigen NAT-Durchdringungstechniken.
* '''Es gibt keine universell anwendbarenTechniken'''
* '''Es gibt keine universell anwendbarenTechniken'''
Zeile 213: Zeile 261:
* Sie müssen administrative Eingriffe an der NAT-Übergabestelle erlauben.
* Sie müssen administrative Eingriffe an der NAT-Übergabestelle erlauben.


==Protokolle==
===Protokolle===
*'''SOCKS''', das älteste Protokoll zur NAT-Durchdringung, ist weit verbreitet, findet aber wenig Anwendung.
*'''SOCKS''', das älteste Protokoll zur NAT-Durchdringung, ist weit verbreitet, findet aber wenig Anwendung.
* Bei SOCKS baut der Client eine Verbindung zum SOCKS-Gateway auf (dieser ist meistens direkt mit dem Internet verbunden).
* Bei SOCKS baut der Client eine Verbindung zum SOCKS-Gateway auf (dieser ist meistens direkt mit dem Internet verbunden).
Zeile 222: Zeile 270:
* Ein weiteres Beispiel für ein NAT-Traversal-Protokoll ist '''STUN'''[https://de.wikipedia.org/wiki/Session_Traversal_Utilities_for_NAT], das eine hohe Bedeutung bei VoIP hat.
* Ein weiteres Beispiel für ein NAT-Traversal-Protokoll ist '''STUN'''[https://de.wikipedia.org/wiki/Session_Traversal_Utilities_for_NAT], das eine hohe Bedeutung bei VoIP hat.


=Links=
==Links==
== Intern ==
=== Intern ===


== Weblinks ==
=== Weblinks ===
* https://de.wikipedia.org/wiki/Port_Address_Translation
* https://de.wikipedia.org/wiki/Port_Address_Translation
* http://www.hh.schule.de/ak/nt/einwahlv.htm
* http://www.hh.schule.de/ak/nt/einwahlv.htm

Version vom 24. November 2022, 15:36 Uhr

NAT (Network Address Translation, Netzwerkadressübersetzung) ist eine Technik zur Übersetzung von IP-Adressen.

topic kurze Beschreibung

Beschreibung

Installation

Anwendungen

Fehlerbehebung

Syntax

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Konfiguration

Dateien

Sicherheit

Dokumentation

RFC

Man-Pages

Info-Pages

Siehe auch

Links

Projekt-Homepage

Weblinks

Einzelnachweise

Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5

TMP

Beschreibung

  • In Rechnernetzen der Sammelbegriff bei Änderungen von Adressen im IP-Header von IP-Paketen (Layer-3 des OSI-Modells)
  • NAT (genauer SNAT) ermöglicht die gleichzeitige Verwendung einer öffentlichen Adresse durch mehrere Hosts.
  • Üblicherweise übernimmt der Router im Netzwerk die SNAT, der die Verbindung zum Internet herstellt.
  • Oft ist 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

  • Source-NAT findet Anwendung aufgrund der Knappheit öffentlicher IPv4-Adressen.
  • Eine spezielle Form der SNAT wird auch Masquerading bzw. Masquerade[1] oder
  • Port and Address Translation (PAT) oder Network Address Port Translation (NAPT) genannt.
  • Wird vor allem bei Einwahlverbindungen [2] 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ünstigen 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-Adresse 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.
Grundfunktion
Grundfunktion
  • 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 (SNAT)

  • 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

Beispiel Source-NAT und IP-Routing

  • 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:

Ermittlungen

  • 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 enthält:
  1. Als Ziel-MAC-Adresse die MAC-Adresse des Source-NAT-Routers.
  2. Die Ziel-IP-Adresse des Empfängers (hier 170.0.0.1).
  3. Die Ziel-Portadresse für den Server.
  4. Die MAC- und IP-Adresse des Absenders (hier 192.168.0.4).
  5. Einen Absenderport (irgendeinen freien Port (high dynamic Port)) für die gerade anfragende Sitzung.
  6. Sowie andere (Nutz)Daten.

Empfang

  • 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.

Verarbeitung

  • Diese Zuordnung der ursprünglichen Absenderadresse und des Ports (192.168.0.4:49152) zum jetzt enthaltenen Adress-Tupel[3](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.
  • 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
    • Die Absender-MAC-Adresse wird gegen die eigene ausgetauscht.
    • Die IP-Adresse des Empfängers (170.0.0.1), Ziel-Port sowie die Absender-IP-Adresse des Source-NAT-Routers (205.0.0.2), dessen Absender-Port 49152 und die Nutzdaten bleiben erhalten.
  • Das bedeutet: Auf Schicht 3 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 (170.0.0.1), Ziel-Port sowie die IP-Adresse des Absender-Source-NAT-Routers (205.0.0.2), dessen Absender-Port 49152 und natürlich Nutzdaten.

Abschluss

  • Nach erfolgreicher Verarbeitung durch den Server wird die Antwort 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 49152 sowie die MAC- und IP-Adresse des Servers (170.0.0.1) und dessen Absenderport , sowie Antwort-Daten (Payload).
  • 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 49152 sowie die MAC des Source-NAT-Routers und IP-Adresse des Servers (170.0.0.1) und dessen Absenderport, sowie Antwort-Daten.
  • Wird diese Sitzung beendet, wird auch Port 49152 wieder freigegeben.

Destination NAT (DNAT)

  • 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 :
  • Im Full Cone NAT-Szenario setzt ein Gateway interne Adressen und Ports nach einem statischen Muster in eine externe Adresse und deren Ports um.
  • Externe Hosts bauen über die externen Adressen des NAT-Gateways Verbindungen zu internen Hosts auf.
  • Full Cone NAT ist auch unter der Bezeichnung EnS port forwarding bekannt.
  • Im Restricted Cone NAT-Szenario erlaubt das Gateway die Kontaktaufnahme eines externen mit einem internen Host.
  • Dem Verbindungsversuch muss eine Kontaktaufnahme des internen Hosts mit dem externen Host vorausgehen.
  • Es wird dabei der gleiche Zielport verwendet.
  • Im Port Restricted Cone NAT-Szenario erlaubt das Gateway die Kontaktaufnahme eines externen mit einem internen Host.
  • Dem Verbindungsversuch muss eine Kontaktaufnahme des internen Hosts mit dem externen Host vorausgehen.
  • Es wird dabei der gleiche Zielport und der gleiche Quellport verwendet.
  • Im Symmetric-NAT-Szenario wird jede einzelne Verbindung mit einem unterschiedlichen Quellport ausgeführt.
  • Die Beschränkungen sind wie bei Restricted Cone NAT-Szenario.
  • Jeder Verbindung wird ein eigener Quellport zugewiesen.
  • Eine Initiierung von Verbindungen durch externe Hosts nach Intern ist nicht möglich.
  • Diese prototypischen Grundszenarien bilden in modernen NAT-Systemen allerdings oft nur Anhaltspunkte zur Klassifizierung punktuellen Verhaltens der Gateways.
  • Diese benutzen teilweise Mischformen der klassischen Ansätze zur Adressumsetzung.
  • Oder sie wechseln dynamisch zwischen zwei oder mehreren Verhaltensmustern.
  • RFC 3489 ist durch RFC 5389 ersetzt worden, der diese Kategorisierung nicht mehr versucht.

Vorteile

  • NAT hilft die Verknappung der IPv4 Adressen zu entschleunigen.
  • Dies geschieht durch die Ersetzung mehrerer Adressen für mehrere Endsysteme durch eine einzige IP-Adresse.
  • IP-Adressen eines Netzes können vor einem anderen Netz verborgen werden.
  • Somit kann NAT zur Verbesserung der Privatsphäre eingesetzt werden.
  • Dieselben IP-Adressbereiche können von mehreren abgeschlossenen privaten Netzwerken verwendet werden.
  • Es kommt zu keinen Adresskollisionen, da nach außen nur die IP-Adresse des NAT-Routers sichtbar ist.

Nachteile

  • Ein Problem an NAT ist, dass die saubere Zuordnung „1 Host mit eindeutiger IP-Adresse“ nicht eingehalten wird.
  • Durch das Umschreiben von Protoko
  • Ein Problem an NAT ist, dass die sall-Headern, was einem Man-in-the-middle-Angriff (MITM-Angriff[4]) ähnelt, haben insbesondere ältere Protokolle und Verschlüsselungsverfahren auf Netzwerk- und Transportebene durch diesen Designbruch Probleme.
  • Ebenso leiden insbesondere Netzwerkdienste, die Out-of-Band-Signalisierung (Telekommunikationssignalisierung) und Rückkanäle einsetzen, etwa IP-Telefonie-Protokolle, unter Komplikationen durch NAT-Gateways.
  • Das Ende-zu-Ende Prinzip (Direktverbindung) wird verletzt, indem der NAT-Router das IP-Paket bzw. TCP-Segment verändert, ohne dass er selbst der verschickende Host ist.

NAT-Traversal

  • IPsec mit NAT-Traversal, oft nur als NAT-Traversal oder NAT-T bezeichnet, ist ein Verfahren zum Beheben von Problemen mit IPsec und Network Address Translation (NAT)[5].
  • NAT-T findet Gebrauch bei IPsec-VPN, wenn IPsec (Encapsulating Security Payload) ESP-Pakete an Internet-Anschlüssen mit NATend Routern nutzt.
  • Dabei werden die ESP-Pakete in UDP/4500 Pakete gepackt.
  • Network Address Translation bricht das Gebot der Ende-zu-Ende-Konnektivität.

Techniken

  • Anwendungen, die sich typischerweise von Host zu Host verbinden (z. B. bei Peer-to-Peer- und IP-Telefonie-Anwendungen oder VPN-Verbindungen) benötigen NAT-Durchdringungstechniken.
  • Es gibt keine universell anwendbarenTechniken
  • 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.
  • Die meisten Methoden umgehen damit oft Unternehmens-Sicherheitsrichtlinien.
  • Deswegen werden in Unternehmensnetzwerken Techniken bevorzugt, die sich ausdrücklich kooperativ mit NAT und Firewalls verhalten.
  • Sie müssen administrative Eingriffe an der NAT-Übergabestelle erlauben.

Protokolle

  • SOCKS, das älteste Protokoll zur NAT-Durchdringung, ist weit verbreitet, findet aber wenig Anwendung.
  • Bei SOCKS baut der Client eine Verbindung zum SOCKS-Gateway auf (dieser ist meistens direkt mit dem Internet verbunden).
  • Die Kommunikation wirkt für den Kommunikationspartner so, als würde sie direkt vom SOCKS-Gateway stammen.
  • Bei Heimanwendungen wird Universal Plug and Play (UPnP) genutzt, was eine dynamische Konfiguration eines port-forwardings durch den Client selbst ermöglicht.
  • Einige Router unterstützen auch ESP-pass-through[6].
  • Dabei werden die ESP-Pakete direkt an das VPN-Gateway durchgereicht und auf NAT-T wird verzichtet.
  • Ein weiteres Beispiel für ein NAT-Traversal-Protokoll ist STUN[7], das eine hohe Bedeutung bei VoIP hat.

Links

Intern

Weblinks