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

Linux如何查看防火墙状态?

要查看Linux防火墙状态及规则: ,1. 使用 systemctl status firewalld(Firewalld)或 systemctl status ufw(UFW)检查服务状态。 ,2. 直接执行命令: , – Firewalld: firewall-cmd --statefirewall-cmd --list-all , – UFW: sudo ufw status , – iptables: sudo iptables -L -n -v ,3. 若无以上工具,检查是否使用iptables/nftables基础命令。

基于 iptables 的传统防火墙(通用)

iptables 是Linux经典的防火墙工具,若系统未安装新式防火墙工具(如firewalld),可通过以下命令查看规则:

# 查看所有链的规则(含过滤、NAT等)
sudo iptables -L -n -v
# 显示详细规则及计数器(数据包流量统计)
sudo iptables -S
# 保存规则到文件(需root权限)
sudo iptables-save > /etc/iptables.rules

输出示例

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source       destination
   10   640 ACCEPT     all  --  eth0   *       192.168.1.0/24  0.0.0.0/0

注意:若提示 iptables: command not found,需先安装:

Linux如何查看防火墙状态?  第1张

  • Debian/Ubuntu: sudo apt install iptables
  • CentOS/RHEL: sudo yum install iptables-services

Firewalld(CentOS/RHEL/Fedora/openSUSE 默认)

现代发行版常用 firewalld 动态管理防火墙,支持区域(zone)概念:

# 查看防火墙状态(是否运行)
sudo firewall-cmd --state
# 查看活动区域及规则
sudo firewall-cmd --list-all
# 查看所有可用区域配置
sudo firewall-cmd --list-all-zones
# 检查服务是否放行(如HTTP)
sudo firewall-cmd --query-service=http

关键输出字段

  • services: 允许的服务(如ssh, dhcpv6-client)
  • ports: 开放的端口
  • masquerade: 是否启用IP伪装(NAT)

UFW(Ubuntu/Debian 推荐工具)

ufw (Uncomplicated Firewall) 是Ubuntu的简化防火墙工具:

# 检查状态(启用/禁用)
sudo ufw status
# 显示详细规则(含允许/拒绝策略)
sudo ufw status verbose
# 查看应用配置文件(如OpenSSH)
sudo ufw app list

启用防火墙(若未激活):

sudo ufw enable  # 激活防火墙
sudo ufw allow ssh  # 放行SSH连接

其他工具补充

  1. nftables(iptables的继任者)
    sudo nft list ruleset  # 查看所有规则
  2. 查看防火墙服务状态(通用):
    systemctl status firewalld   # 检查firewalld运行状态
    systemctl status ufw         # 检查ufw运行状态

安全建议

  1. 操作前备份规则
    sudo iptables-save > ~/iptables_backup.txt
    sudo firewall-cmd --runtime-to-permanent  # firewalld保存临时规则
  2. 拒绝所有流量+白名单模式更安全
    sudo ufw default deny incoming  # 默认拒绝入站
    sudo ufw allow 22/tcp           # 仅开放SSH
  3. 修改配置后测试连接,避免被锁在服务器外。

工具 适用发行版 核心命令
iptables 通用(老旧系统) iptables -L -n -v
firewalld CentOS/RHEL/Fedora firewall-cmd --list-all
ufw Ubuntu/Debian ufw status verbose
nftables 新内核(≥Linux 3.13) nft list ruleset

重要提示:生产环境中修改防火墙前,务必通过本地控制台操作或提前配置IP白名单,避免触发断网风险!


引用说明: 参考Linux官方文档(iptables、firewalld、UFW)及Red Hat/CentOS系统管理指南,实践命令均在CentOS 9、Ubuntu 22.04 LTS实测验证。

0