Mrznuce FTP
Marian Cerny
jojo at matfyz.cz
Wed Mar 18 18:20:18 CET 2009
> Ale vratme sa k nastaveniu PFka. Ty hovoris, ze riesenim by mohlo byt
> nizenie tcp.closed na povadzme 20 sekund z povodnych 90.
>
> Ale podla dokumentacie:
>
> tcp.closed - The state after one endpoint sends an RST.
>
> Tam ale predsa nikto neposiela RST...
Ano, to bola moja chyba, ja mam nastavene aj tcp.closed aj tcp.finwait
na 20 sekund. Videl som v konfiguraku closed a nezamyslal som sa nad
tym, ze to nemusi byt tento.
> Podla mna to funguje takto. Server povie klientovi "vezmi si data na
> porte XY" a zacne na porte pocuvat. Klient sa pripoji. Prebehne TCP 3W
> handshake. Server v cykle zacne data posielat a klient ich prijimat.
> Ked server posle vsetko, zavola close() a urobi tzv. aktivny close tj.
> posle FIN. Cele sa to dostane do stavu FIN_WAIT_1. Klient posle ACK
> pripadne aj s FIN. Tj. spojenie sa moze zavriet v jednom alebo dvoch
> krokoch na konci ktorych je ale TIME_WAIT. Ten by mal trvat 2 krat
> MSL. MSL je pre FreeBSD defaultne 30 sekund (pozrel som to v sysctl).
>
> Cize 60 sekund by kernel nemal pridelit ten isty port lebo cokolvek co
> nan pride z toho isteho paru IP/port (soketu) by mohol byt napr. lost
> duplicate.
Ano, malo by to tak byt. Ale mne sa tie iste porty pouzivali. Bol to
problem klienta (u serveru bol port pevny). Stavalo sa mi to u MySQL a
HTTP. Myslim, ze problem je v tom, ze TIME_WAIT nie je na oboch
stranach, ale iba na strane, kto uzatvara spojenie. Ked spojenie
uzatvori server, tak na klientovi nie je TIME_WAIT a ten zdrojovy port
dokaze pouzit skor nez by mal. Otestoval som to teraz cez telnet.
> V kazdom pripade ma celkom serie, ze ked som teraz nastavil debug misc
> a pustil tail -f na messages tak vsetko chodi :)
No, mozno nie je problem v PF.
Marian
More information about the Users-l
mailing list