今天我遇到了一个奇怪的问题。几天前我配置了 Iptables。我打开了端口 80、1000 和其他一些端口。今天我需要为邮件系统打开端口 25。我在 iptables 的配置文件中添加了规则,但由于某种原因,端口保持关闭状态。我也尝试重新启动系统,但端口 25 仍然保持关闭状态。我也尝试禁用 iptables... 端口 25 仍然保持关闭状态。我不知道发生了什么...
我在 Centos 7 上
编辑:当然,我几天前打开的端口仍然打开
编辑 2:这是命令 iptables -L -n -v 的结果
Chain INPUT (policy DROP 1173 packets, 75761 bytes)
pkts bytes target prot opt in out source destination
19620 3555K f2b-default tcp -- * * 0.0.0.0/0 0.0.0.0/0
19620 3555K f2b-default tcp -- * * 0.0.0.0/0 0.0.0.0/0
19620 3555K f2b-default tcp -- * * 0.0.0.0/0 0.0.0.0/0
19633 3555K f2b-default tcp -- * * 0.0.0.0/0 0.0.0.0/0
19633 3555K f2b-default tcp -- * * 0.0.0.0/0 0.0.0.0/0
19633 3555K f2b-default tcp -- * * 0.0.0.0/0 0.0.0.0/0
19633 3555K f2b-default tcp -- * * 0.0.0.0/0 0.0.0.0/0
19633 3555K f2b-default tcp -- * * 0.0.0.0/0 0.0.0.0/0
19633 3555K f2b-default tcp -- * * 0.0.0.0/0 0.0.0.0/0
19633 3555K f2b-default tcp -- * * 0.0.0.0/0 0.0.0.0/0
19633 3555K f2b-default tcp -- * * 0.0.0.0/0 0.0.0.0/0
15679 3181K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
2849 353K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
61 3524 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:50492
140 7600 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
2 104 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:110
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:995
2 104 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:143
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:993
183 9889 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:10000
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spts:1024:65535 dpts:1024:65535 state ESTABLISHED
18543 597K ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 35337 packets, 4328K bytes)
pkts bytes target prot opt in out source destination
1824 797K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spts:1024:65535 dpts:1024:65535 state RELATED,ESTABLISHED
Chain f2b-default (11 references)
pkts bytes target prot opt in out source destination
0 0 REJECT all -- * * 111.200.39.31 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 REJECT all -- * * 51.254.203.77 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 REJECT all -- * * 223.100.157.212 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 REJECT all -- * * 203.162.15.233 0.0.0.0/0 reject-with icmp-port-unreachable
216K 39M RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
答案1
有力的证据表明您的规则正在生效;查看规则上的非零数据包计数:
61 3524 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
因此,如果您发现仍然无法连接,查看证据会很有用。还值得检查您的 MTA 是否正在监听外部地址。您可以在问题中添加netstat -apn|grep -w 25
(需要以 root 身份运行)的输出吗?
如果看起来像
tcp 0 0 :::25 :::* LISTEN 1813/sendmail
那么我错了,这方面一切都很好。但如果看起来
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1814/sendmail
那么您的 MTA 配置为只监听环回地址(127.0.0.1:25
),您需要修复这个问题。
答案2
只是一个小问题 - 有什么东西在监听端口 25 吗?您的邮件服务器正在运行吗?如果防火墙阻止它或当该端口上没有任何东西运行时,端口将被关闭。