如何在Linux中配置具体的防火墙规则
要在firewalld中添加永久端口规则,必须先使用--permanent参数将其写入配置文件,然后再执行--reload命令加载到运行时环境中。否则,规则仅会被保存到配置文件中,但不会生效,一旦系统重启,这些规则仍会丢失。firewalld 里怎么加一条永久生效的端口规则 加完规则后,如果不执行r
要在firewalld中添加永久端口规则,必须先使用--permanent参数将其写入配置文件,然后再执行--reload命令加载到运行时环境中。否则,规则仅会被保存到配置文件中,但不会生效,一旦系统重启,这些规则仍会丢失。

firewalld 里怎么加一条永久生效的端口规则
加完规则后,如果不执行reload操作,规则是不会生效的;而加规则时若不加上 --permanent 参数,那么一旦重启,规则就会丢失。这可是大家在使用firewalld时最容易踩到的坑啦!要知道,firewalld的临时规则和永久规则是分别独立存储的,所以必须要明确地声明进行持久化操作才行哦。
- 先确认服务在运行:
firewall-cmd --state返回running才能操作 - 开放 TCP 80 端口(永久):
firewall-cmd --permanent --add-port=80/tcp - 开放 UDP 53 端口(永久):
firewall-cmd --permanent --add-port=53/udp - 必须 reload 才真正加载:
firewall-cmd --reload,否则规则只存配置文件里,没进内存 - 验证是否生效:
firewall-cmd --list-ports或firewall-cmd --list-all
iptables 怎么让规则重启后不消失
iptables 命令默认只改内存里的规则,系统一重启全清空。要持久化,得把当前规则导出到文件,并确保开机时自动恢复。
- 保存当前规则到默认路径(CentOS/RHEL):
iptables-sa ve > /etc/sysconfig/iptables - Ubuntu/Debian 系统常用:
iptables-sa ve > /etc/iptables/rules.v4 - 验证保存内容:
cat /etc/sysconfig/iptables | head -n 5,确认有*filter和COMMIT - 开机自动加载依赖 systemd 服务或网络启动脚本;RHEL 系统通常靠
iptables服务(systemctl enable iptables),但注意:该服务在 firewalld 启用时会被禁用,二者不能共存 - 别直接编辑
/etc/sysconfig/iptables文件手动改——容易格式错、缺 COMMIT、导致 restore 失败
为什么 firewall-cmd --add-service=http 没反应
没报错但端口不通,大概率是没指定 zone,或者 zone 绑定错了网卡。firewalld 规则永远绑定到具体 zone,而不是全局生效。
- 查当前活跃 zone:
firewall-cmd --get-active-zones,看你的网卡(比如ens33)绑在哪个 zone 下 - 如果网卡在
public区域,就得加:firewall-cmd --zone=public --add-service=http --permanent - 如果想让所有 zone 都开 http,得逐个加,firewalld 不支持“全局 service”
http是预定义 service,对应 TCP 80;自定义端口不能用--add-service,只能用--add-port- 加完别忘
--reload,且--list-all输出里要能看到services: http才算成功
误删规则后怎么快速回滚
firewalld 没内置 undo,iptables 更没有。所谓“回滚”,其实是靠你提前留下的快照或备份配置。
- 操作前先备份当前配置:
firewall-cmd --list-all > /root/firewall-before-20260708.bak - firewalld 永久配置存在
/etc/firewalld/下,重点备份:/etc/firewalld/zones/public.xml(或你用的 zone 文件) - iptables 备份就是
iptables-sa ve导出的文件,替换后执行iptables-restore < /path/to/backup - 别指望
systemctl restart firewalld能恢复——它只重载--permanent配置,不是撤销上一步操作 - 线上环境建议用脚本封装规则变更,并带 timestamp 和 commit msg,不然真出问题时连哪条命令动了什么都难定位
--list-all 输出里的 “permanent: yes/no” 和 “active: yes/no”,能省掉大半排查时间。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















