Wenn ich standardmäßige DHCP-Routenregeln durch statische ersetzen möchte, muss ich eine Regel hinzufügen ip route add scope link dev eth0
. Oder ich erhalte eine Fehlermeldung: "Nexthop hat ein ungültiges Gateway".
Hier sind meine Fragen:
F1 : Was bedeutet "Scope Link" in IP Route?
F2 : Warum ist es notwendig, von DHCP-Regeln zu statischen Regeln zu wechseln?
linux
networking
iproute2
routing-table
user762750
quelle
quelle
Antworten:
Über diese Routen teilen Sie dem Linux-Kernel mit, in welchen Subnetzen Sie sich befinden.
Diese Informationen werden nicht in einem ausgeblendeten Feld "Mein aktuelles Subnetz" gespeichert, wenn Sie eine IP-Adresse hinzufügen. Stattdessen wird die Route immer in eine "Scope Link" -Route ohne angegebenes Gateway konvertiert (auch als "Device Route" oder "Interface Route" bezeichnet). Wenn der Kernel feststellen muss, ob eine Adresse direkt erreichbar ist, führt er nur eine Routing Table-Überprüfung durch .
Normalerweise werden diese Routen automatisch hinzugefügt, sobald Sie eine IP-Adresse konfigurieren. Wenn Sie beispielsweise
ip addr add 192.168.1.5/24
ausführen, wird die IP-Adresse 192.168.1.5 zugewiesen und eine Subnetz-Route für 192.168.1.0/24 erstellt. Es ist daher nicht erforderlich, diese Routen im normalen Gebrauch hinzuzufügen.Wenn Sie jedoch blindlings "alle Routen löschen", werden diese automatisch erstellten Routen ebenfalls gelöscht, und die Überprüfung des Kernels "Ist diese Adresse in meinem Subnetz" funktioniert nicht mehr. Aus diesem Grund müssen Sie die Routen am Ende manuell neu hinzufügen.
(Der Kernel muss diese Überprüfung während auszuführen ,
ip route add
weil Route Gateways (nexthops) muss seine direkt auf die gleichen L2 - Verbindung erreichbar -. Sie können nicht hinter einem anderen Gateway sein , das heißt, muss das Gateway in Ihrem Subnetz sein.Routenbereiche sind ein allgemeiner Mechanismus, um diese Einschränkung auszudrücken: Der nächste Punkt der neuen Route muss über eine vorhandene Route mit einem geringeren Bereich erreichbar sein. Mit anderen Worten, Sie müssen einen lokalen Host (Linkbereich) durchlaufen, bevor Sie einen Remote-Host (globaler Bereich) erreichen können.
quelle