FC19 FirewallD 调试帮助请求:端口未转发

FC19 FirewallD 调试帮助请求:端口未转发

新的 Fedora Core 19 系统拒绝将端口从外部区域转发到内部区域,未找到日志数据。

场景很简单,我有一个用作防火墙/网关的系统,具有内部和外部接口,并且磁盘驱动器发生故障,磁盘与新版本的操作系统 FC19 一起被替换。我有旧的 iptables 脚本,但它和防火墙都无法正常工作。我已经尝试了两套硬件,它们都回来了稍微不一样行为!

在此过程中,有些事情部分奏效,不幸的是,我信任了新的防火墙并继续前进。现在我有点迷茫了。

最重要的问题是:我该如何调试这个垃圾程序?在这方面没有任何办法(至少对于防火墙而言)?我希望它记录被拒绝的使用端口的尝试,这样我就能弄清楚如何修复它......

为此,我使用了 rich-rules 语法,如下所示:

防火墙命令 --permanent --zone=external --add-rich-rule='规则系列="ipv4" 转发端口端口="25" 协议="tcp" 到端口="25" 到地址="192.168.1.1" 日志="smtp 转发" 级别="info"'

它不起作用,我怀疑这是因为这三个操作是accept, reject, and drop,并且 port-forward 隐含地是一个 accept 指令,因此它只会在数据包被接受时记录,而不会在数据包未被接受时记录。但如何设置这一点尚不清楚!

一些观察:

我可能因为接口的命名而遇到困难。如果防火墙能告诉我它认为接口应该是什么,而不是让我猜测,那就太好了。我从 ifconfig 获得一个名称,从 route 获得另一个名称,并且至少在一个系统上,默认的 /etc/sysconfig/network-scripts/ifcfg-xxx 脚本中使用了另一个名称。问题:firewall-cmd 使用的规范名称来自哪里?

有一次,我的端口转发(短暂地)工作正常。但那只是针对“公共”区域。有一次,我发誓我让它在“外部”区域工作正常,但随着我变得更加有条不紊,并且对我所尝试过的所有方法都格外小心,我再也没有让它在“外部”区域工作正常。

没有任何内部系统在其自己的内部防火墙软件上阻止端口。

我已阅读了在互联网上能找到的所有关于防火墙的文章以及 serverfault 上的所有 / 问答条目。我很清楚有些人主张在防火墙成熟之前使用 iptables,但我希望在系统上运行的 iptables 规则本身并不简单 - 这是找到成功使用防火墙的方法的关键动机。

如果我确实尝试使用 iptables 作为现在的前进方向,那么我也需要了解它的规范...

答案1

...带着悔恨,正如这里所阐述的我逐渐意识到 FC 版本并不像以前那么好,而过去我们可以使用 Fedora Core 在生产系统上工作,但它们的现代版本质量已经下降,现在已经跌到了谷底;不要将它们用于“生产” - 任何您关心的 24 X 7 系统。

是的,我用另一个发行版替换了操作系统。是的,它马上就起作用了……这不值得我花时间和经历痛苦。不要让它也成为你的痛苦。

另请注意:

经过相当彻底的测试,强烈暗示但并未证明当前的防火墙(2013 年 9 月 25 日,firewalld-0.3.4-1.fc19.noarch)不会在公共区域以外的任何区域进行端口转发。也就是说,例如,不要尝试使用“外部”。

相关内容