温馨提示×

centos防火墙规则如何删

小樊
53
2026-09-21 03:27:35
栏目: 智能运维

在 CentOS 中,防火墙通常是 firewalld(CentOS 7 及以上)。下面按常见场景说明如何删除防火墙规则。


一、firewalld(CentOS 7/8/Stream 默认)

1️⃣ 查看当前防火墙规则

firewall-cmd --list-all

查看某个 zone(如 public):

firewall-cmd --zone=public --list-all

2️⃣ 删除端口规则

例如删除 8080/tcp:

临时删除(重启失效)

firewall-cmd --zone=public --remove-port=8080/tcp

永久删除

firewall-cmd --zone=public --remove-port=8080/tcp --permanent
firewall-cmd --reload

3️⃣ 删除服务规则

例如删除 http 服务:

firewall-cmd --zone=public --remove-service=http --permanent
firewall-cmd --reload

4️⃣ 删除富规则(rich rule)

先查看:

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

5️⃣ 删除转发 / 端口映射

查看:

firewall-cmd --list-forward-ports

删除:

firewall-cmd --zone=public \
--remove-forward-port=port=80:proto=tcp:toport=8080 \
--permanent
firewall-cmd --reload

6️⃣ 清空整个 zone 的规则(谨慎)

firewall-cmd --zone=public --remove-all-services --permanent
firewall-cmd --zone=public --remove-all-ports --permanent
firewall-cmd --reload

二、iptables(老系统或手动关闭 firewalld)

查看规则

iptables -L -n --line-number

删除某条规则(按行号)

iptables -D INPUT 3

清空所有规则(危险)

iptables -F

三、常见问题

✅ 改完不生效?
→ 记得 --permanent + firewall-cmd --reload

✅ 不确定用的哪种防火墙?

systemctl status firewalld

如果你能贴出具体规则内容或报错信息,我可以直接帮你写删除命令。

0 踩