Portál AbcLinuxu, 31. října 2025 20:11
Zdravim,
mám Alix desku s OpenWRT a v jedné síti se mi stává podivnost, kdy mi chodí UDP pakety, ale nefunguje TCP spojení. Přesněji, funguje mi posílání UDP packetů po lokální síti i ven (za router). Například funguje ping. TCP spojení se mi daří navazovat z Alixu na lokální stroje, ale nikoli ven. Z jiných strojů mi spojení ven funguje a když desku přenesu do jiné sítě, tak odchozí spojení také fungují.
Pokusy o spojení končí na timeoutu při volání connect(2).
Co me napada je skusit, ale nevim jestli to bude k necemu dobre..
traceroute -T
NN
Nefunguje u TCP široké slovo. Úvodní SYN packet vůbec nedorazí na druhou stranu? Spojení se neustanoví? Ztrácí se (dlouhé) packety, čímž spojení efektivně zamrzá?
Osobně to vidím na velké packety a MTU Popingejte si velkými packety.
zkusit tcpdump jestli dorazi alespon neco z handshake-ku, pripadne zkusit si hrat s MTU nebo mss apod parametry.
tcpdump  -vvv -f -x -X port 80 na straně odesílatele hlásí asi pokusy o spojení, když se člověk pokusí použít telnet.
Ve výpisu se to opakuje vícekrát, ale jednou myslím stačí.
10:22:41.381746 IP 
          (tos 0x0, ttl 64, id 14621, offset 0, flags [DF], proto TCP (6), length 52)
          196.164.32.77.44170 > 213.151.89.4.80: SWE, cksum 0x20d5 (correct),
          1809451629:1809451629(0) win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 4>
	0x0000:  4500 0034 391e 4000 4006 ee18 c4a4 204d  E..49.@.@......M
	0x0010:  d597 5904 ac8a 0050 6bda 0a6d 0000 0000  ..Y....Pk..m....
	0x0020:  80c2 16d0 20d5 0000 0204 05b4 0101 0402  ................
	0x0030:  0103 0304   
Bohužel, tcpdump na druhé straně nic nechytne.
Tak to máte někde (možná po cestě) nějaký filtr nebo rozbitý router, který to zahazuje. Vyrábět a posílat testovací packety můžete nástrojem hping.
Opingování s větší velikostí funguje. Dokonce funguje na některé cíle i
ping -s 20000 <cíl>
Volání connect z Céčkového programu končí chybou ETIMEDOUT.
mno jo, ale ping je ICMP coz neni to stejne jako TCP?!?
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.