Conntrack: Porovnání verzí

Z Wiki UnArt Slavičín
Skočit na navigaciSkočit na vyhledávání
(Nová stránka: Včera se mi konečně podařilo vyřešit problém s velikostí tabulky spojení na centrálním routeru - bod 1 z postupu uvedeném v mailu níže nefungoval, /etc/modutils/aliases...)
 
Bez shrnutí editace
Řádek 36: Řádek 36:
   
   


  1. Do souboru /etc/modutils/aliases přidal řádek:
Do souboru /etc/modutils/aliases přidal řádek:


       options ip_conntrack hashsize=524288
       options ip_conntrack hashsize=524288


      a spustil příkaz
a spustil příkaz


       update-modules
       update-modules


      který zapíše tennto option do /etc/modules.conf
který zapíše tennto option do /etc/modules.conf


      Toto nastaví velikost hash tabulky na 524tis. položek (defaultně je tam pouze 4096 položek - viz příkaz:
Toto nastaví velikost hash tabulky na 524tis. položek (defaultně je tam pouze 4096 položek - viz příkaz:


       sysctl net.ipv4.netfilter.ip_conntrack_buckets
       sysctl net.ipv4.netfilter.ip_conntrack_buckets


      Přičemž 1 položka zabere 8 bajtů, tj. modul ip_conntrack s novým nastavením ukousne 8*524288= 4MB paměti.
Přičemž 1 položka zabere 8 bajtů, tj. modul ip_conntrack s novým nastavením ukousne 8*524288= 4MB paměti.
  2. Do souboru /etc/sysctl.conf jsem přidal řádek:
 
2. Do souboru /etc/sysctl.conf jsem přidal řádek:


       net.ipv4.netfilter.ip_conntrack_max=524288
       net.ipv4.netfilter.ip_conntrack_max=524288


      což omezí celkový počet spojení na 524tis.
což omezí celkový počet spojení na 524tis.
      1 spojení zabere 300 bajtů, tj pokud by se tabulka zaplnila, spotřebuje 150MB paměti.
1 spojení zabere 300 bajtů, tj pokud by se tabulka zaplnila, spotřebuje 150MB paměti.


Bohužel, velikost hashtabulky se nastavuje pouze při rebootu (nebo při odstranění a znovunahrátí ip_conntrack modulu), na což si zrovna teď netroufám. Rebootl bych to až v noci, aby Jára mohl případně na Doubravu zajet sjednat nápravu.
Bohužel, velikost hashtabulky se nastavuje pouze při rebootu (nebo při odstranění a znovunahrátí ip_conntrack modulu), na což si zrovna teď netroufám. Rebootl bych to až v noci, aby Jára mohl případně na Doubravu zajet sjednat nápravu.
   
   
Tom
Tom

Verze z 10. 11. 2007, 06:15

Včera se mi konečně podařilo vyřešit problém s velikostí tabulky spojení na centrálním routeru - bod 1 z postupu uvedeném v mailu níže nefungoval, /etc/modutils/aliases nebyl tam správný soubor.

Správný soubor v debianu s kernelem 2.6.x a module-init-tools je tento: /etc/modprobe.d/aliases kde na 1. řádku stačilo přidat: options ip_conntrack hashsize=524288

Pozor, v kernelu 2.6.21 je změna, ip_conntrack se jmenuje nf_conntrack, takže: options nf_conntrack hashsize=524288


Pokud budete potřebovat pro jakýkoli modul ve vašich linuxech předávat nějaké parametry, tak tohle je to správné místo. Po upravě souboru je potřeba ještě spustit

depmod -a

a pak už při modprobe daného modulu bude použit parametr uvedený za options. V případě modulu ip_conntrack na centrálním routeru je ovšem potřeba provést restart.

Nyní by měla tabulka spojení vyhledávat bleskově..

Tom

Přes to, že je nastaveno syn_cookies, filtrujeme viry a já nevím co, došlo dnes opět k přeplnění tabulky na Doubravě.

Pohledal jsem na webu a našel pár tipů, jak zvětšit omezení 32760 spojení, které Linux vypočítává z velikosti RAM paměti (na Doubravě je 512M):

http://www.wallfire.org/misc/netfilter_conntrack_perf.txt - Excelentní materiál o tom, jak souvisí max. počet spojení s velikostí hash tabulky, ve které jsou spojení uloženy, kolik to celé zabírá paměti, a jak to nastavit, abychom dostali velký počet položek hash tabulky, velký počet možných spojení a max. výkon.

český návod, jak nastavit hashsize: http://usenet.jyxo.cz/cz.comp.linux/0406/ip-conntract.html

http://www.abclinuxu.cz/blog/show/147124?varianta=print - zajímavý článek, ve kterém kdosi píše, že 30 uživatelů torrent klienta Azureus dokáže kompletně zaplnit tabulku spojení.... Mimochodem, kdosi tam radí, vypnout na neNATovacích routerech connection tracking, což se v našem případě neosvědčilo.


Na základě informací výše sem udělal toto:


Do souboru /etc/modutils/aliases přidal řádek:

     options ip_conntrack hashsize=524288

a spustil příkaz

     update-modules

který zapíše tennto option do /etc/modules.conf

Toto nastaví velikost hash tabulky na 524tis. položek (defaultně je tam pouze 4096 položek - viz příkaz:

     sysctl net.ipv4.netfilter.ip_conntrack_buckets

Přičemž 1 položka zabere 8 bajtů, tj. modul ip_conntrack s novým nastavením ukousne 8*524288= 4MB paměti.

2. Do souboru /etc/sysctl.conf jsem přidal řádek:

     net.ipv4.netfilter.ip_conntrack_max=524288

což omezí celkový počet spojení na 524tis. 1 spojení zabere 300 bajtů, tj pokud by se tabulka zaplnila, spotřebuje 150MB paměti.

Bohužel, velikost hashtabulky se nastavuje pouze při rebootu (nebo při odstranění a znovunahrátí ip_conntrack modulu), na což si zrovna teď netroufám. Rebootl bych to až v noci, aby Jára mohl případně na Doubravu zajet sjednat nápravu.

Tom