如何详细查询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

相关推荐

  • 如何用U盘制作Linux DVD启动盘?

    制作Linux DVD启动U盘是许多用户在没有光驱的电脑上安装Linux系统的常用方法,尤其适用于需要完整安装包(包含大量软件包)的Linux发行版,以下是详细的制作步骤和注意事项,帮助用户顺利完成操作,准备工作在开始制作前,需确保以下物品和条件准备就绪:Linux ISO镜像文件:从目标Linux发行版官网下……

    2025年8月25日
    5600
  • Linux如何配置支持SMP多处理器协同工作?

    配置Linux支持SMP(对称多处理)是提升服务器和高性能计算系统性能的关键步骤,SMP允许多个CPU核心共享内存和I/O子系统,通过并行处理任务显著提高系统吞吐量,以下是详细的配置流程和优化方法,涵盖硬件基础、内核配置、启动参数、系统调优及工具使用等内容,硬件基础准备SMP配置的前提是硬件支持,需确保以下组件……

    2025年10月9日
    4100
  • Linux系统中如何解压tar文件?

    在Linux系统中,tar是一种常用的文件归档工具,它能够将多个文件或目录合并成一个单一的文件,常用于文件的备份、传输和压缩,tar本身只负责打包,不进行压缩,但可以结合gzip、bzip2、xz等压缩工具生成压缩的归档文件(如.tar.gz、.tar.bz2、.tar.xz等),解压tar文件时,需要根据不同……

    2025年8月30日
    5200
  • 如何检查PHP版本?

    在Linux系统中,LAMP(Linux + Apache + MySQL/MariaDB + PHP)是常见的Web服务栈,重启LAMP通常用于应用配置更新、服务异常恢复或系统维护,以下是详细操作指南,涵盖不同发行版和常见场景:重启整个LAMP栈Ubuntu/Debian(使用 systemd)sudo sy……

    2025年8月4日
    5900
  • 如何在电脑上正确安装Linux系统?

    安装Linux系统需经过准备、安装、配置三个主要阶段,以下是详细步骤及注意事项,安装前准备数据备份安装过程会涉及硬盘分区操作,可能导致数据丢失,需提前备份重要文件至移动硬盘、云盘或另一块硬盘,检查硬件兼容性Linux对大多数硬件支持良好,但需确认特殊设备(如独立显卡、无线网卡)的驱动情况,可通过查询硬件型号……

    2025年8月21日
    5500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信