Is it possible to see Where did this rule come from?
Não no sentido "onde posso procurar a fonte dessa regra".
Existem várias maneiras de investigar o problema: o mais evidente é grep
de todos os scripts de inicialização em seu sistema para ver qual usa ip rule
e, em seguida, começa a lê-los. Ou você poderia iniciar seu sistema no modo de usuário único e iniciar os serviços um por um, a partir da linha de comando, usando strace
. Ou você pode iniciar seu sistema com bash
como init (linha de comando do kernel: init=/bin/bash
) e, em seguida, executar o /sbin/init
real com strace
. Estas são maneiras bastante avançadas de rastrear as atividades de inicialização, pode não ser trivial saber quais scripts executar ...
Não há como saber de onde veio a regra específica se foi um administrador ou um hacker inserindo-a manualmente, e não um script presente no sistema.
What is the point of empty routing table?
Nada - até que alguém comece a preencher essa tabela. Isso poderia ser um daemon, inicialmente inserindo a regra para sua própria tabela e, em seguida, alterando dinamicamente o conteúdo de sua própria tabela de roteamento.
how can there be multiple rules with same priority?
Como usar o utilitário IPROUTE2
priority PREFERENCE --- priority of this rule. Each rule should have an explicitly set unique priority value. Priority is an unsigned 32 bit number thus we have 4294967296 possible rules.
WARNING!
For historical reasons ip rule add does not require any priority value and allows the priority value to be non-unique. If the user had not supplied a priority value then one was assigned by the kernel.If the user requested creating a rule with a priority value which already existed then the kernel did not reject the request and added the new rule before all old rules of the same priority. This is a mistake in the current design, nothing more. It should be fixed by the time you read this so please do not rely on this feature. You should always use explicit priorities when creating rules.