web-dev-qa-db-ja.com

ネットワークインターフェイスの設定

両方が同じネットワークに接続されている場合、Linuxはどのネットワークインターフェイスを使用するかをどのように決定しますか?

これはルーティングに関する問題ではないことに注意してください。それがどのように機能するかはよく知っています。たとえば、イーサネットカードとワイヤレスカードの両方を介してラップトップをワイヤレスルーターに接続している場合、または同じルーターに両方のイーサネットカードを接続している場合です。

私の場合、私のラップトップは、ワイヤレスよりもイーサネットカード(eth0)を優先しているようです(eth1--これはワイヤレスインターフェイスの一般的な名前ではないことを知っていますが、それは私が持っているものです)。疑問に思って、どうやってそれを決めるのですか?番号が最も小さいインターフェイスから選択するだけの場合、2つの選択肢がたとえばeth0とwlan0の場合はどうなりますか?

編集:@Nilsは、これは依然としてルーティングの問題であり、ルーティングテーブルが答えを提供することを指摘しました(彼の答えを参照してください)。これでも元の質問は残っていますが、形式が異なります。 Linuxのルーティングテーブルのエントリの順序は何によって決まりますか?たとえば、両方のインターフェースに接続しているときのルーティングテーブルは次のとおりです。

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.4.1     0.0.0.0         UG        0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
192.168.4.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.4.0     0.0.0.0         255.255.255.0   U         0 0          0 eth1

ローカルネットワークの宛先の場合、表ではeth0がeth1よりも優先度が高いのは明らかですが、Linuxではリンクレイテンシ、リンクスループット、さらにはインターフェイス名などによって決定されますか(同じ質問が、eth0がデフォルトルートのインターフェイスである理由にも当てはまります。)

8

まあ-これはISルーティングの質問です。

答えは簡単です。最適なルーティングエントリを与える最初のエントリは「勝者」です。したがって、netstat -rnを見て、どのインターフェースが最初かを確認してください。

pdate: network-inferface-routing-settingsは通常、システムの起動時に設定されます。したがって、ネットワークデバイスの起動順序は、この表の順序になります。 PCIデバイスでは、これらは通常、最初に最小のスロット番号で処理されます。外付けデバイス(USBなど)は通常後で使用します。

しかし、正確な順序は、Linuxフレーバーのnetwork-startup-scriptに依存します(これは、非常に異なるものです)。

ところで:2つのリンクを利用したい場合は、bondingを使用する必要があります。そこで、リンクの使用順序を設定できます。

6
Nils