CentOS 查看防火墙状态命令详解(适用于CentOS 7/8)

原创 2025-09-10 09:18:19电脑知识
789

CentOS 7及更高版本默认采用firewalld作为防火墙管理工具,其动态规则管理机制和区域化设计显著提升了安全运维效率。本文ZHANID工具网将系统梳理查看防火墙状态的常用命令,并结合端口管理、服务配置等核心操作进行详细说明。

一、防火墙状态检查基础命令

1. 查看防火墙服务运行状态

通过systemctl命令可获取防火墙服务的详细状态信息:

systemctl status firewalld

输出示例:

● firewalld.service - firewalld - dynamic firewall daemon
  Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
  Active: active (running) since 二 2025-09-09 10:00:00 CST; 5min ago
 Main PID: 1234 (firewalld)
  CGroup: /system.slice/firewalld.service
      └─1234 /usr/bin/python3 -Es /usr/sbin/firewalld --nofork --nopid

关键字段解析

  • Active: active (running):表示防火墙正在运行。

  • Loaded: enabled:表示防火墙已设置为开机自启。

2. 快速检查防火墙是否运行

使用firewall-cmd命令可获取简化状态信息:

firewall-cmd --state

输出结果为running(运行中)或not running(未运行)。

二、防火墙规则与端口管理

1. 查看当前开放的端口

firewall-cmd --zone=public --list-ports

输出示例

80/tcp 443/tcp 22/tcp

表示当前公共区域(public)开放了HTTP(80)、HTTPS(443)和SSH(22)端口。

2. 查看所有区域规则

firewall-cmd --list-all

输出示例

public (active)
 target: default
 icmp-block-inversion: no
 interfaces: eth0
 sources: 
 services: ssh dhcpv6-client
 ports: 80/tcp 443/tcp
 protocols: 
 masquerade: no
 forward-ports: 
 source-ports: 
 icmp-blocks: 
 rich rules:

关键信息

  • active:当前生效的区域。

  • services:预定义服务(如SSH、DHCPv6客户端)。

  • ports:手动开放的端口。

3. 端口开放与关闭操作

开放端口(永久生效)

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload # 重新加载规则

关闭端口

firewall-cmd --zone=public --remove-port=8080/tcp --permanent
firewall-cmd --reload

三、防火墙区域与接口管理

1. 查看活动区域

firewall-cmd --get-active-zones

输出示例

public
 interfaces: eth0 eth1

表示eth0eth1网卡均属于public区域。

2. 查看接口所属区域

firewall-cmd --get-zone-of-interface=eth0

输出结果为接口所属区域名称(如publictrusted)。

3. 修改接口区域

firewall-cmd --zone=trusted --change-interface=eth0 --permanent
firewall-cmd --reload

eth0接口从public区域切换至trusted区域(完全信任环境)。

CentOS  logo.webp

四、防火墙服务管理命令

1. 启动/停止/重启防火墙

systemctl start firewalld  # 启动
systemctl stop firewalld   # 停止
systemctl restart firewalld # 重启

2. 设置开机自启

systemctl enable firewalld  # 启用开机自启
systemctl disable firewalld # 禁用开机自启

3. 验证开机自启状态

systemctl is-enabled firewalld

输出结果为enableddisabled

五、高级操作与故障排查

1. 查看防火墙日志

journalctl -u firewalld --no-pager -n 50 # 查看最近50条日志

2. 紧急模式(拒绝所有流量)

firewall-cmd --panic-on   # 开启紧急模式
firewall-cmd --panic-off   # 关闭紧急模式

3. 常见问题处理

问题:修改规则后未生效。
解决

  1. 检查是否遗漏--permanent参数(临时规则重启后失效)。

  2. 执行firewall-cmd --reload重新加载规则。

  3. 确认修改的区域是否正确(如public而非work)。

六、命令速查表

命令 功能说明
systemctl status firewalld 查看防火墙服务状态
firewall-cmd --state 快速检查防火墙是否运行
firewall-cmd --zone=public --list-ports 查看公共区域开放端口
firewall-cmd --list-all 查看所有区域规则
firewall-cmd --get-active-zones 查看活动区域
firewall-cmd --zone=public --add-port=80/tcp --permanent 永久开放端口
firewall-cmd --reload 重新加载防火墙规则
systemctl enable firewalld 设置开机自启

总结

CentOS 7/8的firewalld防火墙通过区域化设计和动态规则管理,为系统提供了灵活的安全防护机制。掌握上述命令后,用户可高效完成状态检查、端口管理、区域配置等核心操作。关键注意事项

  1. 修改规则后务必执行firewall-cmd --reload或重启服务。

  2. 生产环境中谨慎使用--panic-on紧急模式。

  3. 长期开放的端口建议通过--permanent参数持久化配置。

CentOS 防火墙
THE END
zhanid
勇气也许不能所向披靡,但胆怯根本无济于事

相关推荐

Linux防火墙进阶:nftables替代iptables的现代配置方法
iptables作为传统的防火墙工具,长期以来一直是Linux系统管理员的首选。然而,iptables复杂的语法和规则管理使得其配置过程相对繁琐。为了克服这些局限性,Linux内核引入了nf...
2025-03-19 电脑知识
1000

Linux服务器开放防火墙端口的三种方法详解
本文将详细介绍在Linux服务器上开放防火墙端口的三种方法,包括使用firewall-cmd和iptables这两种常用的命令行工具。无论是初学者还是有一定经验的系统管理员,都能通过本文掌...
2025-02-17 编程技术
1431

如何判断服务器防火墙是否屏蔽了搜索引擎蜘蛛?
搜索引擎蜘蛛是搜索引擎用来抓取网页内容并将其纳入索引的程序,它们的正常访问对于网站在搜索结果中的排名和曝光度起着关键作用。有时候服务器防火墙可能会意外地屏蔽搜索引...
2024-09-21 站长之家
1078

电脑防火墙在哪里设置关闭(四种关闭Windows防火墙的方法详解)
在使用Windows操作系统的过程中,有时我们可能需要关闭系统自带的防火墙功能。这可能是为了安装特定的软件、进行网络调试或是使用第三方防火墙替代品。无论出于何种原因,正确...
2024-08-12 电脑知识
1928

CentOS 7正式退役,企业需迁移到新平台以确保安全与支持
在全球服务器和企业级应用中广受欢迎的 CentOS 7 今日正式结束其生命周期,标志着 CentOS 时代的落幕。CentOS 7 自 2014 年发布以来,凭借其开源免费、稳定性强和硬件兼容性高...
2024-06-30 新闻资讯
573

Cisco推出寻找防火墙漏洞AI工具
Cisco的高级副总裁Jeetu Patel在澳大利亚墨尔本举行的Cisco Live活动上表示,人工智能将改变信息安全领域,但用户最终需要为拥有这一二进制智能伙伴而付费。他指出,攻击者...
2023-12-06 新闻资讯
473