Los mensajes ICMP Host inalcanzables dan como resultado paquetes fuente marcianos

Los mensajes ICMP Host inalcanzables dan como resultado paquetes fuente marcianos

He estado tratando de comprender un comportamiento peculiar en nuestra configuración de enrutamiento/firewall desde hace bastante tiempo, pero realmente no entiendo qué está pasando.

Tenemos un dispositivo firewall/enrutador que tiene dos interfaces externas y varias VLAN internas.

El comportamiento específico se observa cuando un cliente (MAC f4:f5:d8:d2:f2:4c, IP 10.99.154.254 en este ejemplo) en nuestra red WiFi para invitados VLAN 99 envía una solicitud de eco de ping a algún servidor de Internet 8.8.8.8, lo cual prohibimos.

El enrutador envía de vuelta un paquete ICMP host inalcanzable desde su vlan99interfaz (MAC 00:08:a2:0d:00:70, IP 10.99.0.2) al cliente, y al mismo tiempo vemos unpaquete marcianoen la interfaz externa eth-ext1:

tcpdumpmuestra esto:

$ tcpdump -i vlan99 -vvvvn 'icmp and host 10.99.154.254'
11:59:21.555564 f4:f5:d8:d2:f2:4c > 00:08:a2:0d:00:70, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
    10.99.154.254 > 8.8.8.8: ICMP echo request, id 2303, seq 1, length 64
11:59:21.555651 00:08:a2:0d:00:70 > f4:f5:d8:d2:f2:4c, ethertype IPv4 (0x0800), length 126: (tos 0xc0, ttl 64, id 8585, offset 0, flags [none], proto ICMP (1), length 112)
    10.99.0.2 > 10.99.154.254: ICMP host 8.8.8.8 unreachable, length 92
    (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
    10.99.154.254 > 8.8.8.8: ICMP echo request, id 2303, seq 1, length 64

No es sorprendente aquí, este es el ping original del cliente y el paquete ICMP resultante que regresa al cliente invitado informándole que el host es inalcanzable.

Al mismo tiempo, aparece una entrada en el registro del kernel:

Feb 21 11:59:21 ganymede kernel: IPv4: martian source 10.99.154.254 from 8.8.8.8, on dev eth-ext1
Feb 21 11:59:21 ganymede kernel: ll header: 00000000: 00 08 a2 0d 00 70 f4 f5 d8 d2 f2 4c 08 00        .....p.....L..

La información de la capa de enlace muestra que esta trama de Ethernet llegódeel dispositivo clienteael enrutadorvlan99interfaz, lo que me hace preguntarme por qué aparece como un paquete marciano eneth-ext1con una dirección de origen de 8.8.8.8.

Hasta ahora no he podido obtener un rastro del paquete con la fuente marciana, lo que me deja preguntándome si el registro de la fuente marciana también ocurre en una interfaz de salida, antes de tcpdumptener la oportunidad de verlo.

Con mucho gusto proporcionaré más información a pedido (tablas de enrutamiento o similares) y agradecería cualquier sugerencia sobre lo que está sucediendo aquí.

Respuesta1

El kernel está parcheando la solicitud de ping a 8.8.8.8 con el mensaje icmp inalcanzable y le informa de manera útil que la fuente es marciana.

Este es el paquete que está marcando...

11:59:21.555651 00:08:a2:0d:00:70 > f4:f5:d8:d2:f2:4c, ethertype IPv4 (0x0800), length 126: (tos 0xc0, ttl 64, id 8585, offset 0, flags [none], proto ICMP (1), length 112)
    10.99.0.2 > 10.99.154.254: ICMP host 8.8.8.8 unreachable, length 92

Como puedes ver en la capa de enlace... MAC 00 08 a2 0d 00 70 to f4 f5 d8 d2 f2 4c 08 00.

Feb 21 11:59:21 ganymede kernel: ll header: 00000000: 00 08 a2 0d 00 70 f4 f5 d8 d2 f2 4c 08 00 

La fuente marciana (supongo que está combinando el hecho de que responde como un proxy a 8.8.8.8) no puede llegar allí desde aquí.

información relacionada