Назад | Перейти на главную страницу

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

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

Когда я меняю 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 из postfix у меня есть

inet_interfaces = IPv4, [IPv6], localhost

Когда я меняю его на

inet_interfaces = all

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

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

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

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

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