我有两个网络接口(一个有线,一个无线)。我也有两个互联网帐户(每个 256 kBps;一个来自我用作有线连接的调制解调器,另一个来自无线网络)。
是否可以连接到两个网络并将它们合并并获得两倍的速度(512 kBps)?
如何?
我正在使用 Ubuntu 10.04 (Lucid Lynx)。
谢谢
答案1
这绝对是可行的。几年前,我们中的许多人都在为企业运行混合、负载平衡的宽带配置,而且它们运行得非常好。许多人可能仍然这样做!
您可以通过多种方式来完成此操作,包括使用iptables
规则和/或iproute2
(ip(8)
命令)来设置策略路由。
负载均衡不是在数据包级别完成的,而是在联系等级。也就是说,一个连接的所有数据包都从一个接口发出。这是哪个接口取决于路由策略。如果没有您自己的基础设施之外的第一台路由器的合作,这是您可以做到这一点的唯一方法。远程计算机无法判断您的两个 IP 地址实际上属于同一台计算机。在 TCP 中,连接由 4 元组(远程 IP、远程端口、本地 IP、本地端口)唯一标识。如果您从不同的 IP 发送数据包,远程服务器会认为它们属于两个不同的连接,并且会陷入混乱。
显然,这种事情在企业环境中更有意义,或者在许多用户共享单个连接的环境中更有意义。在工作中,我们将 256 kbps ADSL 线路与 512 kbps 电缆线路(是的,当时)结合起来,整个系统运行得非常好,并具有高可用性的额外优势。
对于一些实际的帮助,这是一种方法iproute2
。它适用于 Debian,但当然也适用于 Ubuntu。
答案2
大概是的。我的粗略想法是使用可以用作默认网关的虚拟 IP 来实现传出负载均衡器(通过 LVS)。
它可能比这复杂得多,可能涉及放置鱿鱼或类似的东西。