Moin,
Du irrst. Ein NAT-Router (und davon reden wir die ganze Zeit) *muß* außer IP auch TCP und UDP können.
Es würde helfen, wenn du das Ding nicht mehr als Router bezeichnest, denn das ist es eigentlich nicht. Diese Verwirrung ist vermutlich nur entstanden, weil man das Masquerading-Ding als Default-Gateway beim Client einstellen muß, wie man es auch mit einem Router tun würde.
Nimm Dir eine gute Enführung zu TCP/IP zur Hand ... (Schande über mich - habs studiert und trotzdem keinen guten Link zur Hand).
TCP/IP studiert? ;-)
In http://groups.google.com/groups?selm=4f8q3b.ki1.ln%40ID-124865.user.dfncis.de hat's eine Reihe von Links. Da wird wohl was vernünftiges dabei sein.
Der Client macht die Verbindung nicht gezielt zum NAT-Router auf, aber dieser fühlt sich angesprochen
In den allermeisten Fällen (wenn das Masquerading-Gateway als Default-Gateway eingetragen ist) macht der Client das schon recht gezielt. Man kann das auch transparent machen, indem das Gateway einfach im promiscous mode lauscht und alles beantwortet was nicht in das lokale Netz gehen soll. Für den Client sieht das dann so aus, als wäre das gesamte Internet an dem einen Ethernetkabel angeschlossen. Das finde ich aber hässlich.
Der NAT-Router verwirft das Paket, weil Du den Schritt 2 des TWH vor dem Schritt 1 machen willst. Es ist für den Router wesentlich einfacher, Schrott gleich wegzuwerfen, als zu versuchen, diesen Job den Clients reinzudrücken.
Nicht notwendigerweise. Wie ich bereits schrieb ist NAT kein Sicherheitsfeature und viele Implemementierungen zielen nur darauf ab die Sache möglichst effizient hinzukriegen. Es ist durchaus wahrscheinlich, dass diese Implementierungen auch Pakete ohne bestehende TCP-Verbindung in das interne netz weiterleiten.
Bei HTTP/0.9 und HTTP/1.0 ist dann Schluß (Verbindungsabbau), bei HTTP/1.1 mit Keep-Alive wird die TCP-Verbindung für weitere Request-Response-Paare benutzt, bis Client oder Server keinen Bock mehr haben ("Connection: closed").
s/closed/close/
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~