firewall-cmd 简介

firewall-cmd 是 firewalld 的命令行管理工具,主要用于 Fedora、RHEL、CentOS Stream、Rocky Linux、AlmaLinux 等发行版。

核心概念

概念说明示例
Zone 防火墙区域,通常将网卡划入某个 Zone,不同 Zone 使用不同规则 FedoraServer、public、docker
Service 预定义的服务规则,内部包含对应端口/协议 ssh → TCP 22、https → TCP 443
Port 直接指定需要开放的端口和协议 2222/tcp、9108/tcp

关系可以简单理解:

 
网卡 enp4s0
    ↓
Zone: FedoraServer
    ├── Service: ssh、cockpit
    └── Port: 2222/tcp、9108/tcp
 

常用查看命令

 
# 状态
firewall-cmd --state

# 查看网卡所在 Zone
firewall-cmd --get-active-zones

# 查看当前 Zone 的完整配置
firewall-cmd --list-all

# 查看开放的 Service
firewall-cmd --list-services

# 查看开放的 Port
firewall-cmd --list-ports

# 查看 Service 具体定义
firewall-cmd --info-service=ssh
 

开放/删除端口

 
# 临时开放
firewall-cmd --add-port=2222/tcp

# 永久开放
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload

# 永久删除
firewall-cmd --permanent --remove-port=2222/tcp
firewall-cmd --reload
 

开放/删除 Service

 
# 开放 SSH
firewall-cmd --permanent --add-service=ssh

# 删除 SSH
firewall-cmd --permanent --remove-service=ssh

firewall-cmd --reload
 

常用操作组合

 
# 1. 看 Zone
firewall-cmd --get-active-zones

# 2. 看规则
firewall-cmd --list-all

# 3. 临时开放测试
firewall-cmd --add-port=9108/tcp

# 4. 测试正常后永久保存
firewall-cmd --permanent --add-port=9108/tcp
firewall-cmd --reload

# 5. 最后确认
firewall-cmd --list-all
 

一句话记忆:Zone 决定“哪组防火墙规则”,Service 按服务开放,Port 按端口直接开放;--permanent + --reload 用于永久保存并加载规则。

 
 
 
 
posted @ 2026-09-15 15:55  你说夕阳很美  阅读(10)  评论(0)    收藏  举报