Pues mira por donde me viene de maravilla. Comentemos.
El S�bado, 29 de Enero de 2005 03:05, Velkro escribi�:
> pablo:
> antes que nada, te cuento que estoy leyendo mails atrasados de la lista de
> debian por eso agrego mi comentario recien hoy.
>
> estuve mirando tu script que levanta las reglas del iptables, y note
> ciertas cosas que me gustaria comentar, asi yo tambien me aseguro de que
> tengo entendido. ojo, no lo tomes como que te estoy corrigiendo, sino que
> intento mejorar lo hecho. y para toda la lista: si alguno ve algo mal, por
> favor, avise.
>
> <quote pablo>
>   #Limpieza de reglas.
>   echo -n "Limpiando reglas iptables: "
>   iptables -F
>   iptables -X
>   iptables -Z
>   iptables -t nat -F
>   echo "hecho."
> </quote>
>
> estas haciendo un flush de las tablas filter y nat, y no lo estas haciendo
> para mangle. eliminas las tablas del usuario y reseteas los contadores solo
> para filter y no para mangle y nat. completo quedaria asi:
>
>     # Elimino las tablas creadas por el usuario.
>     iptables -t filter -X
>     iptables -t nat -X
>     iptables -t mangle -X
>
>     # Vacio las tablas.
>     iptables -t filter -F
>     iptables -t nat -F
>     iptables -t mangle -F
>
>     # Reseteo los contadores.
>     iptables -t filter -Z
>     iptables -t nat -Z
>     iptables -t mangle -Z
>
>     ojo: yo el reseteo de contadores no lo hago. porque en ciertas
> condiciones puede ser util. por eso, lo tengo en una opcion aparte en mi
> script.
>   reset-counters)
>     # Reseteo los contadores.
>     iptables -t filter -Z
>     iptables -t nat -Z
>     iptables -t mangle -Z
>     ;;
>
Tienes raz�n . Pero es que creo que esta tabla no la estoy usando en mi 
script.
> <quote pablo>
>   #ICMP
>   echo -n "Permitendo echo request: "
>   iptables -A INPUT -i eth0 -p icmp -j ACCEPT
>   iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
>   echo "hecho."
> </quote>
>
> el comentario no deberia ser: permito todo el trafico icmp con destino esta
> pc, u originado desde esta pc? porque si bien permitis los echo request,
> estas permitiendo tambien todo tipo de mensajes icmp. comentario: lei en un
> tutorial que si lo que queres hacer es permitir los 'host unreachable, etc'
> podrias permitir los INPUT o FORWARD state RELATED, que justamente se
> utilizan para esto.

Bueno ah� me has pillado. De lo que se trata es que sin esta regla no puedo 
hacer un ping desde el exterior.
Creo que deber�a explicar la extructura de la red para mayor claridad.
Tengo un equipo con dos interfaces haciendo de firewall, conectado al modem 
cable. Una interfaz (eth0) tiene la ip publica (din�mica) y la otra (eth1) 
tiene ip estatica (192.168.0.1) de acceso a la LAN.

>
> <quote pablo>
>   echo -n "Parando el firewall: "
>   iptables -F INPUT (1)
>   iptables -F OUTPUT (2)
>   iptables -F FORWARD (3)
>   iptables -F (4)
>   iptables -t nat -F
>   echo "hecho."
> </quote>
>
> aca estas repitiendo cosas. las lineas 1, 2, y 3, juntas hacen lo mismo que
> la 4. y si haces un flush de nat, como convencion te convendria hacer un
> flush tambien de mangle. cosa de que si algun dia necesitas usar mangle, no
> te tengas que preocupar si las estas inicializando o no.
Si la 4 es un fallo y falta la del mangle.
>
> <quote pablo>
>   #ssh exterior al server.
>   echo -n "Activando redireccionamiento conexi�n ssh al server: "
>   iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -m state --state
> NEW -j DNAT --to 192.168.0.2:22
>   iptables -A FORWARD -i eth0 -p tcp --dport 22 -m state --state
> NEW,ESTABLISHED,RELATED -j ACCEPT
>   echo "hecho."
> </quote>
>
> para estar convencido de lo que voy a decir, necesitaria que me digas tu
> configuracion de red. pero a simple vista, te falta la regla en postrouting
> para modificar la direccion de origen del paquete utilizando SNAT. porque
> sino lo que vas a estar haciendo es modificar el destino de un paquete para
> enviarlo a una subnet diferente a la de la direccion origen. ojo: habria
> que ver si no se esta enmascarando con una regla que tenes mas arriba #
> NAT: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE.

Ya te he comentado la configuraci�n de la red. La regla de NAT est�, como has 
supuesto. Con la regla del PREROUTING, redirecciono las conexiones ssh por el 
puerto 22 al equipo con esa ip y a ese puerto. Funciona perfectamente.
Yo dir�a que la regla del POSTROUTING no hace falta. Se admiten sugerencias.
>
> <quote pablo>
>   #Cerrar
>   echo -n "Cerrando conexiones no necesarias: "
>   iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP
>   iptables -A FORWARD -i eth0 -m state --state NEW,INVALID -j DROP
>   echo "hecho."
> </quote>
>
> si no veo mal, ya tenes bloqueado todo eso con las politicas por defecto
> que seteaste arriba:
>   #Pol�tica por defecto.
>   echo -n "Aplicando pol�tica: "
>   iptables -P INPUT DROP
>   iptables -P OUTPUT DROP
>   iptables -P FORWARD DROP
>
>
> como comentario final, para el que le interese, les dejo un link de un
> tutorial de iptables muy copado:
> http://iptables-tutorial.frozentux.net/iptables-tutorial.html
>
> y ya saben, cualquier cosa que dije mal, o les parece que esta mal,
> pregunten asi nos sacamos las dudas.
> saludos, velkro.

Tengo una cuesti�n que no se de momento como solucionar. Debo configurar un 
firewall que permita todas conexiones salientes. Es decir, que me permita 
abrir los puertos que necesite de las conexiones saliente. L�gicamente no 
permita abrir ning�n puerto de una conexi�n que provenga del exterior, a 
menos que sea indicada en la configuraci�n del firewall.
Se que poniendo una pol�tica ACCEPT, esto lo consigue hacer, �pero se puede 
hacer con una pol�tica DROP?.

Espero tu contestaci�n. Gracias.
-- 
Saludos.
Pablo.

Fingerprint 5607 40CF 45EF D490 B794  5056 D7B2 C3DC ABF1 CE49
http://www.humano.ya.com/bruli

Attachment: pgpmqkVBPrfDd.pgp
Description: PGP signature

Responder a