Postfix, похоже, работает и прослушивает публичный сетевой интерфейс, но внешние клиенты не могут подключиться?

Postfix, похоже, работает и прослушивает публичный сетевой интерфейс, но внешние клиенты не могут подключиться?

Я настраиваю новый сервер Postifx на Debian 12. Я установил пакет Debian и убедился, что Postfix работает и прослушивает порты 25, 465, и 587.

Postfix работает, и в журнале нет ошибок. Я отключил джейлы, master.cfи на этом сервере не запущен программный брандмауэр.

Postifx привязан ко всем интерфейсам, согласно 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 

Я могу подключиться к серверу через Telnet и подключиться к Postfix через его публичный IP-адрес:

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

Но если я попробую это сделать извне сервера, подключение не произойдет:

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

Я подтвердил, что DNS правильно разрешается на сервере с точки зрения клиента.

Интернет-провайдер на моей работе/дома не блокирует исходящие порты, так что я могу подключиться к SMTP-серверу Gmail из дома по протоколу Telnet и получить доступ к EHLO.

Компания, предоставляющая услуги хостинга серверов, утверждает, что никакие порты не блокируются.

Я могу подключиться к серверу с моего домашнего клиента с этой опцией, traceroute -Iно не без нее -I.

Честно говоря, я не знаю, что еще попробовать. Я должен получить что-то от Postfix при попытке telnet. Большинство опций для блокировки почты находятся после EHLO, а мы пока не дошли до этого.

Какие возможные настройки на сервере могут помешать Postifx прослушивать или отвечать на внешнем интерфейсе, когда netstatон показывает, что он привязан, в журнале нет ошибок, а Postfix отвечает на telnet на внешнем IP-адресе сервера при telnet-подключении с самого сервера?

inet_interfaces = allустановлено. inet_protocols = allустановлено.

Существуют ли какие-либо параметры конфигурации, которые могут заставить Postfix молча отклонить запрос на подключение, не выдавая вообще никаких выходных данных?

Что еще я могу проверить или попробовать? Какие настройки в Postfix будут отклонять или не принимать первоначальный запрос на подключение?

решение1

Надеюсь, это поможет кому-то ещё: судя по всему, существует множество различных брандмауэров помимо iptablesи ucf.

Я нашел этот пост полезным:https://surgemail.com/knowledge-base/disable-your-firewall/, в котором перечислены все возможности для поиска. В моем случае это было nft.

Вот полный список брандмауэров, которые следует отключить или проверить:

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

Связанный контент