【问题标题】:Ubuntu NAT with multiple connections具有多个连接的 Ubuntu NAT
【发布时间】:2014-07-29 11:53:26
【问题描述】:

我有一个带有 2 个 WAN 连接的 linux 服务器。它有 2 个公共 IP 地址作为 WAN_IP1 和 WAN_IP2。服务器默认网关为 WAN_IP1。

服务器还有 2 个 LAN 接口和相关子网。

该服务器应该将某个端口从 WAN addresse_S_ 转发到某个 LAN 服务器,我一直使用 DNAT 或 MASQUERADE。

例如,我的 LAN 中有一个 Web 服务器,地址为 LAN_IP1,规则如下:

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 别名更“干净”的东西......

有什么建议吗?

【问题讨论】:

    标签: routing iptables nat


    【解决方案1】:

    如果没有其他路由匹配,则通过默认网关路由所有传出流量是默认行为。如果您想通过另一个网关将流量路由到特定目的地,您必须为这些目的地定义额外的路由。

    我想到的一种更“干净”的方法是在您的服务器前面放置一个路由器,该路由器既可以连接到 WAN,也可以连接到您的服务器。您的服务器只会与路由器(他的默认网关)通信,而路由器会路由数据包。
    虽然这实际上就像在服务器上指定额外的路由,而在此解决方案中将它们配置在路由器上,但​​是它将网络管理的负担放在网络硬件上。

    【讨论】:

      猜你喜欢
      • 2012-03-27
      • 2014-12-03
      • 2015-01-20
      • 2012-12-08
      • 2016-10-30
      • 2021-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多