両方が同じネットワークに接続されている場合、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がデフォルトルートのインターフェースであるかについても言えます。)