[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Guardar reglas iptables en debian squeeze



El Viernes, 6 de Mayo de 2011, Edgar Vargas escribió:
> Hola amigos listeros, estoy implementado una pc que me haga de router
> y tambien he puesto un proxy, el detalle es que quiero que las reglas
> se guarden y se inicien luego de prender otra vez la pc, he leido y he
> usado la wiki de debian:
> http://wiki.debian.org/iptables
> hice todos los pasos, relativamente me funciona, no entiendo, me explico:
> Antes cuando aplicaba las reglas iptables desde la terminal hacia ping
> desde los clientes a cualquier ip publica por ejemplo 8.8.8.8 u otras
> y tambien a mi eth1 de mi lan y eth2 de mi wan, pero cuando guardo
> reinicio, solo hago ping a las dos ips tanto la statica que le puse a
> la pc en eth1 y a la generada por el dhcp del router eth2, y al
> parecer el rpxy funciona, porque si no activo en el navegador por
> proxy nadie sale a internet, y si activo en los navegadores proxy si
> salen y toma todas las cosas , reglas que puse en el squid, pero no
> hago ping a ips publicas ni dns, en mi pc debian tengo tambien dhcp,
> dns, que em dn parametros automaticamebnte a los clientes conectados,
> verifico y si hace ping a www.server.org el que yo he creado, no
> entiendo porque ya no hago ping a ips publicas.
> lo que he notado cada vez que reinicio es que me dice en la ruta de
> root@debian:/etc/network/if-pre-up.d#, such file como no encontrado,
> es rapido y no pude ver bien, sopsecho que no em esta cargando
> correctamente las reglas iptables, le hice iptables -L y solo em
> mustra todo accept, claro eso hice, solo puse unas cuantas reglas,
> exactamente dos:
> 
> root@debian:/etc/network/if-pre-up.d# cat /etc/iptable.up.rules
> # Generated by iptables-save v1.4.8 on Fri May  6 12:09:44 2011
> *nat
> 
> :PREROUTING ACCEPT [15:1472]
> :POSTROUTING ACCEPT [0:0]
> :OUTPUT ACCEPT [1:67]
> 
> -A PREROUTING -i eth2 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
> -A POSTROUTING -o eth1 -j MASQUERADE
> COMMIT
> # Completed on Fri May  6 12:09:44 2011
> # Generated by iptables-save v1.4.8 on Fri May  6 12:09:44 2011
> *filter
> 
> :INPUT ACCEPT [1825:1561923]
> :FORWARD ACCEPT [31:1896]
> :OUTPUT ACCEPT [1683:215005]
> 
> COMMIT
> # Completed on Fri May  6 12:09:44 2011
> root@debian:/etc/network/if-pre-up.d#
> No se en inetrnet vi que otros guardan en otros sitios, es mas por
> aqui en la lsita lei algo, pero esa vez no lo tome muy en cuenta,
> desearia saber amigos listeros como hacen ustedes para que se guarde
> bien las reglas iptables, reitero cuando pongo otra vez las reglas
> manualmente todo hace ping, como deberia ser creo, solo ese es el
> detalle, por lo demas parece que si esta bien, agradeceria su
> orientacion.


Hace tanto tiempo que escribí las reglas de iptables, que ya no me acuerdo muy 
bien como lo hice. Desde entonces, como lo tengo, me funciona.

En /root puse un script llamado iprules. Estas son las líneas del principio:

#!/bin/bash
#
# Por Guimi 2006/02 - http://www.guimi.net
#
# Basado principalmente en
#+ http://www.pello.info/filez/IPTABLES_en_21_segundos.html
#+ http://www.pello.info/filez/firewall/iptables.html
#
# Para guardar las reglas
#+ iptables-save > reglas
#+ iptables-restore < reglas
#

IPTABLES=/sbin/iptables
#LOCAL_HOST=192.168.1.1


echo "Limpiando FW..."
##########################################
### Limpiamos la configuracion existente
# Limpiamos (flush) las reglas
$IPTABLES -F
# Borramos 'chains' de usuario
$IPTABLES -X
# Ponemos a cero paquetes y contadores
$IPTABLES -Z
# Limpiamos las reglas de NAT
$IPTABLES -t nat -F


echo "Estableciendo politicas..."
##########################################
### Establecemos las politicas de los 'chains'
$IPTABLES -P INPUT DROP
#$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
#$IPTABLES -P FORWARD DROP
#$IPTABLES -t nat -P PREROUTING DROP
#$IPTABLES -t nat -P POSTROUTING DROP
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i eth1 -p icmp --icmp-type 8 -j DROP

echo "Dando permiso local..."
##########################################

y así continuo poniendo todas las reglas que necesito. Cuando tengo que 
ampliar, abrir o cerrar algo, lo hago aquí.

Luego un sh iprules y ya está. Los cambios son efectivos inmediatamente.

Se ejecuta en el arranque. Para que sea así, si no recuerdo mal porque como ya 
dije lo hice hace tiempo, puse en /etc/rc.local:

/root/iprules

En definitiva, yo con iptables lo único que hago es cambiar en el script 
/root/iprules lo que necesito y luego sh iprules.

No sé si es la forma más adecuada o falta algún paso. Si fuera así, 
posiblemente alguien lo corregirá.

Saludos

 
-- 
Usuario Linux: #156817
Debian Wheezy/Sid - Kernel 2.6.38


Reply to: