使用 LAN 和 Wi-Fi 实现负载平衡

使用 LAN 和 Wi-Fi 实现负载平衡

我有一台 Mac,运行的是 Mac OS X 10.6 或 Ubuntu 9.10 或 Windows XP(多重引导)。解决方案可以适用于任何系统,只要效果更好就行。

我有两家 ISP,可以通过无线上网,可以通过局域网在 Mac OS XI 中可以定义优先级,即首先选择哪个网络。但我希望做的是负载均衡使用两个网络。

我不想购买额外的硬件。如果这有帮助的话,我有一些未使用的 Wi-Fi 路由器。

在Linux中编译和配置程序对我来说没有问题。

类似问题:使用多个网关进行负载平衡

答案1

对于 Linux 来说,一个比较接近的主题是路由的“度量”设置。较低的数字优于较高的数字。如果你给两条路由相同的度量,那么我认为它们被选择的概率是相等的。

我认为你试图实现的技术叫做多宿主。我对此没有任何直接经验。但是,您可能需要记住一些事情。

  • 默认情况下,我认为您最终只会得到一条默认路由。这意味着默认情况下,所有传出流量都会优先使用一个接口。您需要研究拥有多条默认路由,或者随着时间的推移动态更改该路由。
  • 对于单个传入 (TCP) 连接的生命周期,它应该停留在它进入的同一接口上。我认为。

不管怎样,这些都是我目前能想到的所有指示。

答案2

您可以使用路由度量系统,在路由表中安装两个具有相等度量的互联网连接。然后,操作系统应平等地使用这两个路由,从而有效地将您的出站流量分配到两个链路上。

回复您的请求的传入流量也应该平衡,因为它将返回到发出请求的接口(公共 IP)。

这样做的问题在于会话持久性,例如,您通过其中一个链接查看网站,但下一个页面视图是从您的其他界面进行负载平衡的,这会使某些应用程序感到困惑,因为您的源 IP 地址会不断变化。

因此,我可能只会使用非等价路由将您的部分流量分流到其他接口,可能是按应用程序、目的地或协议。只要能让您的流量路径保持一致即可。

答案3

Connectify 调度有一个解决方案可以满足您的需求。目前仅适用于 Windows,但人们已经虚拟化成功并在 OS X 上使用他们的软件。

由于您已经运行(正在运行)Windows XP,我认为您可以自行解决该部分问题。


其中最大的问题是 Windows 可以轻松提供对多个 NIC 的支持,而在 OS X 上实现却不那么容易。

答案4

我认为,如果不采取类似措施,所有出去的流量都由一个 ISP 发出,而所有进来的流量都由另一个 ISP 发出,这是不可能的。

原因是将流量拆分到两个独立的网络似乎不太可能。如果您有来自 1 个 ISP 的 2 个管道,那么这或许是可能的。

就像之前有人说的那样,我认为无论如何你都需要一个默认设置,并且可以限制某些流量通过一条路由,其余流量通过另一条路由。只是不要认为像在 LAN 上那样的负载平衡在这里会起作用。

示例:使用 192.168.2.* Wi-Fi ISP 运行更新,使用 192.168.1.* LAN ISP 运行半衰期。

相关内容