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"?