Gibt es eine Möglichkeit, einer Schnittstelle eine IP hinzuzufügen, wobei die Schnittstellenroute aber in einer anderen Routing-Tabelle als der „Haupt“-Routing-Tabelle in Linux erstellt wird?
Beispiel: Wenn ich eine IP 10.11.20.10/24 zu eth0 hinzufüge, wird eine Schnittstellenroute in der Haupttabelle erstellt.
ip route show
10.11.20.0/24 dev eth1 proto kernel scope link src 10.11.20.10
Ich möchte aber nicht, dass diese Schnittstellenroute in der „Haupttabelle“ erstellt wird, sondern in einer anderen Routingtabelle mit der Tabellen-ID 10. Anscheinend akzeptiert „IP-Adresse“ die Tabellen-ID nicht als Option. Die einzige Möglichkeit, die mir einfällt, ist, die Schnittstellenroute aus der „Haupttabelle“ zu löschen und sie einer anderen Routingtabelle hinzuzufügen.
Antwort1
Der Kernel fügt die Routing-Regeln hinzu, nachdem er der Box eine IP hinzugefügt hat, nicht der ip
Befehl. Sie können also nicht verhindern, dass er zur „Haupt“-Tabelle hinzugefügt wird. Die einzige Möglichkeit, dies zu tun, besteht darin, die Route manuell aus „Main“ zu entfernen und sie Ihrer benutzerdefinierten Tabelle hinzuzufügen.
Antwort2
Unter diesem Link finden Sie Informationen zuErweitertes Routing und Verkehrssteuerung unter Linux. Es enthält alles, was Sie brauchen: wie Sie eine neue Tabelle mit einer bestimmten ID und Priorität hinzufügen, wie Sie eine Route aus einer „Haupttabelle“ löschen und sie Ihrer neuen Tabelle hinzufügen. Ich denke, es sollte Ihren Anforderungen entsprechen.