当前位置:首页 > Linux > 正文

Linux防火墙关闭了吗?

要检查Linux防火墙状态: ,1. 若使用 **firewalld**,执行 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

Linux防火墙关闭了吗?  第1张

▶ 方法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+等主流发行版。

0