Reglas de iptables

Germán Poó Caamaño gpoo en ubiobio.cl
Sab Mayo 20 16:32:09 CLT 2006


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
http://www.ubiobio.cl/~gpoo/
Concepción - Chile



Más información sobre la lista de distribución Linux