o que significam os números no comando ip rule show

o que significam os números no comando ip rule show

Se eu digitar ip rule showcomando em minha máquina, obtenho a saída como,

0:  from all lookup local 
32766:  from all lookup main 
32767:  from all lookup default

O que os números0,32766e32767significar?

Eu entendo que essas são algumas prioridades e0é uma prioridade especial e não pode ser excluída.

Além disso, se eu adicionar uma nova política, ela será criada com prioridade como32765. Meu entendimento está correto?

Além disso, vejo algumas informações sobre prioridade ip rule adddeaqui.

Na verdade, por razões históricas, ip rule add não requer um valor de prioridade e permite que eles não sejam exclusivos. Se o usuário não fornecer uma prioridade, ela será selecionada pelo kernel. Se o usuário criar uma regra com um valor de prioridade já existente, o kernel não rejeitará a solicitação. Adiciona a nova regra antes de todas as regras antigas da mesma prioridade. Não é mais um erro de design. E isso será consertado um dia, então não confie nesse recurso. Use prioridades explícitas.

Responder1

Da página de manualip-rule:

No momento da inicialização, o kernel configura o RPDB padrão que consiste em três regras:

   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.

Portanto, esses números, 0, 32766 e 32767 são a prioridade de aplicação das regras.

OBSERVAÇÃO:Os demais números mencionados acima: 255, 254 e 253 correspondem às tabelas de roteamento descritas neste arquivo:

$ more /etc/iproute2/rt_tables 
#
# reserved values
#
255 local
254 main
253 default
0   unspec
#
# local
#
#1  inr.ruhep

Os nomes acima podem ser usados ​​ao consultar as tabelas de roteamento da seguinte forma:

$ 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 

Referências

informação relacionada