GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿tabla de enrutamiento "220" en Linux Kernel 3.2.0-23-generic?

Tengo una máquina Linux con kernel 3.2.0-23-generic y tiene una regla con prioridad 220 en RPDB que apunta a la tabla de enrutamiento denominada "220":

T42:~# ip rule show
0:      from all lookup local 
220:    from all lookup 220 
220:    from all lookup 220 
32766:  from all lookup main 
32767:  from all lookup default 
T42:~# ip route show table 220
T42:~# 

¿Es posible ver de dónde vino esta regla? ¿Cuál es el punto de la tabla de enrutamiento vacía? Por último, pero no menos importante, ¿cómo puede haber varias reglas con la misma prioridad?

Respuesta aceptada:

¿Es posible ver de dónde viene esta regla?

No en el sentido de "¿dónde puedo buscar el origen de esta regla?".
Hay varias formas de investigar el problema:la más evidente es grep todos los scripts de inicio en su sistema para ver cuál usa ip rule en absoluto, y luego empezar a leerlos. O puede iniciar su sistema en modo de usuario único e iniciar los servicios uno por uno, desde la línea de comandos, usando strace . O puede iniciar su sistema con bash como init (línea de comando del núcleo:init=/bin/bash ), y luego puede ejecutar el verdadero /sbin/init con strace . Estas son formas bastante avanzadas de rastrear las actividades de inicio, puede que no sea trivial saber qué scripts ejecutar...

No hay forma de saber de dónde provino la regla específica si fue un administrador o un pirata informático que la ingresó manualmente, y no un script presente en el sistema.

¿Cuál es el punto de la tabla de enrutamiento vacía?

Nada, hasta que alguien comience a llenar esa tabla. Esto podría ser un demonio, ingresando inicialmente la regla para su propia tabla y luego cambiando dinámicamente el contenido de su propia tabla de enrutamiento.

¿Cómo puede haber varias reglas con la misma prioridad?

Instrucciones de la suite de utilidades IPROUTE2

Prioridad PREFERENCIA:prioridad de esta regla. Cada regla debe tener un valor de prioridad único establecido explícitamente. La prioridad es un número de 32 bits sin firmar, por lo que tenemos 4294967296 reglas posibles.

¡ADVERTENCIA!

Por razones históricas, ip rule add no requiere ningún valor de prioridad y permite que el valor de prioridad no sea único. Si el usuario no había proporcionado un valor de prioridad, el kernel le asignaba uno. Si el usuario solicitaba la creación de una regla con un valor de prioridad que ya existía, entonces el kernel no rechazaba la solicitud y agregaba la nueva regla antes que todas las reglas anteriores del sistema. misma prioridad. Esto es un error en el diseño actual, nada más. Debería estar solucionado para cuando lea esto, así que no confíe en esta función. Siempre debe usar prioridades explícitas al crear reglas.


Linux
  1. Cómo establecer una dirección IP estática y modificar la tabla de enrutamiento en Linux

  2. Cómo actualizar Kernel en Linux Desktop

  3. Linux:¿un núcleo corrupto en Linux?

  4. Linux – ¿Diseño de tabla de página de volcado (configuración del kernel)?

  5. Cómo mostrar la tabla de enrutamiento en Linux

Comando Sysctl en Linux

¿Linux es un sistema operativo o un kernel?

Núcleo de Linux vs. Núcleo de Mac

Kernel de Linux y sus funciones

Qué hacer en caso de pánico en el kernel de Linux

Guía completa de registro de Linux