Ich bin überrascht , niemand hat den einfachstenen Befehl erwähnt , dies zu tun: ifmetric
. Es kann mit installiert werden sudo apt-get install ifmetric
. Mit diesem Befehl können Sie die Metrik einer beliebigen Schnittstelle ändern. Die Schnittstelle mit niedrigerer Metrik wird für das Internet bevorzugt .
Um dies zu verwenden, sehen Sie sich zuerst die Metriken mit dem route
Befehl an:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.42.0.1 0.0.0.0 UG 100 0 0 eth0
0.0.0.0 10.42.0.2 0.0.0.0 UG 600 0 0 wlan0
Hier eth0
hat eine niedrigere Metrik, so dass es gegenüber bevorzugt wird wlan0
. Wenn Sie es vorziehen möchten wlan0
, senken Sie die Metrik:
sudo ifmetric wlan0 50
Nun würde die Routing-Tabelle so aussehen:
$ 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 wlan0
0.0.0.0 10.42.0.1 0.0.0.0 UG 100 0 0 eth0
Jetzt wird Linux wlan0
für das Internet verwendet. Die Änderung wird sofort wirksam.
crontab -e
und dann die Zeile am Ende hinzu:@reboot sudo ifmetric wlan0 50
.Durch Festlegen der Metriken ändern Sie die Prioritäten. Die Verwendung der höheren Metrik ist "teurer", sodass das Betriebssystem die Schnittstellen mit der niedrigsten Metrik verwendet, wenn es Datenverkehr weiterleiten muss. Wenn die Schnittstelle mit der niedrigeren Metrik heruntergefahren wird, wird die Schnittstelle mit der höheren Metrik verwendet, da dies die einzige Schnittstelle ist, die zum Weiterleiten des Datenverkehrs zu diesem bestimmten Netzwerk / Ziel verwendet werden kann.
Die Metriken sind in der Datei / etc / network / interfaces angegeben und verweisen auf die Dokumentation.
Verwenden Sie einen beliebigen Texteditor, um die Datei zu bearbeiten, die Netzwerke zu identifizieren und nur die
metric
Parameter zu ändern und zu speichern. Ein Neustart ist der einfachste Weg, um alle Werte zurückzusetzen, ohne auf die Details des Neustarts der Netzwerkdienste einzugehen.quelle
Die Priorisierung von Schnittstellen für den allgemeinen Datenverkehr erfolgt durch Ändern der Routing-Metriken. Jeder Route sind Parameter wie Anzahl der Sprünge und Bandbreiten zugeordnet. Informationen zum
route
Befehl finden Sie in der Option "metric" auf der Manpage .Das Priorisieren des Anwendungszugriffs auf Netzwerkressourcen wird häufig durch "Traffic Shaping" behandelt. Ich würde eine Websuchmaschine verwenden, um festzustellen, ob Ubuntu oder der Router dies können.
Fußnote.
Unter MS Windows, aber nicht unter Linux, gibt der
netstat -nr
Befehl die gleichen Informationen aus wieroute print
. Einschließlich der Routing-Metriken.quelle
Ich habe es nicht wirklich ausprobiert, aber NCD (Network Configuration Daemon - 1) kann für diesen Zweck verwendet werden. Die Site behauptet, die Netzwerkkonfiguration zu vereinfachen. Die Syntax scheint einfach zu sein.
#Warten Sie auf eine Netzwerkverbindung. Bevorzugen Sie eth1, indem Sie es vor eth0 setzen.
list ("NET-eth1", "NET-eth0") pnames;
(1) - http://code.google.com/p/badvpn/wiki/NCD
quelle
pnames
Liste in der Tat nur ein Argument für diemultidepend()
Aussage in der nächsten Zeile ist - dies ist diejenige, die die Prioritäten umsetzt. Der Mechanismus dahinter ist , dass , wenneth1
aufkommt , wenneth0
bereits oben ist, wird sie ausgeführtmultiprovide("NET-eth1");
, weilNET-eth1
vor istNET-eth0
,multidepend()
wird nach unten gehen und kommen wieder nach oben sofort, sondern Variablen aus demeth1
Belichtungsprozess statteth0
.Dies ist alles auf Routenmetriken zurückzuführen. Sie möchten die Standardroute mit der niedrigsten Metrik löschen und dann die alte Route mit der höheren Metrik wiederherstellen. Bitte folgen Sie den Befehlen unten.
Nehmen wir an, Ihre Routing-Tabelle sieht folgendermaßen aus:
Löschen Sie nun das Standard-Gateway
Stellen Sie nun das ältere Standard-Gateway wieder her (beachten Sie, dass die Metrik in diesem Fall höher als 102 ist als die aktuelle Standardroute 101).
quelle
Gateway
=10.16.87.254
, die das istUG
mit dem niedrigstenMetric
, und Schritt 2 setzt es wieder mit einem höherenMetric
so ist es steht weiterhin als Backup zur Verfügung, falls das192.168.151.2
nicht verfügbar ist.[Update] Ab Ubuntu 18.04 LTS (Server)
netplan
ist dies der Standard-Wrapper für die Netzwerkverwaltung. Die Konfiguration von Netplan erfolgt standardmäßig über eine YAML- Datei/etc/netplan/01-netcfg.yaml
(weitere Details hier ).Die Routing- Metrik wird durch die
metric
Option " " definiert , die eine positive Ganzzahl erwartet (dies100
ist im Allgemeinen der Standardwert). Hier ist das Beispiel von der Referenzseite:Die Route mit der niedrigsten
metric
(Pfadlänge) wird zum "bevorzugten" Gateway. (Verwenden Sie:,sudo netplan try
um Änderungen zu aktivieren.)Beachten Sie, dass Sie in einer Roaming-Umgebung (mehrere Verbindungen, Ein- und Ausschalten) möglicherweise den
optional
Parameter (boolean) auftrue
(Standard ist false) setzen möchten :Beachten Sie die leicht abweichende Syntax für die Routenmetrik bei DHCP-Verbindungen.
Sie können
NetworkManager
diesen Teil der Konfiguration auch als Renderer verwenden. Ich nehme an, ich habe mich noch nicht selbst getestet. Sie können diesen Teil der Konfiguration auch über GUI-Tools anzeigen / bearbeiten.(Das allerletzte große Beispiel auf der Referenzseite zeigt eine solche hybride Verwendung beider Renderer.)
Siehe auch diese Frage (askubuntu) .
quelle