在 CentOS 上用 iptables 开放端口,常见做法如下(以 CentOS 6 / 7(未使用 firewalld) 为例)。
例如开放 TCP 80 端口:
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
如果是 UDP 端口(比如 53):
iptables -I INPUT -p udp --dport 53 -j ACCEPT
service iptables save
iptables-save > /etc/sysconfig/iptables
或直接:
service iptables save
service iptables restart
systemctl restart iptables
iptables -L -n
或查看指定链:
iptables -L INPUT -n
开放 8080 TCP 端口,并限制只接受 NEW 连接:
iptables -I INPUT -p tcp --dport 8080 -m state --state NEW -j ACCEPT
那就 不要用 iptables 直接改,而是用:
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
netstat -tunlp | grep 80
iptables 从上到下匹配,建议:
iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
如果你愿意,可以告诉我:
我可以给你一条完全可用的命令。