生产环境必须使用--permanent参数永久绑定网卡到指定区域,否则重启后失效;先用firewall-cmd --get-active-zones等命令确认现状,再执行firewall-cmd --permanent --zone=xxx --add-interface=xxx,最后firewall-cmd --reload生效并验证。

直接用 firewall-cmd 命令把网卡绑定到指定区域,关键在于区分“临时生效”和“永久生效”——生产环境必须做永久配置,否则重启或重载后会失效。
确认当前网卡归属和可用区域
先查清现状,避免绑错:
- 查看当前活跃的区域及对应网卡:
firewall-cmd --get-active-zones - 查某块网卡(如
ens33)当前所属区域:firewall-cmd --get-zone-of-interface=ens33 - 列出所有预置区域名:
firewall-cmd --get-zones - 查看默认区域(新网卡自动归入此 zone):
firewall-cmd --get-default-zone
临时绑定:立即生效但不持久
适合测试或临时调试,重启 firewalld 或系统后失效:
- 将
ens33临时划入internal区域:firewall-cmd --zone=internal --change-interface=ens33 - 注意:
--change-interface是运行时操作,无需加--permanent
永久绑定:生产环境唯一推荐方式
永久配置需显式声明 --permanent,且必须重载才生效:
- 将
ens33永久加入trusted区域:firewall-cmd --permanent --zone=trusted --add-interface=ens33 - 设置整个系统的默认区域(影响后续新增网卡):
firewall-cmd --permanent --set-default-zone=internal - 执行重载使永久配置生效:
firewall-cmd --reload
验证绑定是否成功
重载后务必验证:
- 再次运行
firewall-cmd --get-active-zones,确认ens33出现在目标 zone 下 - 查看该 zone 的完整规则:
firewall-cmd --zone=trusted --list-all,确认接口已列在 “interfaces” 行 - 若返回为空或仍显示原 zone,说明未重载或命令漏了
--permanent











