Portál AbcLinuxu, 12. května 2025 11:29

Dotaz: UDP spojení funguje, ale TCP spojení nefunguj

10.9.2009 08:14 Bernard Lidicky
UDP spojení funguje, ale TCP spojení nefunguj
Přečteno: 333×
Odpovědět | Admin

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).

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.9.2009 09:01 NN
Rozbalit Rozbalit vše Re: UDP spojení funguje, ale TCP spojení nefunguj
Odpovědět | | Sbalit | Link | Blokovat | Admin

Co me napada je skusit, ale nevim jestli to bude k necemu dobre..

traceroute -T

NN

10.9.2009 11:19 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: UDP spojení funguje, ale TCP spojení nefunguj
Odpovědět | | Sbalit | Link | Blokovat | Admin

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.

10.9.2009 15:51 linuxnew
Rozbalit Rozbalit vše Re: UDP spojení funguje, ale TCP spojení nefunguj

zkusit tcpdump jestli dorazi alespon neco z handshake-ku, pripadne zkusit si hrat s MTU nebo mss apod parametry.

 

10.9.2009 19:35 Bernard Lidicky
Rozbalit Rozbalit vše Re: UDP spojení funguje, ale TCP spojení nefunguj

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.

12.9.2009 17:02 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: UDP spojení funguje, ale TCP spojení nefunguj

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.

10.9.2009 14:58 Atom321 | skóre: 20
Rozbalit Rozbalit vše Re: UDP spojení funguje, ale TCP spojení nefunguj
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkuste opingovat většími pakety:

ping -s 1472 <cíl>

Co přesně děláte a z čeho vyvozujete, že "Pokusy o spojení končí na timeoutu při volání connect(2)"?

10.9.2009 18:09 Bernard Lidicky
Rozbalit Rozbalit vše Re: UDP spojení funguje, ale TCP spojení nefunguj

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.

10.9.2009 21:19 zz9
Rozbalit Rozbalit vše Re: UDP spojení funguje, ale TCP spojení nefunguj

mno jo, ale ping je ICMP coz neni to stejne jako TCP?!?

12.9.2009 17:03 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: UDP spojení funguje, ale TCP spojení nefunguj
A co takhle zapnout but Don't Fragment. Taky projde? Ten TCP SYN ho měl a neprošel.
11.9.2009 11:23 nabob
Rozbalit Rozbalit vše Re: UDP spojení funguje, ale TCP spojení nefunguj
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neni to tohle:

http://lartc.org/howto/lartc.cookbook.mtu-mss.html ??

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.