wer weiß mehr???

Locked
Message
Author
Hansi

wer weiß mehr???

#1 Post by Hansi »

Hallo!

Schon seit langem ärgere ich mich über die Probleme mit offengebliebenen Sockets, die bis zum TCP-Timeout andauernd wieder für ne Verbindung sorgen, weil der Socket geschlossen werden sollte. (hat die sonst denn niemand??? <img src="http://www.pro-linux.de/UltraBoard/Images/Wilk.gif" border="0" align="middle"> )
Zufällig bin ich heute hierauf gestoßen:
http://www.another.de/linux/router/
Unter 2.3 steht etwas von einem "RST provoking patch" der das Problem lösen soll. Leider ist der jedoch für Kernel 2.2.12. Bei Suse 6.0 sieht man noch, daß das in nem 2.0 Kernel Standard war, weil /proc/sys/net/ipv4/ip_dynaddr auf "7" gesetzt wird von den Skripten, was eben diesen Patch da aktivierte; im neuen Kernel wird bei allen Werten > 1 nur die Standardroutinen aktiviert für die dyn.IP.

Wer weiß mehr zu dem Thema???

Würde mich echt über jeden Tip freuen!
Mein Kernel ist 2.2.16.

Vielen Dank also schon im Voraus <img src="http://www.pro-linux.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Gruß,
Hansi

slartibartfas
Posts: 38
Joined: 02. Jun 2000 14:49

Re: wer weiß mehr???

#2 Post by slartibartfas »

Das Problem habe ich auch.
Ich werde mal auf der Seite nachschauen und sehen was ich machen kann.
Vielleicht kannst du ja mal deinen letzten Absatz noch mal lesen und so gestalten, daß man ihn versteht.

Hansi

Re: wer weiß mehr???

#3 Post by Hansi »

Hallo!

Klar kann ich mich besser ausdrücken <img src="http://www.pro-linux.de/UltraBoard/Images/Wilk.gif" border="0" align="middle"> War nur etwas unter Zeitdruck.

Also: der normale "dynIP"-Patch, den jeder Kernel enthält, sorgt beim AUFBAU einer Verbindung dafür, daß die lokale Absenderadresse durch die dynamische des ISP ersetzt wird. Wenn jetzt jedoch eine Verbindung (ein Socket) im Wartezustand bleibt, weil die Gegenstelle überlastet ist, und nun das HUP-Timeout kommt und die Verbindung trennt, dann beginnt das Problem. Der aktive TCP-Socket will geschlossen werden, hat als Startadresse aber die alte vdynamische IP, die bei der Neueinwahl gar nicht mehr stimmt. Insofern wird versucht, eine Verbindung zu schließen, die gar nicht erst geöffnet wurde <img src="http://www.pro-linux.de/UltraBoard/Images/Sad.gif" border="0" align="middle">
und das Ding wählt sich ca. 15 Minuten lang ein...

dieser RST-Patch soll nun beim WIEDERAUFBAU der Verbindung dafür sorgen, daß die Startadrese wieder neu gesetzt wird, auf die neue dyn.IP. Somit fliegt der Socket dann (hoffentlich) auch raus <img src="http://www.pro-linux.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Bei Suse 6.0 ist ja standardmäßig ein 2.0.36 Kernel dabei, der diesen Patch wohl serienmäßig hat.
Was nun interessant ist: bei SUSE war er immer aktiviert, sobald man die dyn.IP-Funktionen haben wollte, als dafür das /proc/sys/net/ipv4/ip_dynaddr auf "7" gesetzt wurde; genau dieser Wert aktiviert BEIDE Funktionen, den Adreßwechsel- und den RST-Patch!
Der neue Kernel unterscheidet nur noch "0" (keine Erweiterung für dyn. Addr.), 1 ("quiet mode"), und größer als 1 ("verbose mode").

Ich weiß, es ist etwas kompliziert, aber hoffentlich nun doch nachvollziehbarer als vorher <img src="http://www.pro-linux.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Außerdem auch vielen Dank für Deine Antwort! <img src="http://www.pro-linux.de/UltraBoard/Images/Happy.gif" border="0" align="middle">


Gruß,

Hansi

Locked