7.0-RELEASE - problem s pripojenim TCP/IP

Miroslav Lachman 000.fbsd at quip.cz
Wed Mar 26 17:46:32 CET 2008


Problem je celkem dobre v anglictine popsan na 
http://www.nabble.com/RELENG-7-tcp-connectivity-problems-with-certain-clients-td15908687.html

Abych to popsal vlastnimi slovy - tak nekteri klienti se nemohou 
pripojit na servery, kde bezi FreeBSD 7. Tim myslim, ze se jim napriklad 
v prohlizeci nezobrazi zadna webova stranka a po 20 sekundach to zkratka 
vytimeoutuje.

Zkousel jsem se na to divat tcpdumpem, ve kterem me hned na zacatku 
zaujal bad cksum v odpovedi serveru (jimi je server, r5u29 je klient):

16:15:23.625676 IP (tos 0x0, ttl 124, id 30690, offset 0, flags [DF], 
proto TCP (6), length 48) r5u29.XXXXX.cz.3924 > jimi.YYYYY.cz.http: S, 
cksum 0xc8cd (correct), 429007091:429007091(0) win 65535 <mss 
1452,nop,nop,sackOK>
16:15:23.625726 IP (tos 0x0, ttl 64, id 59710, offset 0, flags [none], 
proto TCP (6), length 48, bad cksum 0 (->2159)!) jimi.YYYYY.cz.http > 
r5u29.XXXXX.cz.3924: S, cksum 0x0edd (correct), 2441750869:2441750869(0) 
ack 429007092 win 65535 <mss 1452,sackOK,eol>

To jsem pozdeji teda zjistil, ze je "normalni", pokud checksum 
dopocitava az sitova karta.

Jak je popsano na webu, problem (docasne) resi nastaveni sysctl:
sysctl net.inet.tcp.tso=0
sysctl net.inet.tcp.sack.enable=0
[coz uz moc presne nevim, co to vlastne je, ale funguje to :)]

Takze to jen tak, kdyby stejny problem zpozoroval i nekdo jiny a hledal 
k nemu reseni.  Otazkou pak je, jestli se nekdy v dohledne dobe vyskytne 
fungujici oprava bez nutnosti vypinani uvedenych sysctl.

Pak mam jeste druhy problem a tam uz reseni ani jadro pudla neznam - tim 
problemem je traceroute, ktery mi i na hodne vzdalene servery vrati, ze 
cil je na prvnim hopu:

root at jimi ~/# traceroute 66.249.93.99
traceroute to 66.249.93.99 (66.249.93.99), 64 hops max, 52 byte packets
  1  ug-in-f99.google.com (66.249.93.99)  34.513 ms  37.970 ms  40.417 ms

ve verbose rezimu to vypada takhle

root at jimi ~/# traceroute -vv 66.249.93.99
traceroute to 66.249.93.99 (66.249.93.99), 64 hops max, 52 byte packets
  1 [ 52 bytes
          4500 3400 aa8a 0000 0111 0000 5b67 a27b
          42f9 5d63 aa89 829b 0020 344a 0000 0000
          0000 0000 0000 0000 0000 0000 0000 0000
          0000 0000]
  ug-in-f99.google.com (66.249.93.99) 36 bytes to 91.103.162.123  35.244 
ms[ 52 bytes
          4500 3400 aa8b 0000 0111 0000 5b67 a27b
          42f9 5d63 aa89 829c 0020 3449 0000 0000
          0000 0000 0000 0000 0000 0000 0000 0000
          0000 0000]
   40.438 ms[ 52 bytes
          4500 3400 aa8c 0000 0111 0000 5b67 a27b
          42f9 5d63 aa89 829d 0020 3448 0000 0000
          0000 0000 0000 0000 0000 0000 0000 0000
          0000 0000]
   53.289 ms

Podle prodlevy v odpovedi bych usuzoval, ze odpoved skutecne prisla od 
google, ale nevim, proc se mi nezobrazi zadne hopy, ktere mezi mnou a 
googlem museji byt (a ja jsem si jisty, ze nemam server, ktery je v 
praze v GTS) hned vedle serveru google.com ;) - navic se to tak chova i 
pro jakekoliv jine adresy.

Dokazal by mi nekdo poradit, po cem patrat / jake nastaveni na tohle 
muze mit vliv?

Jeste pripojuji vypis route:
root at jimi ~/# route get 66.249.93.99
    route to: ug-in-f99.google.com
destination: default
        mask: default
     gateway: 91.103.XXX.1
   interface: bge1
       flags: <UP,GATEWAY,DONE,STATIC>
  recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu 
   expire
        0         0         0         0         0         0      1500 
       0

Mirek



More information about the Users-l mailing list