At 16:32 20-05-2006, Germán Poó Caamaño wrote: >On Sat, 2006-05-20 at 13:43 -0500, Valentín González E. wrote: >> En un linux router-firewall tengo varias reglas hechas para varias >> máquinas: >> >> -A INPUT -s 172.18.92.144 -p tcp -m tcp --dport 22 -j ACCEPT >> -A INPUT -s 172.18.92.144 -p tcp -m tcp --dport 3128 -j ACCEPT >> -A INPUT -s 172.18.92.165 -p tcp -m tcp --dport 3128 -j ACCEPT >> -A INPUT -s 172.18.9.200 -p tcp -m tcp --dport 3128 -j ACCEPT >> -A INPUT -s 172.18.9.201 -p tcp -m tcp --dport 3128 -j ACCEPT >> -A INPUT -s 172.18.92.60 -p tcp -m tcp --dport 3128 -j ACCEPT >> -A INPUT -s 172.18.92.16 -p tcp -m tcp --dport 3128 -j ACCEPT >> -A INPUT -s 172.18.92.20 -i eth1 -j ACCEPT >> -A INPUT -s 172.18.64.23 -i eth1 -j ACCEPT >> -A INPUT -s 172.18.3.26 -i eth1 -j ACCEPT >> >> >> Mi pregunta es si estas reglas no se pueden resumir en menos líneas. >> Por ejemplo que todas las direcciones ip sean leídas desde un archivo de >> texto (máquinas.txt por ejemplo)o algo por el estilo, y que al momento >> de llamar el script sea algo como: >> >> #iptables -A INPUT -s "maquinas.txt" ........, > >En bash: > >for i in $(cat maquinas.txt) >do > iptables -A INPUT -s $i ... >done > >> o que los puertos de destino (en este caso) se resuman algo así: >> >> #iptables -A INPUT "maquinas.txt" -p tcp -m tcp --dport "puertos.txt" ....., > >for i in $(cat maquinas.txt) >do > for j in $(cat puertos.txt) > do > iptables -A INPUT -s $i -p tcp ... --dport $j > done >done > >Aunque podría ser mejor utilizar algún programa que te permita >manejar de mejor manera tus reglas, como fwbuilder u otro. >Germán Poó-Caamaño
O en una sola linea de comando para un mismo puerto ;-) cat maquinas.txt | awk ' { print "iptables -A INPUT -s " $0 " -p tcp -m tcp --dport 3128 -j ACCEPT" }' Saludos, Miguel Oyarzo Austro Internet S.A. Punta Arenas