通过隧道将多个 ISP 链路聚合到端点服务器

通过隧道将多个 ISP 链路聚合到端点服务器

如果我有 3 个 ISP 上行链路,每个链路的速度为 25mbps,那么是否可以通过这 3 个连接中的每一个从 Windows 2008 服务器或 Linux 服务器设置一种聚合连接到同一个端点(千兆上的外部 Linux 服务器),然后从该服务器的其中一个 IP 连接到互联网?

从内部服务器,您将看到 3 个 ISP 连接,这 3 个连接上将有 3 个隧道,每个隧道都通向同一个端点(具有多个静态 IP 的千兆位 Linux 服务器)。目标是在 Windows 2008 服务器上拥有 1 个虚拟隧道 IP,以便在与任何其他外部资源的单个连接上实现 75mbps。您的外部 IP 将是来自 Linux 服务器的 IP。

我知道您可以在网关本身上聚合所有 3 个连接并使其负载平衡,但这并不能解决单连接吞吐量问题,因为任何一个连接都将被限制为 25mbps。由于有 3 个 isp 连接,它还引入了在打开新连接时具有半随机 IP 地址的问题。

我认为这个问题最简单的形式是:如果你有一台具有 3 个 100mbps 连接的服务器和一台具有 1 个 1000mbps 连接的服务器,你如何以 300mbps 的速度实现两者之间的单一连接。

答案1

如果链接由 3 提供不同的ISP,那么你可能没有机会得到你想要的东西。

如果这三个链接都是由同一个 ISP 提供的,你可以要求他们纽带在他们的终端上设置链接。这意味着 ISP 会将所有三个链接视为同一源,并沿着这三个链接将数据包路由到/从您的 IP。然后,您还必须在您的终端上设置链接绑定;这将允许您同时使用所有三个连接。

如果您拥有一个能够代理流经它的流量并完全控制操作系统的远程盒,那么您也可以通过自定义 VPN 设置将 ISP 排除在外:

  • 配置从本地路由器到远程服务器的三个以太网级 VPN 连接
  • 将两端的 VPN 设备绑定在一起,这样代理就会通过任意 VPN 链路将数据包路由回来,本地路由器也会这样做。您可以使用在 Linux 中,或者网络图在 BSD 上。

这可能会对性能产生影响,是一个非常复杂的设置,并且需要维护一个处理 2 倍流量负载的远程代理 - 远非理想。

PS,Netgraph 非常棒。

相关内容