
Estoy intentando permitir que un servidor externo use mi servidor web (que ejecuta postfix) para transmitir correos electrónicos. Revisé varios artículos sobre cómo configurar iptables y creo que lo tengo, pero todavía no puedo hacer que el correo electrónico fluya. Tampoco puedo hacer un telnet al puerto 25 del servidor web. A continuación se muestran mis iptables. ¿Alguien ve algo que me perdí?
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p udp -m udp --dport 123 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s X.X.X.X/32 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -s X.X.X.X/32 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --sport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -p udp -m udp --sport 123 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
Respuesta1
De forma predeterminada, postfix
está configurado para escuchar 127.0.0.1
en la mayoría de las distribuciones.
- abierto
/etc/postfix/main.cf
- Busque un grupo de líneas que comiencen con
inet_interfaces
Es posible que veas el que no está comentado como
inet_interfaces = localhost
Eso significa que solo escucha en localhost o 127.0.0.1. Cámbielo a
inet_interfaces = all
Luego reinicie postfix
y debería funcionar.