sudo systemctl status firewalld
查看是否显示 **inactive (dead)**,或 sudo firewall-cmd --state
显示 **not running**。 ,2. 若使用 **iptables**,执行 sudo iptables -L
查看规则列表,无规则且所有链为 **ACCEPT** 通常表示关闭。 ,3. 使用 sudo ufw status
(如启用UFW)显示 **Status: inactive** 即关闭。如何检查Linux防火墙是否关闭?专业操作指南
为什么需要检查防火墙状态?
Linux防火墙是系统安全的核心防线,负责控制网络流量进出,在以下场景需确认其状态:
- 部署服务时端口无法访问
- 服务器迁移或安全审计
- 故障排除时排除网络拦截因素
注意:生产环境不建议永久关闭防火墙,可通过开放端口解决连通性问题。
不同防火墙工具的检查方法
▶ 方法1:检查 firewalld(CentOS/RHEL/Fedora)
执行命令查看运行状态:
sudo systemctl status firewalld
关键返回结果解读:
- Active: active (running) → 防火墙正在运行
- Active: inactive (dead) → 防火墙已关闭
查看详细规则:sudo firewall-cmd --list-all
▶ 方法2:检查 UFW(Ubuntu/Debian)
执行状态检查命令:
sudo ufw status
结果说明:
- Status: active → 防火墙启用中
- Status: inactive → 防火墙已禁用
查看详细规则:sudo ufw status verbose
▶ 方法3:检查 iptables(传统工具)
查看规则列表:
sudo iptables -L -n -v
关闭状态的特征:
- 所有链(INPUT/FORWARD/OUTPUT)的默认策略为 ACCEPT
- 规则列表中无任何拦截条目(空列表)
检查持久化规则:sudo iptables-save
高级检测与注意事项
⚠️ 特殊情况处理:
- 多工具共存:系统可能同时安装多个防火墙(如firewalld+iptables),需逐一检查
- 服务未安装:若返回”command not found”,说明该防火墙工具未安装
- 云服务器:阿里云/酷盾等需额外检查安全组规则
服务自启检查:
sudo systemctl is-enabled firewalld
返回 disabled 表示开机不启动
防火墙操作的安全建议
- 临时禁用:
sudo systemctl stop firewalld
(重启后恢复) - 永久禁用(慎用):
sudo systemctl disable --now firewalld
- 推荐替代方案:通过放行特定端口解决连通问题
sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --reload
重要:操作防火墙前请确认拥有root权限,并备份重要数据。
引用说明
基于以下权威资料:
- Red Hat Enterprise Linux 防火墙文档(官方)
- Ubuntu UFW 手册页(man pages)
- Linux内核网络过滤框架(iptables)技术白皮书
操作建议符合CIS Linux安全基准要求,适用于CentOS 7+、Ubuntu 18.04+等主流发行版。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/20481.html