在 CentOS 中,防火墙通常是 firewalld(CentOS 7 及以上)。下面按常见场景说明如何删除防火墙规则。
firewall-cmd --list-all
查看某个 zone(如 public):
firewall-cmd --zone=public --list-all
例如删除 8080/tcp:
临时删除(重启失效)
firewall-cmd --zone=public --remove-port=8080/tcp
永久删除
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
firewall-cmd --reload
例如删除 http 服务:
firewall-cmd --zone=public --remove-service=http --permanent
firewall-cmd --reload
先查看:
firewall-cmd --list-rich-rules
删除示例:
firewall-cmd --zone=public \
--remove-rich-rule='rule family="ipv4" source address="192.168.1.100" accept' \
--permanent
firewall-cmd --reload
查看:
firewall-cmd --list-forward-ports
删除:
firewall-cmd --zone=public \
--remove-forward-port=port=80:proto=tcp:toport=8080 \
--permanent
firewall-cmd --reload
firewall-cmd --zone=public --remove-all-services --permanent
firewall-cmd --zone=public --remove-all-ports --permanent
firewall-cmd --reload
iptables -L -n --line-number
iptables -D INPUT 3
iptables -F
✅ 改完不生效?
→ 记得 --permanent + firewall-cmd --reload
✅ 不确定用的哪种防火墙?
systemctl status firewalld
如果你能贴出具体规则内容或报错信息,我可以直接帮你写删除命令。