Mensagens ICMP Host inacessíveis resultam em pacotes de origem marcianos

Mensagens ICMP Host inacessíveis resultam em pacotes de origem marcianos

Já faz algum tempo que venho tentando entender um comportamento peculiar em nossa configuração de roteamento/firewall, mas não entendo realmente o que está acontecendo.

Temos um dispositivo firewall/roteador que possui duas interfaces externas e várias VLANs internas.

O comportamento específico é observado quando um cliente (MAC f4:f5:d8:d2:f2:4c, IP 10.99.154.254 neste exemplo) em nossa rede WiFi convidada VLAN 99 envia uma solicitação de eco de ping para algum host da Internet 8.8.8.8, o que proibimos.

O roteador envia de volta um pacote ICMP host inacessível de sua vlan99interface (MAC 00:08:a2:0d:00:70, IP 10.99.0.2) para o cliente e, ao mesmo tempo, vemos umpacote marcianona interface externa eth-ext1:

tcpdumpmostra isso:

$ 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

Nada de surpreendente aqui, este é o ping original do cliente e o pacote ICMP resultante voltando para o cliente convidado informando-o de que o host está inacessível.

Ao mesmo tempo, uma entrada aparece no log do 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..

As informações da camada de enlace mostram que esse quadro Ethernet veiodeo dispositivo clienteparao roteadorvlan99interface, o que me faz pensar por que ele aparece como um pacote marciano emeth-ext1com um endereço de origem 8.8.8.8.

Até agora, não consegui rastrear o pacote com a fonte marciana, o que me deixa pensando se o registro da fonte marciana também acontece em uma interface de saída, antes de tcpdumpter a chance de vê-lo?

Terei prazer em fornecer mais informações mediante solicitação (tabelas de roteamento ou similares) e agradeceria qualquer indicação sobre o que está acontecendo aqui.

Responder1

O kernel está corrigindo a solicitação de ping para 8.8.8.8 com a mensagem icmp inacessível e está informando que a fonte é marciana.

Este é o pacote que está sinalizando ...

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 você pode ver pela camada de link... 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 

A fonte marciana - presumo que esteja confundindo o fato de estar respondendo como um proxy para 8.8.8.8 - não pode chegar lá a partir daqui.

informação relacionada