複数のネットワークインタフェースの問題

複数のネットワークインタフェースの問題

2つの3G USBモデム(または1つのUSBモデムとは異なるネットワークインタフェース -ethまたはwlan)があります。

次のようにIPルールを作成し、各インターフェイスのルートを追加して2つのインターフェイスを接続しました。

sb="ip/subnet"
ifn="network interface (ppp0, eth0..etc)"
ipo="interface ip"

ip route add "$sb" dev "$ifn" src "$ipo" table "$tbl"
ip route add "$sb" dev "$ifn" src "$ipo"
ip route add default via "$gw" table "$tbl" 
ip rule add from "$ipo" table "$tbl"
ip rule add to "$ipo" table "$tbl"

両方のインターフェイスが接続され、各インターフェイスは最高速度で独立して接続されます。両方のインターフェイスを同時に使用してダウンロードしようとすると問題が発生します。

  1. 端末を開き、最初の画面でダウンロードを開始します。

     curl --interface ppp0 "$URL" -o /dev/null
    
  2. 別の端末を開き、2番目のインターフェースからダウンロードを開始してください。

     curl --interface ppp1 "$URL" -o /dev/null 
    

問題は、両方のコマンドを一緒に実行すると、両方のインターフェイスが遅くなり、最初のインターフェイスが1.5 MBpsで始まり、次のコマンドが起動すると最初のインターフェイスが遅くなり始めることです。逆に、第2のインターフェースが最初に開始されると、第1のインターフェースが開始されると速度が低下する。

自動ロードバランシングが発生するのと同じです。カーネルパラメータrp_filterarp_filter

明らかに、ロードバランシングは必要なく、同時に接続するために各インターフェイスが独立して実行されるだけです。

ありがとうございます!

修正する

各インターフェイスが異なるネットワーク名前空間にある場合でも、同時に実行すると互いに速度に影響を与える可能性があります。

ベストアンサー1

おすすめ記事