Welches meiner Netzwerkgeräte wird zum Herstellen/Aufrechterhalten einer Verbindung verwendet?

Welches meiner Netzwerkgeräte wird zum Herstellen/Aufrechterhalten einer Verbindung verwendet?

Wenn ich über zwei Netzwerkgeräte verfüge, woher weiß ich, welches für die angeforderte ausgehende Verbindung verwendet wird?

Mit diesem :

ip r
  default via 10.0.0.1 dev wlp3s0 proto static 
  default via 10.0.0.1 dev wlx00e04c221395 proto dhcp src 10.0.0.143 metric 600 
  10.0.0.0/24 dev wlp3s0 proto kernel scope link src 10.0.0.120 
  10.0.0.0/24 dev wlx00e04c221395 proto kernel scope link src 10.0.0.143 
  10.0.0.1 dev wlx00e04c221395 proto dhcp scope link src 10.0.0.143 metric 600 

Ich habe zwei defaultRouten. Wird das System immer die erste verwenden, die im ip rBefehl aufgeführt ist?

Antwort1

Überprüfen Sie Ihre Routentabelle mit dem folgenden Befehl hierMetrischSpalte bestimmt normalerweise die Routing-Prioritäten,

$ route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.42.0.2       0.0.0.0         UG    50     0        0 eth1
0.0.0.0         10.42.0.1       0.0.0.0         UG    100    0        0 eth0

Diese Priorität hängt von der Reihenfolge der nach dem Neustart/Start angezeigten Schnittstellen ab. Sie können die Priorität auch mit dem folgenden Befehl beeinflussen.

sudo ifmetric <interface> <priority>

Antwort2

Ich denke, die Diskussion in den Kommentaren zu der anderen Antwort verdient eine eigene Antwort:

Erstens: Während Sie die Routing-Tabelle mit ip routeoder route -nauflisten und selbst herausfinden können, was wahrscheinlich passieren wird, ist es einfacher, den Kernel einfach mit aufzufordern, ip route get a.b.c.ddie Routing-Tabellen durchzugehen (ja, ein modernes Linux-System enthält mehr Tabellen, und es route -nwird nur die Haupttabelle angezeigt) und Ihnen das Ergebnis mitzuteilen.

Zweitens lautet eine Faustregel für die Gestaltung eines Netzwerks: „Jeder Host erhält nur eineeinzelNetzwerkschnittstelle in jedes Subnetz, mit dem sie verbunden ist". Hier zählen VMs, Netzwerk-Namespaces usw. als zusätzliche "Hosts", auch wenn sie auf derselben Hardware laufen.

Eine Schlussfolgerung lautet: „Nein, Sie weisen nicht derselben Netzwerkschnittstelle mehrere IPv4-Adressen zu“ (es sei denn, Sie wissen, was Sie tun, aber dann tun Sie das auf eigene Gefahr).

Der Grund liegt darin, dass nichts gewonnen wird, wenn man ein Subnetz über verschiedene Netzwerkschnittstellen zugänglich macht: Es gelangt auf die eine oder andere Weise in dasselbe Subnetz.

Wenn Sie diese Regeln verletzen, wie oben, wo Sie anscheinend zwei WLANs mit demselben Subnetz verbunden haben:

10.0.0.0/24 dev wlp3s0 proto kernel scope link src 10.0.0.120 
10.0.0.0/24 dev wlx00e04c221395 proto kernel scope link src 10.0.0.143 

Was dann passiert, ist nicht definiert. Wie Sie sehen, wählt der Linux-Kernel nach dem Zufallsprinzip eine der Netzwerkschnittstellen als Ziel aus 10.0.0.*.

Entweder sind diese also tatsächlich mit zwei unterschiedlichen WLANs verbunden. In diesem Fall ändern Sie den IP-Bereich eines der WLANs, z. B. auf 10.0.1.0/24. Oder es handelt sich um dasselbe WLAN, und in diesem Fall macht es keinen Sinn, zwei WLAN-Adapter zu haben.

Ähnlich verhält es sich mit der Standardregel. Sie sollten nur eine einzige Standardregel haben. Wenn Sie mehrere Regeln haben, ist das Verhalten undefiniert und eine Regel wird zufällig ausgewählt. Dies bedeutet, dass Pakete in einer Verbindung zufällig mit unterschiedlichen Parametern (z. B. Quelladressen) gesendet werden und der Host andererseits nur einen Parametersatz erkennt (den, mit dem die Verbindung geöffnet wurde), die anderen Pakete verwirft und die fehlenden Pakete als verloren betrachtet. Das liegt daran, dass die Standard-Internetprotokolle „single-homed“ sind. Es gibt multi-homed-Protokolle (wie SCTP oder Multi-Home-TCP-Erweiterungen), aber sie werden derzeit nicht weit genug verwendet, um nützlich zu sein.

Also nein, Sie können nicht zwei ISPs verwenden, um sich mit dem Internet zu verbinden und „das Internet schneller“ zu machen (es sei denn, Sie haben eine schwierige Möglichkeit, zu entscheiden, welche Verbindung Sie verwenden möchten, z. B. anhand der Zieladresse). Das ist eine FAQ, die ungefähr jede Woche gestellt wird.

Ich hoffe, dass dies alle (oder zumindest die meisten) Fragen beantwortet, die Sie in Ihrer ursprünglichen Frage nicht gestellt haben.

verwandte Informationen