0

0

firewalld permanent rule reboot 后失效的 --reload 常见误区

舞夢輝影

舞夢輝影

发布时间:2026-01-24 14:31:53

|

628人浏览过

|

来源于php中文网

原创

firewalld --permanent 规则 reboot 后未生效的根本原因是服务启动时仅加载 runtime 配置,permanent 规则必须通过 firewall-cmd --reload 显式应用到内存,否则仍驻留磁盘不生效。

firewalld permanent rule reboot 后失效的 --reload 常见误区

firewalld --permanent 规则为什么 reboot 后没生效

根本原因不是规则没保存,而是 firewalld 服务启动时默认只加载 runtime 配置,--permanent 规则必须显式“应用”到 runtime 才能起作用。reboot 后服务重启,但没人执行 firewall-cmd --reload,所以 permanent 区域里的规则仍躺在磁盘里,没进内存。

firewall-cmd --reload 不等于“重载永久规则”

--reload 的真实行为是:丢弃当前 runtime 配置,然后从 /etc/firewalld/ 下的 permanent 文件(如 zones/public.xml)重新加载——但它**不会校验或同步你之前用 --permanent 命令临时写入的规则**。那些规则只存在 daemon 内存里,没落盘就丢失了。

  • ✅ 正确流程:firewall-cmd --permanent --add-port=8080/tcpfirewall-cmd --reload
  • ❌ 错误操作:firewall-cmd --permanent --add-port=8080/tcp → 直接 reboot(没 reload)
  • ⚠️ 注意:--reload 必须在 --permanent 操作后执行,且需 root 权限;普通用户即使加了 --permanent,不 reload 就等于白加

检查 permanent 规则是否真已落盘

别信命令返回 “success”,要看文件。firewalld 的 permanent 配置最终都写进 /etc/firewalld/zones/ 对应 zone 的 XML 文件里。比如加了端口到 public 区域:

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

之后立刻检查:

一键职达
一键职达

AI全自动批量代投简历软件,自动浏览招聘网站从海量职位中用AI匹配职位并完成投递的全自动操作,真正实现'一键职达'的便捷体验。

下载
  • 运行 cat /etc/firewalld/zones/public.xml,确认 已存在
  • 如果没出现,说明 --permanent 命令压根没成功(常见于 zone 名拼错、服务未运行、或用了 --zone 但当前默认 zone 不是它)
  • firewall-cmd --list-all --permanent 显示的是内存中暂存的 permanent 规则,不是磁盘实际内容,不可靠

systemd 服务依赖和开机自启陷阱

firewalld 默认启用并设为开机启动,但它的 unit 文件里没有强制要求“先读 permanent 再生效”。某些系统(尤其是 minimal CentOS/RHEL 安装)可能因 firewalld.service 启动过早,或被其他网络服务干扰,导致 --reload 逻辑没跑完。

  • 确保服务状态正常:systemctl is-enabled firewalld 应输出 enabledsystemctl status firewalld 看是否 active (running)
  • 不要手动改 /usr/lib/systemd/system/firewalld.service 加 ExecStartPost,firewalld 自身设计就是靠 --reload 同步 permanent,硬塞命令反而易出竞态
  • 真正保险的做法:所有 --permanent 操作后,立刻跟一次 --reload,并在部署脚本里把这两步写成原子操作

permanent 规则本身不会自动活过来,它只是个配置仓库;真正让规则在 reboot 后可用的,永远是那一行 firewall-cmd --reload —— 而且得在服务起来之后、且配置已落盘的前提下执行。

相关专题

更多
pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1897

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2088

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

1042

2024.11.28

centos
centos

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

431

2023.06.16

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

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

811

2023.10.27

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

9

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

25

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

18

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

19

2026.01.22

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 9.2万人学习

CSS3 教程
CSS3 教程

共18课时 | 4.8万人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号