碰见一个比较诡异的问题
我现在有三块网卡 两块指向公网IP另外一块指向内网IP
我在默认的Public Zone里面设置了端口转发 将80和443转发给内网的另外一台机器 然后诡异的事情发生了
只有第一块外网网卡和那一块内网网卡可以正常工作 第二块外网网卡无论如何怎么样都不能工作 就是我可以访问第一个公网网卡的IP和内网网卡的IP来访问那个内网机器 但是第二块公网网卡就不会产生任何反应
我已经设置了这三块网卡的独立路由表并且让他们全部可Ping通 但是依旧没有解决这个问题
我想问一下这个是FirewallD的问题还是说Linux本身同时针对同样的端口只能设定一个网卡来进行转发 不允许两块网卡同时转发来自相同端口的内容?
另第二块公网网卡其他端口转发设置也无效 然后新加一个Zone独立出去后发现对其进行规则设置可以生效但是转发依旧失效
1
gamexg 2015-05-30 11:56:32 +08:00
请通过外网测试,内网测试dnat的结果不准确。
细节挺麻烦的,和dnat实现机制有关系。 |
2
twl007 OP @gamexg 外网测试了也是一个样子 两块外网网卡始终只有第一块是通的 囧 而且最囧的是FirewallD的日志 什么都看不到……
而且很纳闷的是第二块貌似对所有的端口转发都不起作用…… 在上面设置任何端口转发都无效 但是通过那个端口访问ssh什么的都没问题 设置一些阻拦的防火墙规则也好用…… T^T |
3
lionado 2015-12-10 15:26:35 +08:00
看一下第二块外网网卡在不在 public zone:
firewall-cmd --zone=public --list-interfaces 一般外网网卡是在 external zone 中,你将两块外网网卡添加进 external zone ,然后再在 external 设置端口转发应该就行了。 |