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),可通过以下命令查看规则:

Linux如何查看防火墙状态?

# 查看所有链的规则(含过滤、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,需先安装:

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

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

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

Linux如何查看防火墙状态?

# 查看防火墙状态(是否运行)
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

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

Linux如何查看防火墙状态?

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官方文档(iptablesfirewalldUFW)及Red Hat/CentOS系统管理指南,实践命令均在CentOS 9、Ubuntu 22.04 LTS实测验证。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/15641.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月8日 17:05
下一篇 2025年6月8日 17:13

相关推荐

  • 如何快速检查Linux负载?

    查看Linux系统负载常用命令: ,1. 使用 uptime 或 w 查看平均负载(1/5/15分钟值) ,2. 运行 top 或 htop 实时监控负载及进程 ,3. 通过 cat /proc/loadavg 直接读取内核负载数据 ,负载值表示单位时间内等待CPU的进程数,需结合CPU核心数评估压力。

    2025年6月11日
    100
  • Win电脑怎么装Linux?

    在 Windows 下安装 Linux 主要有三种方式:**双系统**(分区安装,启动时选择)、**虚拟机**(使用 VirtualBox/VMware 等软件模拟完整环境)、**WSL**(Windows Subsystem for Linux,微软官方支持,轻量级,无需重启)。

    2025年6月6日
    100
  • 如何在Linux系统中快速查看主机序列号?

    在Linux系统中,可通过以下方法查看主机序列号:1. 使用命令sudo dmidecode -s system-serial-number直接获取;2. 查看/sys/class/dmi/id/product_serial文件内容,不同硬件厂商或虚拟化环境可能显示格式不同,部分设备需root权限访问。

    2025年5月28日
    400
  • Linux Qt如何快速提升权限?

    在Linux下使用Qt获取权限,可通过以下方法实现: ,1. 使用polkit框架进行细粒度权限管理 ,2. 通过sudo调用特权命令(需用户输入密码) ,3. 设置setuid位(有安全风险,需谨慎) ,4. 创建系统服务与DBus通信 ,推荐优先采用polkit方案保障安全性。

    2025年6月14日
    100
  • Linux日志怎样快速查看方法?

    Linux查看日志常用命令:journalctl查看systemd日志(支持实时跟踪、时间筛选),tail -f实时监控文件(如/var/log/syslog),less或cat浏览文件,grep过滤关键词。

    2025年6月10日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN