
Я настраиваю новый сервер 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