postfix
我在新安装的 CentOS7 上有一个新的邮件服务器 ( )。我可以telnet
在127.0.0.1
本地计算机的端口 25 和公共 IP 上连接 ( ),但不能在计算机外部的公共 IP 上连接。我使用 IPTables 并经过三次验证它是正确的。事实上,我的机器上也有 Apache HTTP,并使用端口 80 规则iptables
,它工作得很好。firewalld
没有运行。我的hosts.allow 或hosts.deny 中没有任何内容。
telnet 127.0.0.1 25 or telnet x.x.x.x: (from same machine)
Connected to 127.0.0.1.
Escape character is '^]'.
220 ga003.example.com ESMTP Postfix
telnet x.x.x.x (from outside):
telnet: Unable to connect to remote host: Connection timed out
telnet x.x.x.x 80 (from outside):
Trying 74.206.115.232...
Connected to 74.206.115.232.
Escape character is '^]'.
网络统计:
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 26502/master
ps 斧头:
26502 ? Ss 0:00 /usr/libexec/postfix/master -w
iptables:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
/etc/postfix/main.cf:
inet_interfaces = all
inet_protocols = all
从 MX 工具箱:
Connection attempt #1 - Unable to connect after 15 seconds
/var/log/messages
我在或中看不到任何东西/var/log/maillog
答案1
您的 ISP 很可能会阻止 25,除非您支付商业服务费用。
答案2
找到了。我执行了“iptables -L”来列出并检查活动的防火墙规则,发现端口 25 规则被定义为 UDP。一定是以前的事情。我再次刷新 iptables,它按照定义获取了 TCP 端口 25 规则。现在一切都很顺利。