ifpw check-state a mnoho tcp wait

michal_sjx michal_sjx at seznam.cz
Fri May 30 10:27:22 CEST 2008


Pekny patek,

takze ani toto (predchozi mail) nepomohlo. Pri dalsim zkoumani vyslo na
jevo, ze za to muzou pravidla tohoto typu:

00300 allow tcp from any to me in via em0 dst-port 80 setup limit
src-addr 10
+
net.inet.ip.fw.dyn_keepalive: 1

V dynamickych pravidlech se pak udrzuje tato hodnota:
00300    305   112949 (116s) LIMIT tcp <IP-clienta> 51984 <->
<IP-serveru> 80

A to treba 10x (viz pravidlo).

Jakmile se pocet vterin v zavorce (116s) snizi na 16-15, tak system/ipfw
odesle:
10:15:19.431530 IP <IP-serveru>.80 > <IP-clienta>.51984: . ack
2800999190 win 8212
10:15:19.431535 IP <IP-serveru>.80 > <IP-clienta>.51984: . ack 1 win 0

A to bez ohledu na to, jestli Apache bezi nebo ne. Vzdalena strana na to
neodpovida (neni videt nic v tcpdump).

netstat ma toto "spojeni" ve stavu FIN_WAIT_2


Pokud by vas nekoho neco napadlo co delam spatne, prosim o radu.

Pouzivam: src/sys/netinet/ip_fw2.c,v 1.175.2.5 2008/03/18 23:32:45 piso
Exp
ale to na to asi nema vliv, protoze stejny problem jsem mel na FreeBSD
5.4

Dekuji
michal

michal_sjx píše v Čt 29. 05. 2008 v 09:55 +0200:
> Zdravim,
> 
> tak po roce se vracim k tomuto problemu. Od te doby je zmena FreeBSD z
> 5.4 na 7.0. Zkusil jsem zapnout keepalive v ipfw. Duvod byl ten, ze
> napriklad imap obcas ztratil spojeni.
> 
> Po zapnuti keepalive ve ipfw se situace vratila do stavu kdy pomer
> EST:WAIT je desive snizoval. Zaroven se i zvedala hodnota dynamickych
> pravidel v ipfw. Bylo jich tam priblizne $pocet_EST+$pocet_WAIT, coz
> zacalo sahat na prednastaveny strop 4096.
> 
> Takze jsem zkusil neco jineho. Keepalive v ipfw nechat zaple a zvednout
> toleranci cekani na FIN z 1sec na 2sec. Zatim to vypada mnohem lepe.
> 
> #sysctl net.inet.ip.fw
> net.inet.ip.fw.dyn_keepalive: 1
> net.inet.ip.fw.dyn_short_lifetime: 5
> net.inet.ip.fw.dyn_udp_lifetime: 10
> net.inet.ip.fw.dyn_rst_lifetime: 1
> net.inet.ip.fw.dyn_fin_lifetime: 2
> net.inet.ip.fw.dyn_syn_lifetime: 20
> net.inet.ip.fw.dyn_ack_lifetime: 300
> net.inet.ip.fw.static_count: 34
> net.inet.ip.fw.dyn_max: 4096
> net.inet.ip.fw.dyn_count: 121
> net.inet.ip.fw.curr_dyn_buckets: 256
> net.inet.ip.fw.dyn_buckets: 256
> net.inet.ip.fw.verbose_limit: 0
> net.inet.ip.fw.verbose: 1
> net.inet.ip.fw.debug: 1
> net.inet.ip.fw.one_pass: 1
> net.inet.ip.fw.autoinc_step: 100
> net.inet.ip.fw.enable: 1
> 
> 
> Michal
> 
> michal_sjx píše v St 25. 07. 2007 v 08:02 +0200:
> > michal_sjx wrote:
> > > 
> > > Nastavil jsem pak i sysctl net.inet.ip.fw.dyn_keepalive=0 a uvidim
> > > jestli to na to bude mit vliv.
> > 
> > Takze toto pomohlo, vse funguje jak ma a uz tam nemam stovky fin_wait_2
> > 
> > -- 
> >  Hi! I'm a .signature virus! Copy me into your ~/.signature to help me
> > spread!
> 




More information about the Users-l mailing list