Postfix parece estar ejecutándose y escuchando en la interfaz de la red pública, pero los clientes externos no pueden conectarse.

Postfix parece estar ejecutándose y escuchando en la interfaz de la red pública, pero los clientes externos no pueden conectarse.

Estoy configurando un nuevo servidor Postifx en Debian 12. Instalé el paquete Debian y confirmé que Postfix se está ejecutando y está escuchando en los puertos 25, 465y 587.

Postfix se está ejecutando y no hay errores en el registro. Desactivé las cárceles master.cfy este servidor no tiene un software de firewall en ejecución.

Postifx está vinculado a todas las interfaces, según netstat:

netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      8417/master
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      8417/master         
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      8417/master
tcp6       0      0 :::587                  :::*                    LISTEN      8417/master 
tcp6       0      0 :::465                  :::*                    LISTEN      8417/master         
tcp6       0      0 :::25                   :::*                    LISTEN      8417/master 

Puedo hacer telnet en el servidor y conectarme a Postfix a través de su IP pública:

telnet xx.xx.xx.xx 587
Trying xx.xx.xx.xx...
Connected to xx.xx.xx.xx.
Escape character is '^]'.
220 mydomain.com ESMTP Postfix

Pero si intento esto desde fuera del servidor, no se conecta:

telnet mydomain.com 587
Trying xx.xx.xx.xx...
Trying xxxx:xxxx::xxxx:xxxx:xxxx:xxxx...
telnet: Unable to connect to remote host: Network is unreachable

He confirmado que DNS se resuelve correctamente en el servidor desde la perspectiva del cliente.

El ISP de mi trabajo/casa no bloquea los puertos salientes, ya que puedo hacer telnet al servidor SMTP de Gmail desde casa y acceder a EHLO.

La empresa de alojamiento del servidor afirma que no se están bloqueando puertos.

Puedo acceder al servidor desde el cliente de mi casa con traceroute -Ipero no sin la -Iopción.

Sinceramente no sé qué más probar. Debería recibir algo de Postfix cuando intento hacer telnet. La mayoría de las opciones para bloquear el correo aparecen después del EHLOy no hemos llegado tan lejos.

¿Qué posibles configuraciones en el servidor impedirían que Postifx escuche o responda en la interfaz externa, cuando netstatmuestra que está vinculado, no hay errores en el registro y Postfix responde a telnet en la IP externa del servidor cuando hace telnet desde el servidor mismo?

inet_interfaces = allEstá establecido. inet_protocols = allEstá establecido.

¿Existe alguna configuración que pueda hacer que Postfix abandone silenciosamente una solicitud de conexión sin ningún resultado?

¿Qué más puedo comprobar o probar? ¿Qué configuraciones en Postfix descartarían o no aceptarían una solicitud de conexión inicial?

Respuesta1

Esperemos que esto ayude a alguien más: aparentemente hay muchos firewalls diferentes además de iptablesy ucf.

Encontré esta publicación útil:https://surgemail.com/knowledge-base/disable-your-firewall/, que enumera todas las posibilidades a buscar. En mi caso así fue nft.

Aquí está la lista completa de firewalls para deshabilitar o verificar:

nft flush ruleset
systemctl mask nftables.service

systemctl stop firewalld
systemctl disable firewalld

service iptables stop
service iptables disable

service ipchains disable
service ipchains stop

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X

cfx -x

información relacionada