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

相关推荐

  • Linux系统如何开启DNS服务?

    在Linux系统中,DNS(域名系统)配置是网络通信的基础,它负责将人类可读的域名(如www.example.com)转换为机器可识别的IP地址,正确配置DNS不仅能确保网络连接正常,还能优化访问速度、提升安全性,本文将详细介绍Linux系统中查看、修改及排查DNS配置的多种方法,涵盖命令行工具、配置文件操作及……

    2025年8月27日
    3000
  • Linux环境下如何正确配置以实现ping通外网?步骤与注意事项详解

    在Linux系统中,ping通外网是排查网络连通性问题的基础操作,涉及本地网络配置、网关、DNS解析、防火墙规则等多个环节,以下是详细步骤及常见问题解决方法,帮助确保Linux主机与外网的正常通信,基础检查:确认本地网络配置首先需确保本地网络接口已正确配置IP地址,且处于活跃状态,使用ip a命令查看网络接口信……

    2025年8月22日
    3300
  • 如何将整个磁盘备份为镜像文件到移动硬盘?

    为什么需要系统备份?数据安全:防止硬件故障、误操作或病毒导致的数据丢失,系统迁移:快速将系统复制到新硬盘或新设备,灾难恢复:系统崩溃后10分钟内还原到正常状态,测试环境:备份后可安全测试新软件或配置,随时回滚,推荐工具及选择建议Clonezilla(首选工具)优点:支持全盘/分区备份、增量备份、跨平台(EXT4……

    2025年8月7日
    3600
  • Linux如何将失败命令的输出保存到文件?

    在Linux系统中,将失败命令的输出保存到文件是脚本调试、错误日志记录和系统监控的常见需求,所谓“失败命令”,通常指返回非0退出状态的命令(Linux中成功退出状态为0,失败为1-255),以下从基础重定向到高级脚本技巧,详细说明如何实现这一目标,并附实用示例和对比表格,基础重定向:利用和&>捕获……

    2025年8月24日
    3500
  • Linux如何安装bz2格式软件?

    在Linux系统中,.bz2后缀的文件通常是通过bzip2算法压缩的归档文件,常见的形式为.tar.bz2(即先tar打包后bzip2压缩),安装这类软件包时,需先解压再根据软件类型进行安装,以下是详细步骤和注意事项,确认文件类型与环境准备通过file命令确认文件是否为bzip2压缩的tar包:file fil……

    2025年8月28日
    2700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信