讲师中心 微信公众号
AI工具推荐 视频效率加速

CentOS 7怎么修改防火墙策略配置

星婷君_6420

星婷君_6420

发布时间:2026-08-16 10:52:07

|

978人浏览过

|

来源于php中文网

原创

firewalld规则不生效或重启后丢失,主因是未执行--reload、--permanent缺失、XML语法错误、rich-rule误用普通端口命令、服务未启用或配置未绑定zone。

centos 7怎么修改防火墙策略配置

firewalld 是 CentOS 7 默认的防火墙管理工具,修改策略不是改一行配置就完事——它分「命令行实时操作」和「手动编辑 XML 文件」两种路径,但二者行为不完全等价,容易导致规则不生效或重启后丢失。

用 firewall-cmd --permanent 添加端口时必须 reload

直接执行 firewall-cmd --permanent --add-port=6379/tcp 只会写入配置文件(如 /etc/firewalld/zones/public.xml),不会立即生效。常见错误是加完就去连 Redis,结果连不上。

  • 必须跟上 firewall-cmd --reload 才加载新规则到运行时
  • --permanent 缺失会导致重启后规则消失;只加不加该参数,规则仅当前会话有效
  • 如果 firewall-cmd --reload 报错(比如 XML 格式损坏),整个防火墙可能拒绝所有连接,建议先备份:cp /etc/firewalld/zones/public.xml{,.bak}

手动改 public.xml 后不能只 systemctl restart firewalld

很多人编辑完 /etc/firewalld/zones/public.xml 就直接 systemctl restart firewalld,结果发现规则没加载——因为 firewalld 服务重启时并不强制重读所有 zone 文件,尤其当有语法错误或缓存残留时。

CentOS Linux 7.9.2009
CentOS Linux 7.9.2009

CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离

下载
  • 推荐做法:先 firewall-cmd --reload,它会校验 XML 并热加载;失败时会明确提示哪行出错
  • 若执意用 systemctl restart firewalld,需确认服务真正启动成功:systemctl status firewalld 中状态为 active (running),且无 Failed to load 类日志
  • 注意:手动添加的 <port> 标签必须在 <zone> 根节点内,且属性顺序无关,但 protocol 和 port 属性名不能拼错(如写成 protcol 就静默忽略)

限制某 IP 访问指定端口要用 rich-rule,不是 --add-port

想让只有 192.168.1.100 能连 3306?别用 --add-port=3306/tcp,那是全放开。得用富规则(rich rule)。

  • 正确命令:firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="3306" protocol="tcp" accept'
  • 单引号必须包裹整条规则,内部双引号不能省;accept 末尾不能加分号或逗号
  • 这条规则和普通端口规则互不影响:即使你删了 3306 的开放端口,只要 rich-rule 存在,该 IP 仍可访问
  • 查是否生效:firewall-cmd --list-all --zone=public 里会显示 rules 段,而不是 ports 段

规则冲突时,rich-rule 优先级高于普通端口规则

如果你既开了 --add-port=8080/tcp,又加了 rich-rule 拒绝某个 IP 访问 8080,后者会生效。但反过来——先加 rich-rule 放通某 IP 的 22,再用 --remove-port=22/tcp ——不会影响 rich-rule 的效果。

  • firewalld 规则匹配是“自上而下”,rich-rule 插入位置由 firewalld 内部决定,用户不可控
  • 最稳妥的调试方式:firewall-cmd --list-all-zones 看所有 zone 的完整输出,确认目标规则确实出现在对应 zone 下
  • 生产环境别依赖“先删后加”,用 --query-rich-rule=... 和 --remove-rich-rule=... 显式管理,避免残留
实际改策略最易被忽略的一点:firewalld 的 --permanent 操作不验证端口是否真实存在、服务是否监听,它只管写配置。所以即使你开放了 9999/tcp,但应用根本没监听,外部依然连不通——这时候问题不在防火墙,而在服务本身。

热门AI工具

更多
PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

相关专题

更多
centos
centos

PHP中文网为大家提供centos相关信息,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,是免费的、开源的、可以重新分发的开源操作系统,PHP中文网提供centos相关文章,以及安装教程。

3389

2023.06.16

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

6661

2023.10.27

CentOS安装部署教程精选
CentOS安装部署教程精选

CentOS安装部署专题提供 CentOS Stream 9/10 服务器安装与初始化配置教程,涵盖 ISO 镜像下载、系统分区、最小化安装、网络配置、SSH远程连接、防火墙、软件源、时区同步、用户权限和常见安装故障排查,适合新手搭建 Linux 服务器环境及运维人员快速部署 CentOS 系统。

194

2026.05.29

CentOS运维命令大全
CentOS运维命令大全

CentOS运维命令专题整理 CentOS 服务器日常管理常用命令,覆盖系统信息查看、用户与权限管理、服务启动停止、进程监控、端口查看、日志分析、磁盘空间清理、软件包安装、定时任务配置和故障排查方法,帮助运维人员高效完成 CentOS 系统维护工作。

188

2026.05.29

CentOS建站环境搭建实战教程
CentOS建站环境搭建实战教程

CentOS建站环境专题围绕服务器网站部署场景,系统讲解在 CentOS 上安装和配置 Nginx、Apache、PHP、MySQL、MariaDB、PHP-FPM、SSL证书、网站目录权限、虚拟主机、反向代理和 WordPress 等常见建站环境,适合个人站长和运维人员搭建稳定 Web 服务。

223

2026.05.29

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CentOS 官方文档
CentOS 官方文档

共0课时 | 0人学习

Linux网络安全之防火墙技术汇总
Linux网络安全之防火墙技术汇总

共31课时 | 4.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn