(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がリンク帯域幅に基づいてデフォルトのメトリックを選択することを示しています。