在 CentOS 上通过 iptables 开放端口,常见做法如下(以 CentOS 6 / 早期 CentOS 7 为主,CentOS 7+ 默认更推荐 firewalld,但 iptables 仍可用)。
systemctl status iptables
或
service iptables status
如果未安装:
yum install -y iptables-services
systemctl enable iptables
systemctl start iptables
iptables -L -n
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
service iptables save
iptables-save > /etc/sysconfig/iptables
或
service iptables save
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
只允许某个 IP 访问端口:
iptables -I INPUT -p tcp -s 1.2.3.4 --dport 3306 -j ACCEPT
iptables -L INPUT --line-numbers
iptables -D INPUT 3
systemctl restart iptables
或
service iptables restart
如果你使用的是 CentOS 7+,系统默认使用 firewalld,建议:
systemctl stop firewalld
systemctl disable firewalld
systemctl start iptables
systemctl enable iptables
ss -lntp
或
netstat -lntp
如果你愿意,可以告诉我:
我可以给你一条完全适配你环境的命令。