同じメトリックを持つ2つのデフォルトパス:Linuxカーネルはどのパスを使用しますか?

同じメトリックを持つ2つのデフォルトパス:Linuxカーネルはどのパスを使用しますか?

同様の質問ですが、答えはありません。

Linuxでは、2つのパスのメトリックが同じ場合、どのパスが使用されますか?私はこれを見つけました録音されたWindowsの場合(「同じ速度の複数のインターフェイスが同じ最小インターフェイスメトリックを持っている場合、バインディングの順序で最初のネットワークアダプタのデフォルトゲートウェイが使用されます。最初のネットワークアダプタが利用できない場合」)。Linuxでは見つかりません。はいこの問題をどのように処理するのですか?

私の考えに答えは次のとおりです。パスワードしかし、それは明らかではありません。

ベストアンサー1

カーネルは同じように実行可能な複数のパスを許可しません。EEXISTエラーが発生して2番目のパスを拒否します。

% ip route add 192.0.2.0/24 dev eth0 metric 10
% echo $?
0
% ip route add 192.0.2.0/24 dev eth1 metric 10
RTNETLINK answers: File exists
% echo $?
2

マルチパスルーティング、つまり複数のネクストホップを持つ単一パスを使用できます。ここでは、カーネルは、次に基づいて利用可能なネクストホップ間でトラフィックを分散(ロード共有/ロードバランシング)します。fib_multipath_hash_policy:

% ip route add 192.0.2.0/24 metric 10 nexthop dev eth0 nexthop dev eth1
% ip route show to exact 192.0.2.0/24
192.0.2.0/24 metric 10
        nexthop dev eth0 weight 1
        nexthop dev eth1 weight 1

おすすめ記事