Lemat, strona domowa

Ograniczanie ilości połączeń

W sieciach osiedlowych userzy mają p2p. Generuje to baaaardzo dużo połączeń. Można to podejrzeć:

grep -v udp /proc/net/ip_conntrack|cut -c 12-|cut -d" " -f 2,3,4,5,6|sort -k 2,5

Jeżeli połączenie zostanie nieprawidłowo zerwane to moduł conntrack domyślnie trzyma wpis 5 dni - powoduje to niepotrzebny przyrost wpisów w tym pliku i znaczne zamulenie rutera.

Dlatego też warto przekompilować jądro wprowadzając małą poprawkę do pliku (źródło kernela)

./net/ipv4/netfilter/ip_conntrack_proto_tcp.c

należy zainteresować się parametrami

ip_ct_tcp_timeout_close_wait
ip_ct_tcp_timeout_established

oraz podobnymi - po prostu zmniejszyć ich wartości. O ile? Ja mam na przykład

unsigned long ip_ct_tcp_timeout_syn_sent =      2 MINS;
unsigned long ip_ct_tcp_timeout_syn_recv =     60 SECS;
unsigned long ip_ct_tcp_timeout_established =   2 HOURS;
unsigned long ip_ct_tcp_timeout_fin_wait =      2 MINS;
unsigned long ip_ct_tcp_timeout_close_wait =   60 SECS;
unsigned long ip_ct_tcp_timeout_last_ack =     30 SECS;
unsigned long ip_ct_tcp_timeout_time_wait =     2 MINS;
unsigned long ip_ct_tcp_timeout_close =        10 SECS;

oczywiście to, że ja tak mam nie oznacza, że Ty musisz też tak mieć - poeksperymentuj.

Zainteresuj się też modułem connlimit (dawniej iplimit)
dla iptablesów - ogranicz po prostu liczbę połączeń do wysokich portów do powiedzmy 20, to co powyżej - REJECT lub DROP (też organoleptycznie), ja mam akurat DROP, bo REJECT powiadamia aplikację p2p o tym, że połączenia nie da się uzyskać a ona natychmiast generuje następne połączenie. Jak jest DROP to musi poczekać na timeout. 

${IPTABLES} -A FORWARD -p tcp -s ${net} -o ${pub} --dport 1024:65535 -m connlimit --connlimit-above 20 -j DROP

Zablokuj też w forwardzie połączenia z portami 135-139,445 (tcp,udp) te ipki, które wykazują taką aktywność odłączaj - mają wirusa.

Data utworzenia : 2004-10-31
Skomentuj ten tekst
2007-01-24 10:47:29matijen
Brak eth0 dziwne
Zapodaje linijkę iptables -A FORWARD -p tcp -s eth0 -o eth1 --dport 1024:65535 -m iplimit --iplimit-above 20 -j DROP i kupa :( dostaje odpowiedź iptables v1.2.7a: host/network `eth0' not found Try `iptables -h' or 'iptables --help' for more information. A przecież necik chodzi i karty też ... co jest ???
Odp.: nic dziwnego, po -s daje się zakres sieci a nie interfejs
2006-05-31 17:00:12spider
ten
po uzyciu opcji connlimit pojawia mi sie : no chain/ target/ match by that name
Odp.: pewnie nie masz w ogóle tego modułu lub masz stare jądro i nazywa się on iplimit
2006-05-12 16:43:59edi
Ograniczanie ilości połączeń
Witam, nawstępie chciałem pogratulować stronki włąścicielowi, osobiście dużo z niej wyniosłem... Pytanie jednak brzmi następująca: czy po wprowadzeniu powyzszych regulek dotyczacych systcla... zostana one zpaisane na zawsze w pamieci "servera" czy tez trzeba je gdzies dopisac aby po uruchomienu.... /pozdrawiam wszystkich
Odp.: zapisać gdzieś w /etc/rc.d/
2005-07-20 21:55:03KaMilione
a co z limitem połączeń na UDP ?
Od kiedy zrobiłem limit połączeń dla natrętnych klientów na TCP do 50 , to oczywiście połączenia tcp spadły, ale teraz w conntracku od 1 klienta mam nawet ponad 1000 połączeń UDP. Moduł connlimit nie działa na udp , czy ktoś wie co by pomogło na UDP ? Tylko nie interesuje mnie całkowite wycinanie P2P !
Odp.: zwykły -m limit ? a może jakieś cbq,htb,shaper czy co tam teraz jest na topie? są też skrypty B@roo
2005-06-15 11:32:43darth
ip_ct_tcp_timeout_established
ten parametr mozna latwo zmienic komenda sysctl sysctl net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 7200
Odp.: ale tylko w najnowszych kernelach, chyba od 2.4.24 w górę no i w 2.6 - to jest do sprawdzenia
wszystkie opinie »
[Nospam-PL.NET]
UWAGA lisy roznoszą wściekliznę!
Protected by spf
© Lemat 2004 - ∞ engine:Lemat
info@seminar.pl.ua przedstawicielstwo@tiscali.it