
Si escribo ip rule show
comando en mi máquina, obtengo el resultado como,
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
¿Qué dicen los números?0,32766y32767¿significar?
Entiendo que estas son algunas prioridades y0tiene prioridad especial y no se puede eliminar.
Además, si agrego una nueva política, se creará con una prioridad como32765. ¿Es correcto mi entendimiento?
Además, veo información sobre la prioridad de ip rule add
fromaquí.
Realmente, por razones históricas, ip rule add no requiere un valor de prioridad y permite que no sean únicos. Si el usuario no proporciona una prioridad, el kernel la selecciona. Si el usuario crea una regla con un valor de prioridad que ya existe, el kernel no rechaza la solicitud. Agrega la nueva regla antes que todas las reglas antiguas con la misma prioridad. Ya no es un error de diseño. Y se solucionará algún día, así que no confíes en esta función. Utilice prioridades explícitas.
Respuesta1
Desde la página de manualip-rule
:
En el momento del inicio, el kernel configura la RPDB predeterminada que consta de tres reglas:
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.
Entonces, esos números, 0, 32766 y 32767 son la prioridad a la que se aplicarán las reglas.
NOTA:Los otros números mencionados anteriormente: 255, 254 y 253 corresponden a las tablas de enrutamiento como se describe en este archivo:
$ more /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
Los nombres anteriores se pueden usar al consultar las tablas de enrutamiento de esta manera:
$ 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