|
|
 |
|
|
 |
|
|
 |
|
|
 |
|
|
 |
5 Weitere Informationensquellen
|
|
|
|
 |
|
|
|
 |
| 1. NAT |
NAT (Network Address Translation) ist in Computernetzen ein Verfahren, um eine IP-Adresse in einem Datenpaket durch eine andere zu ersetzen. Häufig wird dies benutzt, um private IP-Adressen auf öffentliche IP-Adressen abzubilden. Werden auch die Port-Nummern umgeschrieben, spricht man dabei von Maskieren oder PAT (Port Address Translation).
NAT bezeichnet in diesem Dokument sowohl das Verfahren der Translation als auch das/die jeweilige Gerät/Software welche/s diese Abbildung vornimmt.
Der NAT-Standard wurde 1994 von der IETF als RFC veröffentlicht.
• Verwendung:
NAT wird aus verschiedenen Gründen verwendet. Hauptsächlich ist NAT notwendig, weil öffentliche IP-Adressen immer knapper werden, und man deshalb in einem internen (privaten) Netz private IP-Adressen einsetzt.
Damit man trotzdem mit dem Internet kommunizieren kann, müssen die internen, privaten Adressen am Gateway zum Internet (oder zu einem anderen öffentlichen Netz) in öffentliche Adressen übersetzt werden.
NAT selbst ist jedoch kein Sicherheitsfeature, weil die (interne) Netzstruktur zwar durch NAT nach außen nicht sichtbar ist, dies jedoch auch ohne NAT problemlos möglich ist (indem man beispielsweise am Firmengateway nur erlaubte Anfragen ins Firmennetz weiterleitet).
NAT als Sicherheitsfeature fällt damit unter Security through obscurity (deutsch: Sicherheit-durch-Unklarheit-Prinzip).
• Funktionsweise:
Der Vorgang der Translation kann wie folgt erklärt werden:
Üblicherweise wird NAT an einem Übergang zwischen zwei Netzen durchgeführt. Ein solches NAT-Gerät kann ein Router, eine Firewall oder ein anderes spezialisiertes Gerät sein. So kann zum Beispiel ein NAT-Gerät mit zwei Netzwerkkarten das lokale Netz mit dem Internet verbinden.
Man unterscheidet die Operation Source NAT, bei dem die Quell-IP-Adresse ersetzt wird, und Destination NAT, bei dem die Ziel-IP-Adresse ersetzt wird.
Eine allgemeine, grobe Aufteilung von Typen kann wie folgt geschehen:
Bei Basic NAT (auch als Static NAT bekannt) wird jede interne IP durch eine externe IP ersetzt. Man spricht deshalb hier von einer 1:1-Übersetzung.
Bei Hiding NAT (eigentlich PAT oder auch NAPT (Network Address Port Translation)) werden mehrere Quell-IP-Adressen in die gleiche externe Quell-IP-Adresse übersetzt. Bei diesem Masquerading werden auch die Ports umgeschrieben.
• Typen von NATs:
Die Auflistung ist nicht vollständig, weitere und gemischte Formen existieren.
Die Aussagen sind ausschließlich bezogen auf UDP.
Adresse bedeutet hier eine Kombination von IP und Port.
Bezogen auf die Einschränkungenbauen bauen die 4 Typen aufeinander auf. So gesehen haben sie untereinander Teilmengenbeziehungen (bzgl. der Restriktionen):
-
Full Cone NAT:
Die Mappingtabellen von Intern nach Extern sind fix: Alle Anfragen von einer internen Adresse(IP _und_ Port) wird zu einer bestimmten externen Adresse gemappt (umgeschrieben). Umgekehrt ebenso.
Das bedeutet aber nicht zwingend, dass IP und/oder Port intern und extern gleich sind.
Außerdem kann jeder externe Host ein Packet an den internen schicken indem er dieses an die nach extern gemappte Adresse schickt.
Das Mapping ist also nicht abhängig davon, welcher externe Host sendet.
-
Restricted Cone:
Grundsätzlich genau wie Full Cone: Das mappen der Adressen intern zu extern ist fix für sämtliche externe Hosts.
Im Unterschied zu Full Cone kann ein externer Host erst an einen internen senden, wenn der interne vorher an genau diesen externen ein Packet geschickt hat.
Anders formuliert: der internen Host muss das mapping extern->intern erst mit einen Packet zu dem Zielrechner freischalten.
Der Port wird hier nicht betrachtet.
-
Port Restricted Cone:
Wie Restricted Cone festes mapping, aber es schließt den Port mit ein.
-
Symmetric NAT:
Sämtliche Kommunikation von einer internen Adresse zu einem bestimmten Ziel wird auf ein bestimmtes Mapping gesetzt.
Fragt die selbe interne Adresse ein anderes Ziel an wird ein anderes Mapping verwendet.
Außderdem kann nur ein externen Host ein Packet senden wenn er vorher eines erhalten hat.
• Kritik:
Das größte Problem an NAT ist, dass die saubere Trennung der Netzwerkschichten nicht eingehalten wird. Netzwerkprotokolle der Ebene 4 funktionieren durch NAT-Router hindurch oft nur, wenn der NAT-Router diese Protokolle explizit unterstützt. Das erschwert die Entwicklung neuer Protokolle. Besonders betroffen sind hier beispielsweise (aktives) FTP und VoIP-Protokolle. Dies ist auch das stärkste Argument der zügigen Einführung von IPv6. Das Adressenreichtum von IPv6 würde NAT faktisch unnötig machen. Protokollkomplikationen durch NAT sind beschrieben in RFC 3027.
Hier versucht STUN für einen Teil der entstehenden Probleme Lösungen an zu bieten: Das Empfangen von UDP-Packeten durch einen CLient über NAT-Grenzen hinweg.
Um (Antwort-)Paketen aus dem Internet über einen NAT-Gateway die richtige (interne) Zieladresse eintragen zu können, muss auf dem Gateway eine Tabelle mit offenen Verbindungen vorgehalten werden. Dies nennt man connection tracking (Verbindungszuordnung). Es leuchtet ein, dass diese Tabelle und das Nachschlagen darin Resourcen verbraucht. Kostengünstige Router mit kleinen Tabellen haben häufig schon Probleme wenn nur ein einziger Rechner im internen Netz viele Verbindungen ins Internet öffnet oder unterhält (typischerweise bei P2P Systemen). Es werden dann Verbindungen 'vergessen' und am Router ankommende Antwortpakete können keiner internen Adresse zugeordnet werden. Dieser Flaschenhals wäre ohne NAT nicht gegeben.
|
|
, Dresden am 20.01.2006
|
|