Wie bestimmt Linux, welche Netzwerkschnittstelle verwendet werden soll, wenn beide mit demselben Netzwerk verbunden sind?
Beachten Sie, dass dies keine Frage zum Routing ist. Ich bin damit vertraut, wie das funktioniert. Dies ist beispielsweise der Fall, wenn ich meinen Laptop über meine Ethernet-Karte und meine WLAN-Karte mit meinem WLAN-Router verbunden habe oder wenn zwei Ethernet-Karten beide mit demselben Router verbunden sind.
Ich kann aus Erfahrung sagen, dass mein Laptop in meinem Fall die Ethernet-Karte (eth0) gegenüber der drahtlosen zu bevorzugen scheint (eth1 - ich weiß, dass dies kein typischer Name für eine drahtlose Schnittstelle ist, aber das habe ich), aber ich war es Fragen Sie sich, wie entscheidet das? Wenn nur die Schnittstelle mit der niedrigsten Nummer ausgewählt wird, was ist, wenn die beiden Optionen beispielsweise eth0 und wlan0 sind?
Bearbeiten: @Nils hat darauf hingewiesen, dass dies immer noch eine Frage des Routings ist, und die Routing-Tabelle liefert die Antwort (siehe seine Antwort). Dies lässt immer noch meine ursprüngliche Frage, aber in einer anderen Form. Was bestimmt die Reihenfolge der Einträge in der Routing-Tabelle unter Linux? Hier ist zum Beispiel meine Routing-Tabelle, während ich mit beiden Schnittstellen verbunden bin:
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
Es ist klar, dass eth0 in der Tabelle für Ziele im lokalen Netzwerk eine höhere Priorität als eth1 hat. Wird dies unter Linux jedoch anhand der Verbindungslatenz, des Verbindungsdurchsatzes, sogar des Schnittstellennamens oder was entschieden? (Dieselbe Frage könnte sich stellen, warum eth0 die Schnittstelle für die Standardroute ist.)