iptables e doar frontend la netfilter api din kernel deci kernelul ar trebui sa verifice daca exista sau nu si sa returneze eroare pe care iptablesul sa o interpreteze si sa-ti arate mesajul... sau daca nu un mesaj explicit macar un iptables: Invalid argument :) daca ar trebui sa verifice iptablesul ar insemna ca la fiecare -A/-I sa faca si -L pe care sa-l parsuiasca & stuff ceea ce nu ar fi prea frumos :) si un script bash care sa iptables -L ar fi mult prea complicat...
On Tue, 2004-02-24 at 16:08, Claudiu Cismaru wrote: > > Inca o data: > > - aceasta verificare consuma timp, timp care creste exponential > > cu dimensiunea chain-ului. > > Nu neaparat. iptables probabil foloseste hash :) > > Si sincer, sunt situatii cand folosesti un sistem automat care introduce > o regula si apoi o scoate din chain. Daca din intamplare adaugi fara > verificare aditionala o regula (si se adauga :( ) si apoi se mai adauga > una la aceeasi conditie si vrei sa scoti regula, ti-o va scoate numai > pe ultima, mai ramane una, ceea ce va implica functionarea eronata a > sistemului proiectat. > > Ca sa se poata preveni, ar trebui sa faci ceva de genul: > > STRVAR=$(iptables -nvL | grep DROP/ACCEPT/CACA | grep IP | grep ethX | > grep alte conditii (e doar un exemplu, nu-mi sariti in cap ca se poate > optimiza:))) > > if [ -x "$STRVAL" ]; then > iptables -A blah blah > fi > > pentru a verifica daca mai am regula respectiva inainte de a adauga, > ceea ce consuma ceva timp, in special la un chain de mii de reguli, mai > mult timp decat ar consuma o verificare cu hash. Bineinteles ca > verificarea in cazul asta s-ar face in userspace... > > Correct me if I'm wrong... -- Attached file included as plaintext by Ecartis -- -- File: signature.asc -- Desc: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQBAO1zCzEN+vLL1CukRAnqdAJ9akT6y4LaJl+5BWogRY1mksebEcgCgvDpb 6oi39SPy8YhNX1zuEe2MLTQ= =P+gR -----END PGP SIGNATURE----- --- Detalii despre listele noastre de mail: http://www.lug.ro/
