Linux防火墙状态如何快速查看?

通过 iptables 查看(传统工具)

适用于较旧系统(如CentOS 6)或未迁移到新工具的环境。
操作步骤:

  1. 查看规则

    sudo iptables -L -n -v  # 列出IPv4规则(含数据包计数)
    sudo ip6tables -L -n -v # 查看IPv6规则

    -L:列出规则;-n:禁用反向解析(加速显示);-v:显示详细信息。

  2. 查看特定链(如INPUT链):

    sudo iptables -L INPUT -n -v

通过 firewalld 查看(主流工具)

CentOS/RHEL 7+、Fedora、OpenSUSE等默认使用。
操作步骤:

  1. 检查服务状态

    sudo systemctl status firewalld  # 确认firewalld是否运行

    若状态为active (running),则防火墙已启用。

  2. 查看所有规则

    sudo firewall-cmd --list-all  # 显示默认区域规则

    输出示例:

    public (active)
      target: default
      services: ssh dhcpv6-client http
      ports: 80/tcp
      forward: no
  3. 查看详细配置

    sudo firewall-cmd --list-ports     # 开放端口
    sudo firewall-cmd --list-services  # 允许的服务
    sudo firewall-cmd --list-rich-rules # 复杂规则(如IP白名单)

通过 UFW 查看(Ubuntu/Debian 系列)

Ubuntu的简化工具(底层基于iptables)。
操作步骤:

  1. 检查状态

    sudo ufw status  # 若显示"Status: active"则已启用

    输出示例:

    Status: active
    To             Action   From
    --             ------   ----
    22/tcp         ALLOW    Anywhere
    80/tcp         ALLOW    192.168.1.0/24
  2. 查看详细规则

    sudo ufw status verbose numbered  # 带编号的详细规则

通过 nftables 查看(新一代工具)

逐步替代iptables(Debian 10+、CentOS 8+默认)。
操作步骤:

sudo nft list ruleset  # 列出所有规则

输出包含表(table)、链(chain)、规则(rule)的层级结构。


通用检查方法

  1. 确认防火墙是否运行

    sudo systemctl is-active firewalld   # 检查firewalld
    sudo systemctl is-active ufw         # 检查UFW
  2. 查看内核级规则(所有工具底层依赖):

    sudo cat /proc/net/ip_tables_names  # 检查iptables模块
    sudo lsmod | grep nf_tables         # 检查nftables模块

注意事项

  1. 权限要求:所有命令需root权限,否则会提示权限不足。
  2. 多工具冲突:避免同时启用多个防火墙(如iptables+firewalld),可能导致规则混乱。
  3. 规则持久化
    • iptables:规则重启失效,需用iptables-save > /etc/iptables/rules.v4保存。
    • firewalld/UFW:规则自动保存。
  4. 诊断工具
    sudo ss -tuln  # 查看实际监听的端口(辅助验证防火墙是否生效)

工具 适用系统 关键命令
iptables 旧版系统 iptables -L -n -v
firewalld CentOS/RHEL/Fedora firewall-cmd --list-all
UFW Ubuntu/Debian ufw status
nftables 新版系统(≥2018年) nft list ruleset

根据系统类型选择对应工具,若命令未找到,说明该工具未安装(如Ubuntu需手动安装firewalld)。


引用说明

  • iptables 手册页:man iptables
  • firewalld 官方文档:firewalld.org
  • UFW 社区指南:Ubuntu Wiki UFW
  • nftables 快速参考:nftables wiki
    (操作前建议查阅官方文档以获取最新信息。)

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

(0)
酷番叔酷番叔
上一篇 6天前
下一篇 6天前

相关推荐

  • 如何快速拓展人脉?

    访问前的准备工作确保 MySQL 服务已运行 sudo systemctl status mysql # 检查服务状态sudo systemctl start mysql # 若未运行则启动服务获取有效账户信息需准备 MySQL 用户名和密码(默认管理员账户为 root),新安装的 MySQL 可通过临时密码登……

    2025年6月27日
    800
  • 如何快速查看已装Boost包?

    在Linux系统中卸载Boost库需要根据其安装方式选择对应方法,Boost通常通过包管理器安装或源码编译安装,以下是详细卸载步骤及注意事项:通过包管理器卸载(推荐方式)若Boost通过系统包管理器(如APT、YUM/DNF、Zypper)安装,使用对应命令卸载:Debian/Ubuntu(APT)# 卸载所有……

    2025年7月5日
    1100
  • vi真有gdb模式?

    场景1:在gdb中误入vi界面(常见原因)当使用gdb调试时,若通过layout命令启用TUI(文本用户界面)或设置EDITOR=vi,gdb会调用vi风格的界面,退出方法如下:退出gdb的TUI模式按 Ctrl + X, Ctrl + A 组合键(先按Ctrl+X,松开后按Ctrl+A)或执行命令: (gdb……

    3天前
    800
  • 如何启动Linux桌面?

    前提条件已安装 Linux 系统确保计算机已安装支持图形界面的 Linux 发行版(如 Ubuntu、Fedora、Debian),验证方法:开机后若看到命令行界面(黑屏白字),需额外安装桌面环境(见下文),确认桌面环境已安装主流桌面环境:GNOME(Ubuntu默认)、KDE Plasma(Kubuntu……

    2025年6月26日
    1200
  • Linux如何正确查看所有用户账户?

    方法1:查看/etc/passwd文件(最基础)命令:cat /etc/passwd原理与输出解析:Linux将所有用户信息存储在/etc/passwd文件中,每行代表一个用户,格式为:用户名:密码占位符(x):用户ID(UID):组ID(GID):描述信息:家目录:默认Shelljohn:x:1001:100……

    3天前
    800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信