Centos 7防火墙cmd设置不会持久

我已经决定做一些春季大扫除,我正在刷新一些底层基础设施。

网关服务器是我大修的重要组件之一。 我更新了我的testing环境(这是一个相同的,但功耗较低的生产环境),并且都运行良好,但是当我将其应用于我的Production系统时,防火墙cmd规则在重新启动之间不会持续。

我必须在启动时运行以下命令:

# firewall-cmd --remove-interface=eth0 --zone=public # firewall-cmd --remove-interface=eth1 --zone=public # firewall-cmd --remove-interface=eth0 --zone=public --permanent # firewall-cmd --remove-interface=eth1 --zone=public --permanent # firewall-cmd --add-interface=eth0 --zone=external # firewall-cmd --add-interface=eth1 --zone=internal # firewall-cmd --add-interface=eth0 --zone=external --permanent # firewall-cmd --add-interface=eth1 --zone=internal --permanent # firewall-cmd --complete-reload 

在哪一点正常服务恢复。 当我重启后运行# firewall-cmd --list-all-zones ,两个接口都离开了internalexternal区域,并且已经返回到public区域。

有人可以阐明为什么这些设置不会持续吗?

使用firewall-cmd所做的更改只有在(也)使它们与--permanent

man firewall-cmd

– 常驻
永久选项--permanent可用于永久设置选项。 只有在服务重启/重载或系统重启之后,这些更改才会立即生效。 没有--permanent选项,更改将只是运行时configuration的一部分

如果要在运行时和永久configuration中进行更改,请使用带和不带 --permanent选项的相同调用