Postfix 似乎正在公共网络接口上运行并监听,但外部客户端无法连接?

Postfix 似乎正在公共网络接口上运行并监听,但外部客户端无法连接?

我正在 Debian 12 上设置一个新的 Postifx 服务器。我已经安装了 Debian 包并确认 Postfix 正在运行,并且正在监听端口25465587

Postfix 正在运行,日志中没有错误。我禁用了 jails,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 并通过它的公共 IP 连接到 Postfix:

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 可以正确解析到服务器。

我工作/家里的 ISP 没有阻止传出端口,因为我可以从家里 telnet 到 Gmail 的 SMTP 服务器并访问EHLO

服务器托管公司声称没有端口被阻止。

我可以从我的家庭客户端访问服务器,traceroute -I但没有选项就不行-I

说实话,我不知道还能尝试什么。当我尝试 telnet 时,我应该会从 Postfix 获得一些信息。大多数阻止邮件的选项都出现在 之后EHLO,但我们还没有做到那一步。

服务器上的哪些可能的设置会阻止 Postifx 在外部接口上监听或响应,当netstat显示它被绑定时,日志中没有错误,并且从服务器本身进行 telnet 时,Postfix 会响应服务器外部 IP 上的 telnet?

inet_interfaces = all已设定。 inet_protocols = all已设定。

是否有任何配置设置会导致 Postfix 默默地丢弃连接请求而不产生任何输出?

我还可以检查或尝试什么?Postfix 中的哪些设置会丢弃或不接受初始连接请求?

答案1

iptables希望这对其他人有所帮助:显然除了和之外还有许多不同的防火墙ucf

我发现这个帖子很有帮助:https://surgmail.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

相关内容