技术解析

FirewallD 多网卡端口转发的问题
0
2021-07-11 21:39:12
idczone

碰见一个比较诡异的问题

我现在有三块网卡 两块指向公网IP另外一块指向内网IP

我在默认的Public Zone里面设置了端口转发 将80和443转发给内网的另外一台机器 然后诡异的事情发生了

只有第一块外网网卡和那一块内网网卡可以正常工作 第二块外网网卡无论如何怎么样都不能工作 就是我可以访问第一个公网网卡的IP和内网网卡的IP来访问那个内网机器 但是第二块公网网卡就不会产生任何反应

我已经设置了这三块网卡的独立路由表并且让他们全部可Ping通 但是依旧没有解决这个问题

我想问一下这个是FirewallD的问题还是说Linux本身同时针对同样的端口只能设定一个网卡来进行转发 不允许两块网卡同时转发来自相同端口的内容?

另第二块公网网卡其他端口转发设置也无效 然后新加一个Zone独立出去后发现对其进行规则设置可以生效但是转发依旧失效


请通过外网测试,内网测试dnat的结果不准确。
细节挺麻烦的,和dnat实现机制有关系。

外网测试了也是一个样子 两块外网网卡始终只有第一块是通的 囧 而且最囧的是FirewallD的日志 什么都看不到……
而且很纳闷的是第二块貌似对所有的端口转发都不起作用…… 在上面设置任何端口转发都无效 但是通过那个端口访问ssh什么的都没问题 设置一些阻拦的防火墙规则也好用…… T^T

看一下第二块外网网卡在不在 public zone:
firewall-cmd --zone=public --list-interfaces
一般外网网卡是在 external zone 中,你将两块外网网卡添加进 external zone ,然后再在 external 设置端口转发应该就行了。

貌似我全都放在一个 zone 了 额 那我下次试试全部放在 external zone 看看

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服