用于多个不可靠链接的代理服务器

一个小型局域网(15-20用户)有3-4个互联网连接在DSL /有线/ EVDO调制解调器混合。 所有的互联网连接都连接到一个linux盒子上的一个独特的接口,而这个接口又连接到LAN上的所有设备。 我需要设置代理服务器解决scheme,以便代理将其传出连接绑定到当前可用的任何Internet接口。

可用性需要在半实时检查,我想一个小应用程序,通过该接口ping每个接口的各自的DNS服务器,以确定连接可以正常工作。

什么样的代理解决scheme将允许通过不同的接口进行dynamic路由 – 取决于在任何给定的时间哪一个可用。 如果现有的连接在代理切换到不同的接口时被丢弃,那么可以这样做,但是所需的行为是通过代理build立的每个新连接都应该通过当时正在工作的接口。

作为一个额外的好处,是否有一个解决scheme,允许代理服务器通过所有可用的接口(如果有多个可用的接口)轮询它的传出连接,或者做任何更智能的负载平衡forms。

使用linux高级路由和stream量控制。

看这里 。 你必须为每个isp设置一个表,添加特殊的规则,这样ping到他们的dns将始终通过这些表路由。

使用单独的脚本每分钟运行几次,您将不得不对每个上行链路进行健康检查,并决定select哪个默认路由。

您还可以查看界面绑定 – 这里有很多文档(例如http://www.google.com/search?q=linux+bonding+howto ),或者如果您有安装的文档软件包内核,你可以findbonding.txt。