[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: NAT ?



Am 13.11.2013 08:05, schrieb tbgn:
Seit wann können Rechner Annahmen treffen?

UDP geht nicht durch NAT ohne Annahmen zu treffen. Das nennt man dann Heuristik. Welche Tatsache soll denn für eine eindeutige Zuordnung von UDP-Paketen an Rechenr hinter einem NAT-Gateway greifen?

Ein Server beantwortet ganz einfach Anfragen an die anfordernde IP zu dem gewünschten Port. Ob das geNATet ist oder ein Rechner fix die Antwort so erhalten will, kann der Server schlicht nicht unterscheiden und ist auch irrelevant. Der Ablauf an sich ist doch recht trivial: Ich sende via Port 80 einen Site-Aufruf z.B. Google an meinen Gateway (Router) da die Adresse nicht zu meinem Netz gehört. Der Router ruft via DNS nun IP 8.8.8.8 und verlangt die Rückantwort auf seine externe IP und einer dynamisch erzeugte Port-Nummer, die den Aufrufende im inneren Netz für diese eine Anfrage identifiziert(nur einmal gültig).

Das funktioniert doch schon mal nur wenn dein NAT-gateway auch ein DNS-Relay ist. Mach die DNS-Abfrage doch mal von dem Rechner hinter dem NAT direkt gegen den nächsten DNS-Server. Die von die benannte "dynamische Port-Nummer" ist dein Problem. Von der weiss der DNS-Server nix und das NAT-Device auch nicht.

Erfolgt die Antwort an dieses Port, ersetzt er nun die IP mit der Zieladresse des Clients im inneren Netz.


Viel Spass bei z.B. aktivem FTP, ESP etc und allem was über UDP läuft...
Was macht dein NAT-Gateway denn wenn er zwei UDP-Pakete an einen Port bekommt? Beide verwerfen? Beide durchlassen oder nur eines. Wenn nur eines, welches?


Wer seinen Browser restriktive konfiguriert hat wird manchmal die Meldung erhalten, dass die Antwort nicht von der selben IP stammt, welche aufgerufen wurde. Das zeigt, dass der Router die Antwort auch dann weiterleitet, wenn antwortende IP inkorrekt ist aber Port stimmt. Der Grund dieses Verhaltens liegt dabei Begründet in der Tatsache, dass sehr oft in RZ mehrere Server die Aufgaben unter sich aufgeteilt erledigen und/oder mehrere LAN auf einem Server arbeiten.
öhm, mag ja sein das ich grade vollkommen daneben liege, aber wieso sollte eine NAT-Engine bei TCP-Verbindungen soetwas machen? TCP-Pakete lassen sich doch wunderbar einer Verbindung zuordnen. Oder machst du HTTP über UDP?


- Man beachte: Das bedeutet nun aber auch, dass wer die Anfrage ins Netz abfängt, anstelle des gerufenen Servers antworten kann. (Dieses Verhalten kann in guten Routern unterbunden werden, aber das Browsen wird dadurch eingeschränkt - Sicherheit kontra Bequemlichkeit.)

Nein, genau das geht bei TCP-Verbindungen nicht. Diese "falschen" Pakete weisst der IP-Stack ab. Du müsstest schon die AbsenderIP fälschen.

Magnus

Attachment: smime.p7s
Description: S/MIME Kryptografische Unterschrift


Reply to: