Iptables

Forums: 

hola amigos quisiera contarles el problemita que estoy teniendo:

tengo un servidor centos 5 proxy, en estos dias me di cuenta que los cambios que hacia en el script y que luego de guardar tendria que ejecutarse (sh ./script) no ocuurria, pues al terminar de ejecutar mi script, daba este comando service iptables save, luego iptables-save, y luego iptables -L -n y me mostraba todos los cambios que realize pero esto es lo raro, en 2 minutos despues volvia a darle el comando iptables -L -n y me salia otra configuracion, otras reglas todo diferente, lo que creo es que hay otro script de iptables o por defecto que se esta ejecutando o hay otro script que toma de alguna otra ruta.

antes de esto instale y configure el arno-iptables-firewall y configure como decia en el apartado de "comos" y me daba mil errores, consulte en este foro y me dijeron que si seguia al pie de la letra como estaba funcionaria y es mas hay gente que utiliza dicho servicio, como no pude lo borre.

lo mismo me paso con el webmin y como no pude lo elimine, para asegurarme que no estan siendo ejecutados probe el comando
which webmin, which arno-iptables-firewall y el error que daba era no arno-iptables-firewall y no webmin.

quisiera saber como podria saber cual es la ruta del script que se esta ejecutando, y/o porque no guarda las modificaciones o cual seria unos de los posibles problemas o que estoy haciendo mal.

gracias amigos

primera has esto iptables -L

Imagen de falcom

primera has esto

iptables -L -n

luego compara con las q tienes aca

vim /etc/sysconfig/iptables

deben ser exactamente las mismas x q al guardar con el command iptables save se guardan aca /etc/sysconfig/iptables
sobre la ruta de tu script de iptables eso solo tu lo sabras donde lo pusiste.. solo buscalo
salu2

Responder

Imagen de miguelbaum

claro eso esta ahi... pero como te digo al guardar el script que cree me da los cambios por 1 o 2 minutos y luego me sale otra configuracion mas sencilla, es como que no pudiera retener mas tiempo y dar los cambios a mi script, o podria existir algo que si encontrara que alguna regla o reglas esten mal cambiara la configuracion a unos servicios basicos de utilizacion? me parece que mi servidor tiene vida propia

Gracias

si probaste si tu deamon de

Imagen de falcom

si probaste si tu deamon de iptables se levanta al iniciar el equipo ??

chkconfig iptables on

otra explicacion pueden ser las reglas, postea tu script para darle un ojo, de pronto estas haciendo algo mal, recuerda q las reglas se leen de arriba hacia abajo secuencialmente.

Respuesta

Imagen de miguelbaum

mi script

#!/bin/sh
## SCRIPT de IPTABLES
## abiertos los puertos 25, 110

echo -n Aplicando Reglas de Firewall...

## FLUSH de reglas

iptables -F
iptables -X
iptables -Z
iptables -t nat -F

## Establecemos politica por defecto

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

## Empezamos a filtrar
## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN

# Al firewall tenemos acceso desde la red local
iptables -A INPUT -s 192.168.10.0/24 -i eth1 -j ACCEPT

## Abrimos el acceso a puertos de correo
# Abrimos el puerto 25, hay que configurar bien el relay del servidor SMTP

iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 25 -j ACCEPT

# Abrimos el pop3

iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 110 -j ACCEPT

## Ahora con regla FORWARD filtramos el acceso de la red local
## al exterior. Como se explica antes, a los paquetes que no van dirigidos al
## propio firewall se les aplican reglas de FORWARD
# Aceptamos que vayan a puertos 80

iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 80 -j ACCEPT

# Aceptamos que vayan a puertos https

iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 443 -j ACCEPT

iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 8443 -j ACCEPT

# Aceptamos que consulten los DNS
iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p udp --dport 53 -j ACCEPT

# Y denegamos el resto. Si se necesita alguno, ya avisaran

iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -j DROP

# Ahora hacemos enmascaramiento de la red local
# y activamos el BIT DE FORWARDING (imprescindible!!!!!)

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE

# Con esto permitimos hacer forward de paquetes en el firewall, o sea
# que otras máquinas puedan salir a traves del firewall.

echo 1 > /proc/sys/net/ipv4/ip_forward

## Y ahora cerramos los accesos indeseados del exterior:
# Nota: 0.0.0.0/0 significa: cualquier red
# Cerramos el rango de puerto bien conocido

#iptables -A INPUT -s 0.0.0.0/0 -i eth0 -p tcp -dport 1:1024 -j DROP
#iptables -A INPUT -s 0.0.0.0/0 -i eth0 -p udp -dport 1:1024 -j DROP

# Cerramos un puerto de gestion webmin
iptables -A INPUT -s 0.0.0.0/0 -i eth0 -p tcp --dport 10000 -j DROP

echo " OK . Verifique que lo que se aplica con: iptables -L -n"

# Fin del script

esto lo volvi a crear y a ejecutar porque tenia que levantar ya mi servidor, no puedo abrir puertos, ni puedo descargar archivos de la web

revisando tu script te falta

Imagen de falcom

revisando tu script te falta algo basico el nateo

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to dir_ip_proxy_server:pto

con eso estas haciendo q todo lo que venga x el trafico intern se lo redirecciona para q salgan x el proxy con squid

RESPUESTA

Imagen de miguelbaum

hola amigo:

donde proxy ip server: coloco mi ip
pto: ?

o esta regla es para cada puerto que quiera abrir? o sea, el ip de mi servidor y el puerto al cual quiero que salga.

xxx.xxx.xxx.xxx:3306 en el caso del mysql

O COMO?

Esa regla es para proxy

Imagen de deathUser

Esa regla es para proxy transparente, normalmente usada para proxy transparente de HTTP conjuntamente con SQUID, si tienes proxies para otras aplicaciones que soporten ese esquema, pues sería aplicable...

SI, tu IP ...

bye
;)

como ves mas arriba tengo el

Imagen de miguelbaum

como ves mas arriba tengo el script de iptables, en el cual agregando mas reglas ya sea para abrir un puerto, no lo puedo conseguir, es que necesito abrir algunos puertos, si quiero ingresar a laweb.com:8443 no puedo o si es otro puerto, si quiero conectarme con mi sistema contable a un servidor externo no puedo a través del puerto 3306 mysql o para la gente que tiene mac no pueden conectarse al messenger porque el puerto 1080 no se abre, espero haberme expresado bien para uds amigos.

Gracias

Páginas