Alex 'CAVE' Cernat wrote:
Multumesc amindorura, asa am facut acum. Timpul de incarcare al scriptului a scazut la cam 30 s. Nu stiam exact cum e cu user defined chains. M-am mai uitat pe howto, m-am uitat si de citeva ori si pe ce ati scris aici, si am reusit.Eu abia m-am apucat de studiat iptables. Aveti idei cum sa-l fac mai destept, sau mai performant?
for a in $IP_UNTRUSTEDti-ar prinde bine niste reguli de programare :-)
do
# alte chestii, porturi speciale, etc.
ROMANIA=`cat route_metropolitana`
for r in $ROMANIA
do
$IPTABLES -A FORWARD -i $LAN_IFACE -p tcp -s $a -d $r -j ACCEPT
echo adresa: $a .... metroul: $r
done
done
1. gandeste-te ca scriptul tau adauga m * n reguli de firewall ( produs
cartezian intre ip_untrusted si route_metropolitana; mult mai elegant ar
fi fost ceva de genul
creat chain untrust
for a in $IP_UNTRUSTED; do iptables -A FORWARD .... -s $a -j untrust;
done
for r in $ROMANIA; do iptables -A untrust .... bla bla ... ; done
2. cred ca un while read r; do .... done < route_metropolitana s-ar fi
miscat mai bine ( macar ca nu mai incarca toate var in memorie ); dar
trebuie 1 ip / clasa pe o linie in fisier
Asta cred e ceva minor fata de ce are de mestecat calculatorul.
3. incearca sa faci o grupare a claselor de ip-uri metropolitane, dacaAdica in loc sa fie liniara lista aia, sa fie arborescenta, si deci mai putine reguli la baza, nu?
se poate; iarasi revin la obsesia mea de firewall arborescent atunci
cand prea multe route
un exemplu:
141.85.0.0/16 - 141.85.10.0/24 - 141.85.10.1/32 -> accept
\ 141.85.20.0/24 -> accept
\ 141.85.30.0/24 -... bla bla bla
193.226.0.0/16 - 193.226.51.0/24 -> accept
\ 193.226.80.0/24 -> accept
adica cumva sa incluzi clasele in clase mai mari
partea buna e ca numarul de reguli testate va creste logaritmic si nu
liniar
partea rea e ca apar multe reguli de firewall in plus care mananca
memorie
the choice is yours
Acum, ca imi merge, nu imi vine sa mai umblu (as long as it works, don't fuck with it :)
--
Ce nu te omoara, ti-o intareste.
---
Pentru dezabonare, trimiteti mail la [EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/
