Was ist der Befehl zum Ändern der Metrik eines vorhandenen Routeneintrags unter Linux? Ich kann das Gateway eines vorhandenen Eintrags mit dem folgenden Befehl "ip route change" ändern, aber keine Metriken ändern. Gibt es dafür einen anderen Befehl?
route –n
40.2.2.0 30.1.3.2 255.255.255.0 eth2
ip route change 40.2.2.0/24 via 30.1.2.2
route -n
40.2.2.0 30.1.2.2 255.255.255.0 eth1
Antworten:
Wie in einem Kommentar zu der Frage erwähnt, zitiert eine Nachricht in der Linux-Net-Mailingliste: "Die Metrik / Priorität kann nicht geändert werden [...] Dies ist eine Einschränkung des aktuellen Protokolls [...]."
Die einzige Möglichkeit besteht darin, die Route zu löschen und eine neue hinzuzufügen.
Dies geschieht mit dem folgenden
route
Befehl:Debian-Manpage für den Routenbefehl
quelle
The metric/priority cannot be changed [...] This is a limitation of the current protocol[...]
. Die einzige Möglichkeit besteht darin, die Route zu löschen und eine neue hinzuzufügen.(Kombinieren verschiedener Kommentare zu einer Antwort)
Derzeit ist es nicht möglich, die Metrik einer Route zu ändern. In einer Nachricht von 2005 zu LKML heißt es :
Dies scheint sowohl für
ip route change
als auch fürip route replace
- das erstere führt zu einem Fehler für mich, während das letztere eine zusätzliche Route wie angekündigt erstellt (auf der Manpagereplace
wird angegeben, dass eine Route ersetzt oder erstellt wird). Dies steht im Einklang mit der Antwort des Kernels auf ENOENT und derip route replace
anschließenden Anforderung einer Routenerstellung .Die Lösung besteht also darin, die vorhandene Route zu löschen und eine neue hinzuzufügen. z.B
quelle
ifmetric
Mit dieser Option können Sie Ihre Routenmetrik im laufenden Betrieb ändern, da die Routen, die Sie ändern möchten, die Schnittstelle durchlaufen.Verwendung
Verwenden Sie
ifmetric tun0 12
diese Option beispielsweise, um die Metrik für alle durchlaufenden Routen auf 12 zu änderntun0
.quelle