Linuxでは、メトリックなしでルーティングがあるメトリックは何ですか?

Linuxでは、メトリックなしでルーティングがあるメトリックは何ですか?

(Linuxでは)次の2つのパスがある場合:

default via 192.168.1.1 dev enp58s0f1
default via 192.168.16.1 dev wlp59s0  proto static  metric 600

最初のものが使用されると予想しましたが、そうではありません。 2番目のものが代わりに使用されました。

これを次のように変更すると:

default via 192.168.1.1 dev enp58s0f1  proto static  metric 100 
default via 192.168.16.1 dev wlp59s0  proto static  metric 600

その後、期待どおりに機能します。 「メトリックなし」は、メトリック0以外の数よりも悪い(より高い)ようです。

どうなりますか? Linux専用ですか、それともネットワーキング標準ですか?

よろしくお願いします。

ベストアンサー1

最初の観察は確実ですか?ip route showそれで、それは何を示していますかroute -n?最初のケースに追加するとproto static結果が変わりますか?

0これがLinuxのデフォルトであることを明確に示すリソースを2つ以上見つけました。

  • http://0pointer.de/lennart/projects/ifmetric/:Linuxカーネルのルーティングのデフォルトの指標は0で、これは最高の優先順位を表します。
  • http://www.man7.org/linux/man-pages/man8/route.8.html:このオプションを指定しない場合、メトリックのデフォルトはinet6(IPv6)アドレスファミリの場合は「1」、inet(IPv4)の場合は「0」です。(これはデフォルトが使用されている場合は異なる可能性がありますiproute2が、これらのソースを分析してもその値は表示されません。)

この問題を解決するには、Linuxカーネルハッカーが必要です。

また、どのデフォルト値を選択しても、オペレーティングシステムによって異なります。この記事(https://support.microsoft.com/en-us/help/299540/an-explanation-of-the-automatic-metric-feature-for-ipv4-routes)は、たとえば、Windowsがリンク帯域幅に基づいてデフォルトのメトリックを選択することを示しています。

おすすめ記事