我在 CentOS 机器上使用 iptables 打开端口 25 时遇到问题。我通过“nmap”和“telnet”检查了连接,但都失败了。
为了使这项工作成功,我做了以下事情:
iptables -I INPUT -p tcp --dport 25 -j ACCEPT
/sbin/service iptables save
/sbin/service iptables restart
输出:
# iptables -L -n
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:32315
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8443
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:465
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# nmap localhost
Starting Nmap 5.51 ( http://nmap.org ) at 2014-02-08 01:46 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000015s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https
2222/tcp open EtherNet/IP-1
8443/tcp open https-alt
Nmap done: 1 IP address (1 host up) scanned in 0.16 seconds
答案1
iptables 规则很好,但是根据 nmap 的输出,我认为您没有在该端口运行任何服务。
通过运行以下命令进行确认:
netstat -nltp | grep 25
如果输出没有显示该端口的任何内容,请确保启动相应的服务。