
Wenn ich ip rule show
den Befehl in meinen Computer eingebe, erhalte ich die Ausgabe wie folgt:
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
Was bedeuten die Zahlen0,32766Und32767bedeuten?
Ich verstehe, dass dies einige Prioritäten sind und0hat besondere Priorität und kann nicht gelöscht werden.
Wenn ich eine neue Richtlinie hinzufüge, wird sie außerdem mit der Priorität32765. Habe ich das richtig verstanden?
Außerdem sehe ich einige Informationen zur Priorität für ip rule add
vonHier.
Aus historischen Gründen erfordert „ip rule add“ keinen Prioritätswert und lässt zu, dass diese nicht eindeutig sind. Wenn der Benutzer keine Priorität angibt, wird diese vom Kernel ausgewählt. Wenn der Benutzer eine Regel mit einem bereits vorhandenen Prioritätswert erstellt, lehnt der Kernel die Anforderung nicht ab. Er fügt die neue Regel vor allen alten Regeln mit derselben Priorität hinzu. Das ist kein Konstruktionsfehler mehr. Und es wird eines Tages behoben, also verlassen Sie sich nicht auf diese Funktion. Verwenden Sie explizite Prioritäten.
Antwort1
Aus der Manpageip-rule
:
Beim Start konfiguriert der Kernel den Standard-RPDB, der aus drei Regeln besteht:
1. Priority: 0, Selector: match anything, Action: lookup routing table local (ID 255). The local table is a special routing table containing high priority control routes for local and broadcast addresses. Rule 0 is special. It cannot be deleted or overridden. 2. Priority: 32766, Selector: match anything, Action: lookup routing table main (ID 254). The main table is the normal routing table containing all non-policy routes. This rule may be deleted and/or overridden with other ones by the administrator. 3. Priority: 32767, Selector: match anything, Action: lookup routing table default (ID 253). The default table is empty. It is reserved for some post-processing if no previous default rules selected the packet. This rule may also be deleted. Each RPDB entry has additional attributes. F.e. each rule has a pointer to some routing table. NAT and masquerading rules have an attribute to select new IP address to translate/masquerade. Besides that, rules have some optional attributes, which routes have, namely realms. These values do not override those contained in the routing tables. They are only used if the route did not select any attributes.
Daher haben die Zahlen 0, 32766 und 32767 die Priorität, auf die die Regeln angewendet werden.
NOTIZ:Die anderen oben genannten Nummern: 255, 254 und 253 entsprechen den Routing-Tabellen, wie sie in dieser Datei beschrieben sind:
$ more /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
Die oben genannten Namen können dann bei der Abfrage der Routing-Tabellen wie folgt verwendet werden:
$ ip route show table local
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 172.17.0.0 dev docker0 proto kernel scope link src 172.17.42.1
local 172.17.42.1 dev docker0 proto kernel scope host src 172.17.42.1
broadcast 172.17.255.255 dev docker0 proto kernel scope link src 172.17.42.1
broadcast 192.168.1.0 dev wlp1s0 proto kernel scope link src 192.168.1.80
local 192.168.1.80 dev wlp1s0 proto kernel scope host src 192.168.1.80
broadcast 192.168.1.255 dev wlp1s0 proto kernel scope link src 192.168.1.80