Fedora 21:Firewalld(firewall-cmd)不会永久地将接口分配给区域?

我在这台独一无二的网关/防火墙系统上安装了Fedora。

安装完成后,我运行了' yum upgrade ',所以应该是最新的Fedora 21 – 我有点落后(特别是Fedora 22),所以希望能够解决任何问题(现在可以实现MAYBE I应该去了Fedora 20!)…

一旦我起来,我configuration了两个网卡在他们各自的IP地址,重新启动,确认他们是好的,并开始“防火墙”设置。 首先,我跑了:

 # firewall-cmd --list-all-zones 

我确认firewalld正在使用的接口名称与其他工具一致(与以前版本的Fedora不同,例如19 – 请参阅FC19 FirewallDdebugging帮助请求:端口不转发 )

为了把界面放到正确的区域,我跑了:

 firewall-cmd --permanent --zone=external --change-interface=enp2s0 firewall-cmd --permanent --zone=internal --change-interface=enp5s4 

然后继续尝试设置端口转发等。有几个步骤,例如打开端口,然后转发它。 然而,没有任何工作。 经过一番挖掘,我发现这篇文章只是几天前,所以我觉得这是非常当前 – http://www.certdepot.net/rhel7-get-started-firewalld/ – 并遵循其build议编辑/etc/sysctl.conf并添加一行net.ipv4.ip_forward=1 ,然后用/etc/sysctl.conf # sysctl -p将其激活,但不幸的是,事情实际上是“倒退”了…

以前,尝试连接到转发的端口挂了,但现在他们回来了:

 ssh: connect to host 167.101.97.2 port 6543: No route to host 

所以,我试图通过UN-DOING端口转发和对sysctl.conf的编辑来恢复正常,但事情并没有回到“原来的!

令人怀疑,我重新启动,一切设置为默认,刚刚安装的条件,我可以 – 除了这些区域的变化, 他们会有什么伤害? 但是当系统恢复时,界面已经回到了默认区域!

然后我再试一遍。 不! 接口重新启动后保留在“FedoraServer”区域无论我做什么。 我已经尝试了在命令行中的几个不同位置的永久性。 每一次响应都是“成功”的,但是每次结果都不能在重新启动的时候存活下来,即使这只是重启之间系统上的唯一的事情。

…这足以撼动一个人对(否则)最喜欢的Linux发行版的忠诚! …不要让我告诉你我真的在想什么!

好的,这是经过testing的。 这是怎么完成的? (是的,我想知道端口转发,但在这里我只是问关于接口幸存的重新启动的区域更改。)

其他数据:

所以,我意识到MAYBE就是NetworkManager,正如过去经常做的那样。 然而,我的努力没有成果。 第一个努力是在/etc/sysconfig/network-scripts的接口文件中简单地设置NM_CONTROLLED =“no”,但是这会使系统没有接口!

然后,我不得不回到我的过去,记得之前出现的“network.service”,幸好它已经安装好了。 所以,我跑了:

 systemctl disable NetworkManager.service systemctl enable network.service 

接口可用。 但是,重启之后 – 确保执行必要的firewall-cmd命令(见上) – 不幸的是,它再次不起作用。

然后我试着将NM_CONTROLLED值改为“no”,但是这也不起作用。

我不确定firewalld命令是这样做的,但可以在/etc/sysconfig/network-scripts更改ifcfg文件中的区域 – 编辑ifcfg-enp2s0ifcfg-enp5s4并添加ZONE=externalZONE=internal , 分别。