Optimalizace iptables pravidel
Peter Surda
surda na shurdix.com
Úterý Červen 27 00:24:23 CEST 2006
On Monday 26 June 2006 10:41, Petr Horacek wrote:
> Dobry den vsem,
ahojky,
> jelikoz se mi na firewallu zacinaji mnozit pravidla a parkrat se toto
> doporuceni mihlo i tady v konferenci, tak bych chtel udelat optimalizaci
> techto pravidel. Sice jich neni jeste pres 100, ale i tak.
mam s tym trocha skusenosti, tak skusim poradit.
> - ma vliv rozdeleni do uzivatelskych chainu?
Samo o sebe nie, skor sluzi na zvysenie prehladnosti. Existuju vsak situacie,
ked pouzitie vlastnych cejnov moze zlepsit aj vykon.
> - ma vliv poradi pravidel v chainech (uzivatelskych i standartnich - I,
> O, F) - tzn. ty, ktere predpokladam, ze budou platne nejcasteji,
> presunot na zacatek a naopak; priklad: nejdriv povolit 80 pro web a az
> potom malo vyuzivane 21 ftpko?
Z cisto statistickeho hladiska to vplyv ma, ale nie je to hlavny sposob.
> - ma vliv poradi parametru v pravidlu - nedriv rozhrani, pak protokol,
> pak treba port - vyhodnocuje se to postupne jako treba nektere
> programovaci jazyky nebo az cele?
Vplyv to nema, lebo on si to aj tak zoradi sam podla nejakeho fixneho kluca.
> - ma vliv pouziti rozsireni jako iprange, state?
Ma, a este je dobry mport a ipset.
> - co delat tam, kde se neda pouzit uzivatelsky chain (tabulky NAT,
> MANGLE)
da.
> a vic pravidel (markovani podle source IP pro pouziti CBQ)?
delenie v tc mozes robit priamo cez hashing (link som uz parkrat posielal). Ak
to z nejakeho dovodu nejde, a tych tried je vela (t.j. nema zmysel pouzit
ipset), mozes pouzit prave tu skor spominanu vynimku pre optimalizaciu
pouzitim uzivatelskych cejnov. Konkretne sprav strom, napriklad takto (format
iptables-restore):
*mangle
:marking
:c-192.168.0.0/28
:c-192.168.0.16/28
:c-192.168.0.32/28
:c-192.168.0.48/28
# atd
-A OUTPUT -o eth0 -s 192.168.0.0/24 -j marking
-A marking -s 192.168.0.0/28 -j c-192.168.0.0/28
-A marking -s 192.168.0.16/28 -j c-192.168.0.16/28
-A marking -s 192.168.0.32/28 -j c-192.168.0.32/28
-A marking -s 192.168.0.48/28 -j c-192.168.0.48/28
# atd
-A c-192.168.0.0/28 -s 192.168.0.0 -j MARK --set-mark 0x0
-A c-192.168.0.0/28 -s 192.168.0.1 -j MARK --set-mark 0x1
-A c-192.168.0.0/28 -s 192.168.0.2 -j MARK --set-mark 0x2
-A c-192.168.0.0/28 -s 192.168.0.3 -j MARK --set-mark 0x3
# atd
V tomto pripade zo statistickeho hladiska znizis priemerny pocet testov z 128
na 17 (a maximalny z 256 na 33).
> Nemate tip na nejaky clanek o takove optimalizaci, pripadne nejaky
> validator?
mozes skusit aj nf-hipac, ktory ma oproti iptables sice nejake obmedzenia, ale
optimalizaciu si robi sam "vo vnutri".
S pozdravom,
Peter
--
http://www.shurdix.org - Linux distribution for routers and firewalls
Další informace o konferenci Linux