Postfix SMTP на порту 587 errno соединение отказано только от localhost

Если я подключаюсь с веб-сайта с локального хоста (127.0.0.1) с портом 587 и STARTTLS к моему smtp-серверу на mail.example.tld, я получаю сообщение об ошибке "Отказано в соединении, ошибка 111". Работают соединения с сервера с другим IP, проблема возникает только с локальным хостом на том же сервере.

Когда я меняю mail.example.tld на smtp.example.tld, это работает. Для smtp.example.tld у меня есть следующая запись DNS в моей зоне example.tld

smtp IN CNAME mail.example.tld

Из netstat я получаю

netstat -tlanp | grep 587
tcp        0      0 127.0.0.1:587           0.0.0.0:*               LISTEN      7617/master
tcp        0      0 [IPv4-Address]:587       0.0.0.0:*               LISTEN      7617/master
tcp6       0      0 [IPv6-Address]:587   :::*                    LISTEN      7617/master
tcp6       0      0 ::1:587                 :::*                    LISTEN      7617/master

Postfix слушаю по всем адресам. Когда я пытаюсь

openssl s_client -starttls smtp -crlf -connect mail.example.tld:587

Я получаю следующее

139770323395008:error:0200206F:system library:connect:Connection refused:../crypto/bio/b_sock2.c:108:
139770323395008:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:109:
connect:errno=111

В моем main.cf из постфикса у меня есть

inet_interfaces = IPv4, [IPv6], localhost

Когда я изменяю это на

inet_interfaces = all

Тогда это работает.

Почему в соединениях с локального хоста отказываются, если я указываю свои IP-адреса?

1 ответ

Решение

Я полагаю, что "mail.example.tld" не решает, как вы думаете, обычно из-за локального /etc/hosts ovreride.

Вы пытались подключиться только с числовыми IP-адресами?

"host mail.example.tld" разрешается на тот же IP-адрес, что и "ping -c1 mail.example.tld"?

Другие вопросы по тегам