systemctl status firewalld
(Firewalld),2. 或 sudo ufw status
(UFW),3. 或 sudo iptables -L
(iptables),若显示”active”或列出规则,则防火墙已开启。常见防火墙工具及对应发行版
防火墙工具 | 适用发行版 | 特点 |
---|---|---|
firewalld | CentOS/RHEL 7+、Fedora、OpenSUSE | 动态管理,支持区域划分 |
iptables | Debian/Ubuntu(旧版)、CentOS 6 | 传统工具,直接操作内核规则 |
ufw | Ubuntu/Debian | 简化iptables的配置界面 |
nftables | 较新内核系统(逐步替代iptables) | 更高效的规则管理 |
查看防火墙状态的具体方法
检查 firewalld 状态
systemctl status firewalld
- 输出说明:
Active: active (running)
→ 防火墙已开启Active: inactive (dead)
→ 防火墙已关闭
- 补充命令:
firewall-cmd --state # 直接返回状态(显示"running"或"not running")
检查 ufw 状态(Ubuntu/Debian)
sudo ufw status
- 输出说明:
Status: active
→ 防火墙已开启(下方显示具体规则)Status: inactive
→ 防火墙已关闭
- 详细模式:
sudo ufw status verbose # 显示详细规则及策略
检查 iptables 状态
sudo iptables -L -n -v # 列出所有规则(无规则也可能表示防火墙关闭)
- 关键提示:
- 若输出中无任何规则或只有
ACCEPT
规则,可能防火墙未启用或未配置拦截策略。 - 需结合服务状态确认:
systemctl status iptables # CentOS 6 service iptables status # 旧版Debian/Ubuntu
- 若输出中无任何规则或只有
检查 nftables 状态
sudo nft list ruleset # 列出所有规则
- 服务状态:
systemctl status nftables
通用检查方法
通过服务管理工具 systemctl
systemctl list-unit-files | grep -E 'firewalld|ufw|iptables|nftables'
- 显示防火墙服务是否被启用(
enabled
表示开机自启)。
查看默认端口状态
使用netstat
或ss
检查关键端口是否被拦截:
sudo netstat -tuln | grep :22 # 查看SSH端口(22)是否开放 sudo ss -tuln | grep :80 # 查看HTTP端口(80)状态
常见问题解决
-
命令未找到?
可能未安装对应工具:# 安装firewalld sudo yum install firewalld # CentOS/RHEL sudo dnf install firewalld # Fedora # 安装ufw sudo apt install ufw # Ubuntu/Debian
-
防火墙开启但未拦截流量?
检查默认策略:firewall-cmd --list-all # 查看firewalld默认区域规则 sudo ufw show raw # 查看ufw底层iptables规则
-
如何临时关闭防火墙?
sudo systemctl stop firewalld # 停止firewalld sudo ufw disable # 禁用ufw
总结建议
- 优先使用发行版默认工具:
CentOS/RHEL 用firewalld
,Ubuntu/Debian 用ufw
。 - 状态确认需双重验证:
服务状态(systemctl
) + 规则状态(如ufw status
)。 - 修改配置后重载:
firewall-cmd --reload # firewalld生效配置 sudo ufw reload # ufw生效配置
- 生产环境谨慎操作:
修改防火墙前备份规则,避免SSH连接中断。
重要安全提示:
防火墙关闭时系统暴露于网络威胁,若非必要,请保持开启状态,并仅放行可信端口(如SSH、HTTP/HTTPS)。
引用说明: 参考Linux官方文档(kernel.org)、Red Hat Enterprise Linux防火墙指南(access.redhat.com)及Ubuntu UFW手册(help.ubuntu.com),确保信息准确性和可靠性。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/26666.html