无法在 CentOS 上打开端口 25

无法在 CentOS 上打开端口 25

我似乎无法在我的 CentOS 6.3 专用服务器上打开端口 25。

telnet localhost 25

工作正常,但是当尝试远程

telnet mydomain.com 25
Connecting To mydomain.com...Could not open connection to the host, on port 25: Connect failed

我的 /etc/sysconfig/iptables 如下所示:

# Generated by iptables-save v1.4.7 on Tue Dec 11 20:24:48 2012
*raw
:PREROUTING ACCEPT [1239:156878]
:OUTPUT ACCEPT [1017:172599]
COMMIT
# Completed on Tue Dec 11 20:24:48 2012
# Generated by iptables-save v1.4.7 on Tue Dec 11 20:24:48 2012
*nat
:PREROUTING ACCEPT [139:41210]
:INPUT ACCEPT [12:976]
:OUTPUT ACCEPT [91:14636]
:POSTROUTING ACCEPT [91:14636]
COMMIT
# Completed on Tue Dec 11 20:24:48 2012
# Generated by iptables-save v1.4.7 on Tue Dec 11 20:24:48 2012
*mangle
:PREROUTING ACCEPT [1239:156878]
:INPUT ACCEPT [1239:156878]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1017:172599]
:POSTROUTING ACCEPT [1017:172599]
COMMIT
# Completed on Tue Dec 11 20:24:48 2012
# Generated by iptables-save v1.4.7 on Tue Dec 11 20:24:48 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [107:13896]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 587 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Tue Dec 11 20:24:48 2012

我以为这意味着我的 25 端口已打开,但它仍然不起作用。有人有什么想法吗?顺便说一句,/etc/postfix/main.cf 说

inet_interfaces = all

更新:

我按照建议切换了 iptables 中的两行,所以现在:

netstat -tnlp | grep 25

tcp        0      0 0.0.0.0:110                 0.0.0.0:*                   LISTEN      2581/dovecot
tcp        0      0 0.0.0.0:143                 0.0.0.0:*                   LISTEN      2581/dovecot
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      2521/sshd
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      6754/master
tcp        0      0 123.123.123.123:25          0.0.0.0:*                   LISTEN      6754/master
tcp        0      0 0.0.0.0:4190                0.0.0.0:*                   LISTEN      2581/dovecot
tcp        0      0 0.0.0.0:993                 0.0.0.0:*                   LISTEN      2581/dovecot
tcp        0      0 0.0.0.0:995                 0.0.0.0:*                   LISTEN      2581/dovecot
tcp        0      0 :::110                      :::*                        LISTEN      2581/dovecot
tcp        0      0 :::143                      :::*                        LISTEN      2581/dovecot
tcp        0      0 :::22                       :::*                        LISTEN      2521/sshd
tcp        0      0 :::4190                     :::*                        LISTEN      2581/dovecot
tcp        0      0 :::993                      :::*                        LISTEN      2581/dovecot
tcp        0      0 :::995                      :::*                        LISTEN      2581/dovecot

我认为这意味着端口 25 已打开并且 Postfix 正在监听它?

我的专用服务器提供商是 OVH,他们声称不会阻止端口 25: http://help.ovh.com/FireWall

这看起来像是一条死路……

更新 2:已解决,我的 ISP 没有阻止端口 25,但我的 VPN 提供商阻止了。该死的他们。感谢大家的帮助。

答案1

端口 25 的 accept 行

-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT

在全面拒绝之后

-A INPUT -j REJECT --reject-with icmp-host-prohibited

切换它们并重新加载。Iptables 在第一次匹配获胜时起作用,因此 ACCEPT 永远不会被执行。您可以连接到本地主机的原因是存在一个全面接受

-A INPUT -i lo -j ACCEPT 

在被拒绝之前。

如果不起作用,则检查 postfix 是否正在监听相关的 IP 地址,检查输出

netstat -tnlp | grep 25 

并采取适当的措施。如果不是这样,那么很可能是其他人阻塞了您上游的 25 端口。

相关内容