Elveszett TCP kapcsolat

Fórumok

Hozzászólások

"...aztán ezek valahogy létrejönnek"
Mik?

"a helyzet előtt kiépült kapcsolatok tudnak forgalmazni"
Pontosan milyen helyzet, és miből látszik ennek a helyzetnek a léte?

"a kezdeményező gép azt hiszi, hogy él a kalcsolat, a server meg vár a sync_ack-ra."
Ez most hogy is van? A mellékelt netstat kimenetének melyik részéből következtettél erre? A kérdésedben a "sync_ack" a SYN-ACK lenne? A kliens akkor tudja élőnek a kapcsolatot, ha az általa küldött SYN-re visszajön a SYN-ACK, majd erre ő egy ACK-kal nyugtáz. A szerverhez pedig nem érhet soha SYN-ACK - és ezért nem is várhat rá -, mivel azt ő küldi a kliens részére.

A CLOSE_WAIT állapot jelenléte nem kapcsolatfelvételi problémára utal, tekintve, hogy ez már egy szinkronizált állapot. A nevéből is látszik, hogy ez a lezárás első fázisa a FIN-t kapó oldalon. Ilyenkor az őt nyitvatartó programra vár.

Tehát ha jól dekódoltam a "sync_ack"-ot, akkor látható, hogy a netstat kimenetében látható LISTEN, ESTABLISHED és CLOSE_WAIT állapotokhoz nincs köze.

Ha időszakos kapcsolódási problémák vannak, akkor nézz körül a tűzfalszabályok táján (ratelimit), a syslogban, a TCP/9445 (illetve a problémás) porton hallgató program logjában. Aztán utána jöhetnek a tcpdump és társai.

"valahogy eltüntek a pid-ek a kapcsolatok mögül."
Milyen módon hívod meg a netstatot?
man netstat:
  -p, --program
      Show the PID and name of the program to which each socket belongs.

Ha így sem látszik, akkor pedig kellene hogy milyen rendszer vagy disztribúció, és a netstat verziója.

A netstat parancs az jó, mivel egy két kapcsolat pid-je megjelenik (root-ként kiadva).
Nem a server vár a syn_ack-ra, hanem SYN_RECV állapotba marad a kapcsolat a serveren, a kliens meg connected.
Tűzfal nincs közte, de localhost-ból sem lehet kapcsolódni.
Az "állapot elött" amikor még lehetett, és jelenleg is kapcsolódva vannak, de már több kapcsolat nem jön létre.
A mellékelt netstat a server gépen van, és az a fura, hogy több kapcsolat ESTABLISHED-ben van, de nincs mögötte pid, és forgalmaz adatokat.