我有一个带有2个WAN连接的Linux服务器。它有2个公共IP地址,如WAN_IP1和WAN_IP2。服务器默认网关是WAN_IP1。
服务器还有2个LAN接口和相关子网。
该服务器应该将一些端口从WAN addresse_ S _转发到som LAN服务器,我总是用DNAT或MASQUERADE完成它。
例如,我的LAN中有一个地址为LAN_IP1的Web服务器,规则为:
iptables -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.10:80
iptables -A POSTROUTING -j MASQUERADE
当我尝试通过WAN_IP1连接到Web服务器时,一切顺利,因为WAN_IP1是默认网关但是当我尝试通过WAN_IP2时,来自LAN服务器的回复通过默认网关WAN_IP1路由,因此连接永远不会建立。
我已经看到了很多可能的解决方案,但我认为可能还有更多的东西"清洁"比标记数据包和制作ip别名......
有什么建议吗?
答案 0 :(得分:1)
如果没有其他路由匹配,则通过默认网关路由所有传出流量是默认行为。如果要通过其他网关将流量路由到特定目的地,则必须为这些目的地定义其他路由。
更多"清洁"我想到的方法是将一台路由器放在服务器前面,该服务器保存与两个WAN的连接以及与服务器的连接。您的服务器只会与路由器(默认网关)通信,路由器将路由数据包 虽然这实际上就像在服务器上指定其他路由一样,虽然它们是在此解决方案中的路由器上配置的,但它会将网络管理的负担放在网络硬件上。