ルーティング時にMac OSXはどのようにネットワークインターフェイスを優先しますか?


20

具体例を挙げると、OSXはこれらのデフォルトエントリのどれnetstat -nrからルーティングするかをどのように選択しますか?

Destination        Gateway            Flags        Refs      Use   Netif Expire
0/1                10.10.99.100       UGSc            0        0    ppp0
default            192.168.1.1        UGSc            5        0     en0
default            192.168.1.1        UGScI           1        0     en1
default            192.0.2.1          UGScI         157        2    ppp0 

OSXがルーティングテーブルエントリではなく、インターフェイスでメトリックを使用することを伝えることができたことから。しかし、デフォルトでは、これらのインターフェースメトリックはすべて0なので、どのように選択しますか?最後に作成されたインターフェース?

一部の人々がネットワーク設定でその順序を提案しているのを見てきましたが、私の場合、ppp0インターフェース(SonicWall NetExtenderから)はそこにリストされていません。

このスレッドにはいくつかの議論がありますが、答えはありません。


ルートメトリックの設定方法を見つけましたか?
エンドリハ

回答:


8

ほとんどのシステムは、使用するルートを選択するときにこれらのルールに従います。

  • 最も具体的なもの(つまり、一致するプレフィックスが最も長いもの)を見つけます。
  • 最も優先度の高いものを選択してください。

Linux(および、Windowsでは)優先度はmetricによって決定されますが、正しく指摘したようにmacOSではそうではありません。メトリックを個々のルートに割り当てる代わりに、macOS はインターフェイスに優先順位を割り当てますnetworksetup -listnetworkserviceorderこの順序を表示しnetworksetup -ordernetworkservicesて変更するために使用できます。

さて、あなたの出力からのこのルートは、あなたの場合、特異性もその役割を果たしていると思います:

Destination        Gateway            Flags        Refs      Use   Netif Expire
0/1                10.10.99.100       UGSc            0        0    ppp0

このルートはアドレス空間の下半分をカバーしているため、以下も見つけることが期待できます。

128.0/1            10.10.99.100       UGSc            0        0    ppp0

ルーティングテーブルで。これは、VPNソフトウェアがルートの優先順位付けに使用する標準的なトリックですdefault。すべてのIPアドレスをカバーする2つのルートを追加しますが、それぞれがデフォルトよりも具体的であるため、勝ちます。


Linuxでは、優先度は単一のルーティングテーブルの場合のメトリックによってのみ決定されますが、優先度の高いルールは、複数のルーティングテーブルの場合に低いprioルールエントリを持つ別のテーブルからのルートのメトリックをオーバーライドできます。また、ダイナミックルーティングでは、最低管理距離を考慮する必要があります。
モレアキ

「これは、VPNソフトウェアがデフォルトよりもルートを優先するために使用する標準的なトリックです」に感謝します。これにより、私の場合、WTFが実行されていることがわかりました。
ipmcc

15

メトリックが等しい複数のデフォルトルートを持つルーティングテーブルは、負荷分散を行います。ただし、Macの場合、インターフェイスリストにある最初のインターフェイスが選択されます。リストを表示および変更する場合は、「ネットワーク設定を開く」に進みます。ここでは、イーサネット、空港、モバイル経由のPPP、3Gなどのネットワークインターフェイスのリストが表示されます。リストの下には、アスタリスクの形が表示されます下矢印付きのオプション。これをクリックして、「サービス順序の設定」を設定します。ここで、特定のインターフェイスの設定を変更できます。

http://www.sustworks.com/site/prod_ipnrx_help/html/AlternateRouteHelp.html


3
これを確認できる参照元はありますか?あなたが答えをより価値のあるものにするサイトを参照できれば、人々はそれを投票するでしょう。
slm

1
「サービス順序の設定」はここで確認できます。OSX Mountain Lion:ネットワーク接続の優先順位を変更します
David Moles
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.