Fedora 21 使用firewalld(firewall-cmd)进行端口转发;它到底是如何运作的?或者,是吗?

Fedora 21 使用firewalld(firewall-cmd)进行端口转发;它到底是如何运作的?或者,是吗?

Fedora 使用明显“本机”网络软件(firewalld)转发端口的能力似乎继续受到令人难以置信的破坏。请注意,至少从 Fedora 19 开始,它就没有真正发挥作用(请参阅https://serverfault.com/questions/541087/fc19-firewalld-debugging-help-requested-ports-not-forwarding

请注意,它甚至无法“永久”将接口放入当前 (21) 版本中的给定区域(截至目前的所有更新)——可以肯定的是,这是该软件的基本功能,如此处所示,https://serverfault.com/questions/683783/fedora-21-firewalld-firewall-cmd-wont-permanently-assign-interfaces-to-zones/683792#683792

正如这个问题下的“接受的答案”所建议的,

https://serverfault.com/questions/524200/configuring-firewalld-in-fedora-18-19

IP表仍然在firewalld(firewall-cmd)的“幕后”使用。我已经有了没有成功任何让firewalld(firewall-cmd)成功地进行任何端口转发- 并不是说​​我已经尝试了一切可能的方法,但我已经尝试了很多 - 这让我想知道这是否可能。

不知何故,以某种方式,我们需要知道是否应该费心处理这个代码线。如果代码线如此无能,我们到底为什么要单独花费几天的时间(以及集体的许多人年)?也许作者应该拉出代码,直到它准备好迎接黄金时段?也许有人应该说,“不,在我们解决这个问题之前使用 ip-tables,别再浪费时间了,抱歉!”

我可以告诉你的是一个最基本的例子是行不通的:

以将一个不知名的端口(例如 9876)从外部接口转发到端口 22(SSH 端口)到特定的内部系统为例。因此,在新安装的系统上,在整理出接口的IP地址后,为其分配永久到各自的区域(参见https://serverfault.com/questions/683783/fedora-21-firewalld-firewall-cmd-wont-permanently-assign-interfaces-to-zones/683792#683792),然后分配转发。首先,端口被“打开”,然后使用如下所示的“转发”:

firewall-cmd --zone=external --add-port=9876/tcp
firewall-cmd --zone=external --add-forward-port=port=9876:proto=tcp:toport=22:toaddr=192.168.1.1

问题是,这不起作用。 (结果是一个简单的超时,在日志中找不到任何内容。)我可以提供文档引用来支持这是正确的语法 - 这是微不足道的,但是,我还想指出有人认为这可以工作, 这里:http://www.certdepot.net/rhel7-get-started-firewalld/。我很想知道他们是怎么做到的!或者,这是 Fedora 和 Centos 和/或“RHEL7”的代码行之间的差异吗?!

我认为在这个代码行从 Fedora 19 到 21 失败之后,它已经提前发布了。但是,我很高兴知道我错了。不然我就返回 IP 表,并且对此不高兴。

答案1

很遗憾得知它不适合您。就我而言,Fedora 22 和 Centos 7,我只写--add-forward-port,而不是 ,--add-port它可以工作。

也许该--add-port命令破坏了您的防火墙

答案2

问题可能是 firewalld 依赖于网络管理器来获取其区域信息。端口转发是基于区域的。也许您的服务器安装禁用了网络管理器?

更多信息这里

相关内容