如何详细查询Linux防火墙的开启状态、规则列表和配置方法?

Linux防火墙是系统安全的核心组件,及时查询其规则状态、开放的端口及服务,对保障系统安全和排查网络问题至关重要,不同Linux发行版可能采用不同的防火墙工具(如iptables、firewalld、nftables),查询方法也存在差异,本文将详细介绍主流防火墙的查询方式,帮助用户快速掌握规则查看技巧。

如何查询linux防火墙

iptables防火墙查询(适用于CentOS 6、Debian 7等旧系统)

iptables是Linux传统的防火墙工具,通过规则链控制流量,查询规则的核心命令是iptables -L -n -v,参数解释如下:

  • -L:列出所有规则链(如INPUT、OUTPUT、FORWARD);
  • -n:以数字形式显示IP和端口(避免DNS解析延迟);
  • -v:显示详细统计(数据包数、字节数)。

输出表格关键列说明
| 列名 | 含义 | 示例值 |
|————|————————–|—————–|
| Chain | 规则链 | INPUT |
| Target | 目标动作(ACCEPT/DROP) | ACCEPT |
| Proto | 协议(tcp/udp/icmp) | tcp |
| Source | 源IP地址 | 0.0.0.0/0 |
| Destination| 目标IP地址 | 0.0.0.0/0 |
| Port | 端口号 | 22 |
| pkts | 匹配的数据包数 | 1024 |
| bytes | 匹配的字节数 | 102400 |

Chain INPUTTargetACCEPTPort22,表示允许SSH流量访问。

firewalld防火墙查询(适用于CentOS 7+、RHEL 7+等新系统)

firewalld是动态防火墙管理工具,支持区域(Zone)和服务(Service)策略,查询命令更灵活:

如何查询linux防火墙

  • firewall-cmd --list-all:显示当前区域的所有配置(接口、服务、端口等);
  • firewall-cmd --list-ports:仅列出开放的端口(如“8080/tcp”);
  • firewall-cmd --list-services:显示允许的服务名称(如“http”“ssh”)。

输出表格关键列说明
| 列名 | 含义 | 示例值 |
|————|————————–|—————–|
| Zone | 安全区域(如public/内部)| public |
| Interface | 绑定的网络接口 | eth0 |
| Services | 允许的服务列表 | ssh, https |
| Ports | 开放的端口列表 | 8080/tcp |
| Sources | 信任的源IP段 | 192.168.1.0/24 |

public区域下Services包含https,表示允许HTTPS流量通过。

nftables防火墙查询(适用于Ubuntu 20.04+、CentOS 8+等新系统)

nftables是iptables的替代方案,语法更简洁,查询命令为nft list ruleset,输出以“表(table)-链(chain)-规则(rule)”结构呈现。

table inet filter {  
  chain input {  
    type filter hook input priority 0;  
    policy accept;  
    tcp dport 22 accept;  # 允许SSH  
  }  
}  

其中tcp dport 22 accept明确表示允许22端口流量。

如何查询linux防火墙

通用查询步骤

  1. 确认防火墙状态
    • firewalld:systemctl status firewalld(查看是否运行);
    • iptables:service iptables status(查看是否启动)。
  2. 查看日志
    • firewalld日志:journalctl -u firewalld
    • iptables日志:grep iptables /var/log/messages(需开启日志记录)。

相关问答FAQs

问题1:如何判断当前系统使用的是哪种防火墙?
解答:可通过以下方式判断:

  1. 检查服务状态:systemctl status firewalld,若显示“active (running)”,则使用firewalld;service iptables status,若显示“running”,则使用iptables。
  2. 查看命令是否存在:which firewalld存在则优先使用firewalld,which iptables存在则可能使用iptables。
  3. 查看配置文件路径:firewalld配置在/etc/firewalld/,iptables规则在/etc/sysconfig/iptables(CentOS 6)或/etc/iptables/rules.v4(Ubuntu)。

问题2:查询到防火墙规则后,如何临时开放某个端口(如8080端口)?
解答:根据防火墙类型操作:

  1. firewalld:
    • 临时开放(重启后失效):firewall-cmd --add-port=8080/tcp
    • 永久开放:firewall-cmd --add-port=8080/tcp --permanent,然后重载防火墙firewall-cmd --reload
  2. iptables:
    • 临时开放:iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
    • 永久保存规则(CentOS 6):service iptables save
    • Ubuntu系统:iptables-save > /etc/iptables/rules.v4

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

(0)
酷番叔酷番叔
上一篇 2025年10月8日 19:29
下一篇 2025年10月8日 20:25

相关推荐

  • Ubuntu更新后无法联网?如何解决

    在Linux系统中更改Python版本(包括安装、切换默认版本及管理多版本)是常见的开发需求,以下为详细操作指南,遵循最佳实践并兼顾系统安全:安装新版本Python通过包管理器安装sudo apt install python3.11 # 替换为目标版本(如3.9、3.10)# CentOS/RHELsudo……

    2025年7月27日
    10100
  • Linux下如何破解WiFi密码?详细操作步骤与方法有哪些?

    在Linux系统中,针对WiFi密码的破解操作需严格遵循法律法规,仅限用于授权网络的安全测试或自家网络管理,未经授权入侵他人网络属违法行为,以下内容仅从技术原理角度介绍Linux环境下WiFi密码测试的流程及工具使用,请务必合法合规操作,准备工作硬件要求:需支持监听模式的无线网卡,常见型号如RTL8187L、A……

    2025年9月27日
    13000
  • 在Linux操作系统中,解压tgz文件的具体命令和参数有哪些呢?

    在Linux系统中,tgz文件是一种常见的压缩文件格式,它实际上是经过tar打包和gzip压缩的组合文件(扩展名通常为.tgz或.tar.gz),这种格式能够高效地打包多个文件或目录,并通过压缩减少存储空间占用,因此在软件分发、日志归档等场景中广泛应用,本文将详细介绍在Linux系统中解压tgz文件的多种方法……

    2025年8月24日
    29900
  • Linux触摸屏失灵?一键安装驱动解决

    安装前的准备确认硬件识别终端执行:lsusb # 查看USB触摸设备cat /proc/bus/input/devices | grep -i touch # 检查内核是否识别触摸设备若设备未列出,需检查硬件连接或驱动兼容性(如部分旧设备需内核模块usbtouchscreen),更新系统避免依赖冲突:sudo……

    2025年6月13日
    16600
  • 如何搭建Linux服务器?新手入门详细步骤

    在搭建Linux服务器时,需从硬件选型、系统安装、基础配置、安全加固到服务部署逐步推进,确保服务器稳定、安全且满足业务需求,以下是详细步骤:硬件选型与准备硬件配置需根据服务器用途(如Web服务、数据库、文件存储等)合理规划,核心参数包括CPU、内存、存储、网络及冗余设计,用途CPU核心数内存容量存储类型网络带宽……

    2025年9月21日
    12200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信