No se puede enviar mensajes a correos externos

Imagen de crafael

Forums: 

Saludos al Foro.
Bueno le voy a comentar mi problema, tengo 2 servidores uno Proxy (que natea la red privada con ip publica) y el otro de Correo (con ip publica), en el servidor de correo quiero habilitar politicas a travez de IPTABLES por defecto en DROP y luego abrir los puertos 53 (UDP), 25(TCP), 110(TCP), 143(TCP). Luego de esto solo puedo enviar a correos internos y no a externos(yahoo, hotmail, etc.) pero si puedo recibir correos externos. Pero cuando borro las politicas todo funciona con normalidad.
El problema es el puerto 25 (tcp) smtp, que solo envia a correos internos cuando se activan las politicas.

Aqui les muestro mis politicas en el servidor de correo.

##Limpieza
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t nat -F OUTPUT

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

#localhost
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#DNS
iptables -A INPUT -p udp --sport 53 --dport 1024:65535 -j ACCEPT
iptables -A OUTPUT -p udp --sport 1024:65535 --dport 53 -j ACCEPT

iptables -A INPUT -p tcp --sport 53 --dport 1024:65535 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024:65535 --dport 53 -j ACCEPT

#Correo
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT

iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 110 -j ACCEPT

iptables -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 143 -j ACCEPT

Agradeciendo por anticipado sus respuestas.

Gracias.

El problema con tus reglas

Imagen de acl

El problema con tus reglas de tcp es que no permites que paquetes del lado remoto te alcancen cuando eres tú quien inicia la conexión:


#Correo
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT

Con estas reglas los paquetes que entran a tu host, que van dirigidos al puerto 25 pasan (la primera regla). Los paquetes que envías desde el puerto 25 pasan (la segunda regla). Estos son los casos cuando el lado remoto inicia la conexión con tu mta (o sea haces tú de servidor). Cualquier otra cosa, se descarta

Cuando eres cliente, tu mta envía un paquete destinado al puerto 25 (OUTPUT; dport 25), y recibe paquetes desde el puerto 25 (INPUT; sport 25). Agrega estas reglas.

--
haber != a ver
ha != a