fuente marciana del núcleo hacia y desde la misma IP


13

Estamos viendo de forma intermitente kernel: martian sourceentradas de registro para eth0 en un par de nuestros servidores. Lo interesante es que son hacia y desde la misma IP. Por ejemplo:

Nov  4 02:20:27 tcffmppr6db09 kernel: martian source 10.153.242.13 from 10.153.242.13, on dev eth0.3171

Esto solo ocurre en un par de servidores. Hay alrededor de 60 que tienen eth0 configurado de la misma manera (diferente IP, obviamente).

¿Qué debería mirar para rastrear esto?

EDITAR:

La ruta para esta interfaz en particular es la ruta predeterminada, por lo que no creo que se deba enviar la interfaz incorrecta.

Respuestas:


16

Problema

Encontré el mismo problema hoy, donde los paquetes marcianos inundaron los registros de mi núcleo. Todos los paquetes marcianos son de la misma dirección IP pública de eth0a la misma dirección IP pública de eth0(se eliminan las IP reales y el encabezado).

IPv4: martian source x.x.x.x from x.x.x.x, on dev eth0
ll header: 00000000: aa bb cc dd ee ff gg hh ii jj kk ll 08 00

Después de un poco de investigación, me di cuenta de que la razón está oculta en los ll headerpaquetes marcianos.

Teoría

Suponiendo esto en una conexión Ethernet, en ll headerrealidad muestra la parte inicial de una trama Ethernet Tipo II, que contiene la dirección MAC de destino, la dirección MAC de origen y una ID indica el tipo de la parte restante del paquete.

Formato de trama Ethernet tipo II [1]

Como puede ver, los primeros 6 bytes son la dirección MAC de destino, los siguientes 6 bytes son la dirección MAC de origen y un código en los últimos 2 bytes. Los códigos comunes son:

  • 08 00: Paquetes IP
  • 86 dd: Paquete IPv6
  • 08 06: Paquete ARP

Explicación

De vuelta a mi ejemplo.

IPv4: martian source x.x.x.x from x.x.x.x, on dev eth0
ll header: 00000000: aa bb cc dd ee ff gg hh ii jj kk ll 08 00

Esto nos dice

  • se recibió un paquete con la MISMA dirección IP de origen y destino.
  • Fue enviado por GG:HH:II:JJ:KK:LL, que es una dirección MAC que no sé.
  • Su destino es AA:BB:CC:DD:EE:FF, que es mi propia dirección MAC.
  • Era un paquete IP ( 08 00).

Si un paquete tiene las mismas direcciones IP de origen y destino, debe ser enviado por la misma interfaz de red, ¡pero los MAC de origen y destino son diferentes! ¿Cómo puede ser posible?

Por lo tanto, está claro que el paquete proviene de Marte, ya sea que hay algunos problemas de enrutamiento, una máquina dentro de la red está configurada o alguien está tratando de falsificar las direcciones IP / MAC. El siguiente paso es verificar la dirección MAC de origen en cuestión.


9
extracto de Linux: registro de paquetes marcianos sospechosos / direcciones de origen no enrutables

Un paquete marciano no es más que un paquete IP que especifica una dirección de origen o de destino que está reservada para uso especial por la Autoridad de Números Asignados de Internet (IANA).

Aquí hay ejemplos de tales bloques de direcciones:

  • 10.0.0.0/8
  • 127.0.0.0/8
  • 224.0.0.0/4
  • 240.0.0.0/4
  • :: / 128
  • :: / 96
  • :: 1/128

Para rastrear esto, tiene varias opciones. Simplemente podría ignorarlo, podría bloquearlo a través de su firewall, o podría usar tcpdumpo wiresharkdiseccionar el contenido del paquete, lo que probablemente le dará una idea de lo que está causando esto.

Descripciones adicionales y fuentes

Otra frase que aparece cuando busca esto es la siguiente:

Estos son paquetes que Linux no espera de la dirección de donde provienen (es decir, paquetes de hosts internos que entran en la interfaz externa). La causa probablemente sea una máquina mal configurada en su LAN. Puede desactivar el registro de esos paquetes a través de los /proc/sys/net/ipv4/conf/interface/log_martianscuales se documenta en /usr/src/linux/Documentation/proc.txt

No pude encontrar la fuente original de este párrafo, pero si lo busca, aparece mucho, ¡textualmente! Esto describe el problema como un paquete que ha entrado en el sistema en una interfaz (NIC) que no está designado para entrar.

Finalmente, también citaría Wikipedia sobre este tema, que también establece aproximadamente lo mismo que lo anterior.

Un paquete marciano es un paquete IP que especifica una dirección de origen o de destino que está reservada para uso especial por la Autoridad de Números Asignados de Internet (IANA). Si se ven en Internet pública, estos paquetes no pueden originarse realmente como se reclama, o ser entregados. 1 Sin embargo, ciertas direcciones reservadas se pueden enrutar mediante multidifusión o en redes privadas, enlaces locales o interfaces de bucle invertido, según el rango de uso especial al que pertenezcan. 2

Los paquetes marcianos comúnmente surgen de la suplantación de direcciones IP en ataques de denegación de servicio, 3 pero también pueden surgir del mal funcionamiento del equipo de red o la configuración incorrecta de un host. 1

Referencias


Sin embargo, una buena explicación ... el uso de estos bloques tiende a ser bastante común, especialmente detrás de las redes NAT. Por lo tanto, según su explicación, esperaría ver estos mensajes todo el tiempo. Entonces, hay algo más en el mensaje del kernel, me interesaría saber qué.
mdpc


1
Vamos a ejecutar 24 horas tcpdumpen los servidores en cuestión. Dicho esto, entiendo el concepto de un paquete marciano. Lo que no entiendo es por qué una interfaz consideraría su propia IP como tal.
theillien

respuesta inútil de hecho.
poige
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.