web-dev-qa-db-ja.com

負荷分散を使用して、同じネットワーク上の2つのゲートウェイを同じインターフェイスで利用する

私のセットアップは、単一のインターフェイスと単一のネットワーク上の2つのISPです。デフォルトゲートウェイを192.168.0.1または192.168.1.250に設定して、どちらも機能します。

編集:ネットマスク(コメントで気づいたように)is 255.255.254.0-私が言ったように、それらは同じサブネット上にあります。

私の望みは、両方をある程度の負荷分散で利用することです。私はここで与えられたアドバイスに従おうとしました https://serverfault.com/a/96586

#!/bin/sh                                                                                                                                                                                                                        
ip route show table main | grep -Ev '^default' \                                                                                                                                                                                 
   | while read ROUTE ; do                                                                                                                                                                                                       
     ip route add table ISP1 $ROUTE                                                                                                                                                                                              
done                                                                                                                                                                                                                             
ip route add default via 192.168.1.250 table ISP1                                                                                                                                                                                
ip route add default via 192.168.0.1 table ISP2                                                                                                                                                                                  

iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark                                                                                                                                                                      
iptables -t mangle -A PREROUTING -m mark ! --mark 0 -j ACCEPT                                                                                                                                                                    
iptables -t mangle -A PREROUTING -j MARK --set-mark 10                                                                                                                                                                           
iptables -t mangle -A PREROUTING -m statistic --mode random --probability 0.5 -j MARK --set-mark 20                                                                                                                              
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark

次に、「traceroute somehost」を繰り返し実行しますが、デフォルトルートである192.168.1.250を介してのみルートを取得できます。パケットはランダムにルートを変更するべきではありませんか?それをデバッグする方法は?

6
RushPL

私が知っている複数のデフォルトゲートウェイを使用する唯一の方法は、ここに示す方法論を利用することです: http://lartc.org/howto/lartc.rpdb.multiple-links.html 。ただし、この方法論よりも推奨する変更の1つは、/ etc/rc.localに配置する代わりに、ネットワークルート/ルールファイルに保存することです(これも、Red Hatを想定しているためYMMV-/etc/sysconfig/network-scripts/route-および/ etc/sysconfig/network-scripts/rule-。

1つのインターフェースを2つのインターフェースと見なすには、次の方法でサブインターフェースを作成します。 http://linux-101.org/howto/create-sub-interfaces-centos-and-redhat

2
Matthew