循环通过多个接口

我想在networking接口之间select一个特定的IP。 例如:

请求192.168.1.5 //使用接口1

请求192.168.1.5 //使用接口2

请求192.168.1.5 //使用接口1

请求192.168.1.5 //使用接口2

请求192.168.1.5 //使用接口1

请求192.168.1.5 //使用接口2

我使用的是Ubuntu 10.我发现这个:

http://www.go2linux.org/load-balance-traffic-for-two-isps-with-linux

这就是我要找的东西吗

我已经在一台Ubuntu服务器上设置了这个设置,我将在下面发布configuration。 这种设置很痛苦,仍然存在一些问题,这台机器还提供了NAT(在另一个接口上),对于NAT客户端,一些服务(openvpn,icq)在来自不同地址不时地。

无论如何: – 我用它来利用两个100Mbps的互联网链接与两个公共IP – 适用于Apache – 每个请求处理不同的接口,等等…但客户的路由得到修复,所以这是一种很好的清理路由caching每隔一段时间(通过/sbin/route del default ) – 但是当你这样做 – 一些服务变得困惑。 (OpenVPN客户端需要有“浮动”添加到configuration,以便他们将信任服务器与多个地址,等等…)。 每个连接可以获得最大100 Mbps,但2个连接可以达到200 Mbps …

许多应用程序都很混乱,所以当你有机会使绑定工作 – 你可以pipe理交换机 – 我会build议这种方法。

我的互联网接口:

 eth0 Link encap:Ethernet HWaddr 00:11:09:5e:af:af  
           inet addr:69.42.248.102 Bcast:69.42.248.127 Mask:255.255.255.192

 eth2 Link encap:Ethernet HWaddr 00:0e:2e:0d:32:b4  
           inet addr:69.42.248.103 Bcast:69.42.248.127 Mask:255.255.255.192

它们通过/ etc / network / interfaces中相当默认的设置进行configuration

 auto eth0                                                                                                                       
 iface eth0 inet static                                                                                                          
    地址69.42.248.102                                                                                                      
    networking掩码255.255.255.192                                                                                                     
    网关69.42.248.65                                                                                                       

 auto eth2                                                                                                                       
 iface eth2 inet static                                                                                                          
    地址69.42.248.103                                                                                                      
    networking掩码255.255.255.192                                                                                                     
    网关69.42.248.65

最后,我通过在启动后调用脚本来初始化负载平衡(添加到rc.local(退出前)或crontab)

 #!/斌/庆典

 #我不记得为什么在这里多次 - 但我有默认设置多个门和接口,所以我想这是在这里清除他们所有;-)

 / sbin / route del默认
 / sbin / route del默认
 / sbin / route del默认
 / sbin / route del默认

 ip route add default scope global \                                                                                             
下一步通过69.42.248.65 dev eth0权重1 \                                                                                   
下一步通过69.42.248.65 dev eth2权重1    

这基本上告诉路由使用不同的ethX和相同的权重相同的门 – 从而做循环每个连接的负载平衡。

我的DNS是生锈的,但是你不能只在你的Alogging中放两个IP地址,如果我没记错的话,大多数系统会在两者之间交替。 当然,这假设你使用的是主机名而不是直接的IP地址。