Forums:
Hola,
Necesito un poco de ayuda en la configuración de mi iptables pues lo que deseo es configurar el proxy mediante nat para que pueda recibir y enviar el correo que configuro desde el Microsoft Outlook.
mi eth0 es mi tarjeta externa, la eth1 es la interna 10.228.236.136/25 y uso el fedora 8, a como verán en la configuración de mi IPTABLES a continuación el proxy transparente ya esta configurado y funciona correctamente con el squid pero el detalle es que la configuración nat del correo no me esta funcionando y quería que alguien revisara y me dijera que error estoy cometiendo.
echo -n
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
#Aqui hacemos el proxy transparente
iptables -t nat -A POSTROUTING -s 0.0.0.0/0 -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -m multiport --dport 80,110,25,995 -j REDIRECT --to-ports 3128
#Abriendo puertos del correo SMTP, POP3 y POP3 seguro
iptables -A FORWARD -s 10.228.236.136/25 -i eth1 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -s 10.228.236.136/25 -i eth1 -p tcp --dport 995 -j ACCEPT
iptables -A FORWARD -s 10.228.236.136/25 -o eth1 -p tcp --dport 25 -j ACCEPT
cuando le doy: iptables -L -n, me da la respuesta:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 10.228.236.128/25 0.0.0.0/0 tcp dpt:110
ACCEPT tcp -- 10.228.236.128/25 0.0.0.0/0 tcp dpt:995
ACCEPT tcp -- 10.228.236.128/25 0.0.0.0/0 tcp dpt:25
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Gracias por toda la ayuda que me puedan dar. :(
Tenias toda la razón edwin me
Tenias toda la razón edwin me faltaba cambiarles eht0 en la linea del enmascaramiento ahora funciona Muchas gracias a todos por sus aportes.
pero, hay un pelo en la sopa, con el puerto 110 recibe y el 25 envia bien pero hay cuentas que estan con otro servidor que usa SSL en pop3s con el puerto 995 que me envia el siguiente mensaje:
***La tarea Recibiendo MINED ha notificado el error (0X800CCC1A): el servidor no admite el tipo de cifrado de conexión especificado. Intente cambiar el método de cifrado. y que me ponga en contacto con el admin ó el ISP.***
Ahora si yo especifiqué en el iptables que ese puerto saliera por FORWARD de la misma forma que el 110 y el 25 porque me esta tirando el outlook este error.
actualmente el script esta
actualmente el script esta asi:
echo -n
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
#Aqui hacemos el proxy transparente
iptables -t nat -A POSTROUTING -s 10.228.236.136/25 -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -m multiport --dport 80 -j REDIRECT --to-ports 3128
#Abriendo puertos del correo SMTP Y POP3
iptables -A FORWARD -s 10.228.236.136/25 -i eth1 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -s 10.228.236.136/25 -i eth1 -p tcp --dport 995 -j ACCEPT
iptables -A FORWARD -s 10.228.236.136/25 -i eth1 -p tcp --dport 25 -j ACCEPT
***Funcionando los puertos 110 y 25 pero el puerto 995 me saca el error que les describo en el post anterior.***
Ok, por lo visto eso ya no es
Ok, por lo visto eso ya no es un problema de firewall porque el servidor si te está contestando, más bien puede ser un problema de configuración en el lado del cliente. Lamentablemente yo solo uso webmails por lo que no estoy muy familiarizado con las configuración de los clientes de correo, pero lo que si te aseguro es que no es un problema de firewall.
Con respecto a tu script para las reglas, no se si no lo estás mostrando todo (de pronto por seguridad), pero debo decirte que no veo ninguna regla restrictiva (DROP o REJECT) por lo que en realidad no estás bloqueando nada. Lo podrías comprobar quitando las 3 reglas de FORWARD que tienes:
iptables -A FORWARD -s 10.228.236.136/25 -i eth1 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -s 10.228.236.136/25 -i eth1 -p tcp --dport 995 -j ACCEPT
iptables -A FORWARD -s 10.228.236.136/25 -i eth1 -p tcp --dport 25 -j ACCEPT
Si las quitas verás que aún puedes conectarte POP y SMTP. Si al quitarlas sigues teniendo conexion, puedes probar agregando al final una regla que rechace las otras conexiones, también sería bueno que especifiques la dirección de red interna y no la dirección de un host, en tu caso sería algo como:
iptables -A FORWARD -s 10.228.236.128/25 -i eth1 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -s 10.228.236.128/25 -i eth1 -p tcp --dport 995 -j ACCEPT
iptables -A FORWARD -s 10.228.236.128/25 -i eth1 -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -s 10.228.236.128/25 -i eth1 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -s 10.228.236.128/25 -i eth1 -j REJECT
Saludos,
----
Edwin Boza
about.me/edwinboza
Perfecto muchas gracias por
Perfecto muchas gracias por el consejo ya que aprendí tambien un poco más gracias a ustedes.
Ya aplique tu sugerencia y me quedo bien :)
Saludos.
Amigo otra cosa no has
Amigo otra cosa no has hablado de tu servidor de correos, en ningún momento lo nombras, o acaso este servidor es externo? o esta en alguna dmz?.
Saludos
Vamos Ecuador, si se puede
Es un servidor fuera de mi
Es un servidor fuera de mi red (Externo)
Saludos.
el mismo problema lo tengo yo
este mismo problema me esta ocurriendo a mi, inclusive desactive el firewall para ver si por alli estaba el inconveniente pero nada todo se queda pegado y sigue apareciendo el mismo error de pop y smtp. cualquier ayuda gracias.
este es el codigo que debes
este es el codigo que debes poner en un archivo que vas a crear con la extensión sh, luego lo copias en el directorio sbin
para que esto te funcione tenes que apagar el servicio del iptables y el SeLinux
Con este ejemplo sencillo lo puedes hacer funcionar
podes nombrar el archivo de la siguiente forma: proxy-transparente.sh
IPTABLES="/sbin/iptables" # Ruta de iptables la sacas con
LAN_IP_RANGE="192.168.10.0/24" # Red de la LAN esta es la que pasaría a ser tu puerta de enlace
INET_IP="201.90.216.5" # IP publica con la que sales a internet corresponde a la tarjeta de red conectada directamente al router pero no es la puerta de enlace
echo "1" > /proc/sys/net/ipv4/ip_forward # Sin esto no puedes hacer forward, con el 1 lo activas
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
# Esta linea hace posible el enrutamiendo y hace lo que quieres
$IPTABLES -t nat -A POSTROUTING -s $LAN_IP_RANGE --jump SNAT --to $INET_IP
salis y lo ejecutas:
sh proxy-transparente.sh
Te deberia funcionar
Saludos
Páginas