firewalld是Linux中动态防火墙管理工具,支持灵活配置网络区域、服务和端口。通过systemd管理其启停与自启:查看状态用sudo firewall-cmd --state,启动sudo systemctl start firewalld,停止sudo systemctl stop firewalld,重启sudo systemctl restart firewalld;设置开机自启用enable,禁用则用disable。常用操作包括查看默认区域--get-default-zone、列出规则--list-all、临时开放端口--add-port=80/tcp、永久开放需加--permanent并执行--reload生效,移除端口类似。生产环境操作需谨慎评估安全风险。

Linux系统中,firewalld是常用的动态防火墙管理工具,支持网络区域、服务和端口的灵活配置。它取代了早期的iptables服务,使用更直观的方式管理防火墙规则。下面介绍如何在基于systemd的系统(如CentOS、RHEL、Fedora等)中开启、关闭以及控制firewalld。
查看防火墙当前状态
要确认firewalld是否正在运行,可以执行以下命令:
sudo firewall-cmd --state
如果返回running,表示防火墙已启用;若返回not running,则处于关闭状态。
启动与停止firewalld服务
根据需要临时开启或关闭防火墙,可使用以下命令:
- 启动防火墙:
sudo systemctl start firewalld - 停止防火墙:
sudo systemctl stop firewalld - 重启防火墙(修改规则后常用):
sudo systemctl restart firewalld
设置防火墙开机自启或禁用
控制firewalld是否随系统启动自动运行:
- 启用开机自启:
sudo systemctl enable firewalld - 禁用开机自启:
sudo systemctl disable firewalld
注意:禁用后需手动启动,适合测试环境或使用其他防火墙工具(如iptables、ufw)的情况。
常用firewalld控制操作
除了开关服务,还可以通过firewall-cmd命令管理具体规则:
- 查看默认区域:
firewall-cmd --get-default-zone - 列出当前区域的开放服务和端口:
firewall-cmd --list-all - 临时开放某个端口(仅当前会话有效):
firewall-cmd --add-port=80/tcp - 永久开放端口:
firewall-cmd --permanent --add-port=80/tcp
添加后需重新加载配置:
firewall-cmd --reload - 移除已开放的端口:
firewall-cmd --permanent --remove-port=80/tcp
同样需要执行 reload 生效。
基本上就这些。掌握这些基础操作后,可以根据实际需求灵活控制Linux系统的防火墙行为。注意在生产环境中关闭防火墙前务必评估安全风险。










