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

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

我在这台专门作为网关/防火墙系统的机器上安装了 Fedora。

安装完成后,我运行了“ yum upgrade”,因此它应该是最新的 Fedora 21 — — 我故意落后了一点(不是 Fedora 22),这样希望能解决任何问题(现在意识到也许我应该选择 Fedora 20?!)...

启动后,我立即为盒子中的两个 NIC 配置了各自的 IP 地址,重新启动,确认一切正常,然后开始设置“防火墙”。首先,我运行:

# firewall-cmd --list-all-zones

我确认,firewalld 使用的接口名称与其他工具一致(与 Fedora 的过去版本不同,例如 19 - 请参阅FC19 FirewallD 调试帮助请求:端口未转发

为了将接口放入正确的区域,我运行了:

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

..然后继续尝试设置端口转发等。有几个步骤,例如打开端口,然后转发。但是这些都不起作用。经过一番挖掘,我发现了这篇文章,日期是几天前,所以我认为它非常新 -http://www.certdepot.net/rhel7-get-started-firewalld/- 并按照其建议编辑/etc/sysctl.conf并添加一行阅读net.ipv4.ip_forward=1并用 激活它# sysctl -p,然而不幸的是,事情实际上“倒退”了......

以前,尝试连接到转发端口时会挂起,但现在它们会返回:

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

因此,我尝试通过取消端口转发和对 sysctl.conf 的编辑来恢复正常,但一切并没有恢复到“原来”的状态!

难以置信的是,我重新启动了系统,将所有内容恢复到默认设置,尽可能地恢复安装状态 - 除了那些区域更改;它们能造成什么危害?!但是当系统重新启动时,接口已经恢复到默认区域!

然后我又试了一遍。不行!无论我做什么,重启后界面都会停留在“FedoraServer”区域。我在命令行的几个不同位置尝试了 --permanent。每次响应都是“成功”,但每次结果都是重启后无法继续,即使这是系统在两次重启之间唯一执行的操作。

...这足以动摇一个人对他们最喜欢的 Linux 发行版的忠诚度!...不要让我告诉你我真的思考!

好的,当然已经测试过了;这是怎么做到的?(是的,我想了解端口转发,但在这里我只询问重启后接口的区域变化。)

附加数据:

因此,我想可能是 NetworkManager 妨碍了,就像过去经常发生的那样。但是,我所做的努力都没有结果。第一个尝试只是在接口文件中设置 NM_CONTROLLED="no",但/etc/sysconfig/network-scripts这样系统就没有接口了!

然后我不得不回想过去,才想起之前存在的是“network.service”,幸运的是它已经安装好了。所以我运行了:

systemctl disable NetworkManager.service
systemctl enable network.service

然后接口就可用了。然而,在重新启动后 - 并确保firewall-cmd执行了必要的命令(见上文) - 不幸的是,它再次不起作用。

然后我尝试将 NM_CONTROLLED 值更改为“否”,但这也不起作用。

答案1

我不确定是否可以使用firewalld命令来执行此操作,但您可以在ifcfg文件中更改区域/etc/sysconfig/network-scripts—分别编辑ifcfg-enp2s0ifcfg-enp5s4添加ZONE=externalZONE=internal

答案2

这篇文章中的另一种解决方案:无法将接口保留在指定的区域中,Centos7

在我的环境中测试并正常运行

相关内容