fonte marciana do kernel para e do mesmo IP

12

Estamos vendo intermitentemente kernel: martian sourceentradas de log para eth0 em alguns de nossos servidores. O interessante é que eles são de e para o mesmo IP. Por exemplo:

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

Isso acontece apenas em alguns servidores. Existem cerca de 60 que têm o eth0 configurado da mesma maneira (IP diferente, obviamente).

O que devo procurar para rastrear isso?

EDITAR:

A rota para essa interface específica é a rota padrão, então não acho que seja uma questão de ser enviada a interface errada.

theillien
fonte

Respostas:

15

Problema

Encontrei o mesmo problema hoje, onde pacotes marcianos inundavam meus logs do kernel. Todos os pacotes marcianos são do mesmo endereço IP público eth0para o mesmo endereço IP público eth0(os IPs reais e o cabeçalho são removidos).

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

Depois de algumas pesquisas, percebi que o motivo está oculto nos ll headerpacotes marcianos.

Teoria

Assumindo isso em uma conexão Ethernet, ll headerna verdade mostra a parte inicial de um quadro Ethernet Tipo II, que contém o endereço MAC de destino, o endereço MAC de origem e um ID indica o tipo da parte restante do pacote.

Formato de quadro Ethernet tipo II [1]

Como você vê, os primeiros 6 bytes são o endereço MAC de destino, os próximos 6 bytes são o endereço MAC de origem e um código nos últimos 2 bytes. Os códigos comuns são:

  • 08 00: Pacotes IP
  • 86 dd: Pacote IPv6
  • 08 06: Pacote ARP

Explicação

De volta ao meu exemplo.

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

Isso nos diz,

  • houve um pacote recebido com o mesmo endereço IP de origem e destino.
  • Foi enviado por GG:HH:II:JJ:KK:LL, que é um endereço MAC que não conheço.
  • Seu destino é AA:BB:CC:DD:EE:FF, que é meu próprio endereço MAC.
  • Era um pacote IP ( 08 00).

Se um pacote tiver os mesmos endereços IP de origem e destino, ele deverá ser enviado pela mesma interface de rede, mas os MACs de origem e destino serão diferentes! Como isso pode ser possível?

Portanto, fica claro que o pacote vem de Marte, ou existem alguns problemas de roteamento, uma máquina na rede está configurada ou alguém está tentando falsificar os endereços IP / MAC. O próximo passo é verificar o endereço MAC de origem em questão.

比尔 盖子
fonte
9
trecho do Linux: Registrar pacotes marcianos suspeitos / endereços de origem não roteáveis

Um pacote marciano não é senão um pacote IP que especifica um endereço de origem ou destino reservado para uso especial pela IANA (Internet Assigned Numbers Authority).

Aqui estão exemplos desses blocos de endereços:

  • 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 isso, você tem várias opções. Você pode simplesmente ignorá-lo, pode bloqueá-lo através do firewall ou pode usar tcpdumpou wiresharkdissecar o conteúdo do pacote, o que provavelmente lhe dará informações sobre o que está causando isso.

Descrições e fontes adicionais

Uma outra frase que aparece quando você pesquisa isso é a seguinte:

Estes são pacotes que o Linux não espera da direção de onde vieram (ou seja, pacotes de hosts internos entrando na interface externa). A causa é provavelmente uma máquina mal configurada na sua LAN. Você pode desativar o registro desses pacotes através dos /proc/sys/net/ipv4/conf/interface/log_martiansquais está documentado em /usr/src/linux/Documentation/proc.txt

Não consegui encontrar a fonte original deste parágrafo, mas se você procurá-la, ela aparece muito, literalmente! Isso descreve o problema como um pacote que entrou no sistema em uma interface (NIC) pela qual não foi designado para ser entregue.

Finalmente, eu também citaria a Wikipedia sobre esse tópico, que também afirma aproximadamente o mesmo que o acima.

Um pacote marciano é um pacote IP que especifica um endereço de origem ou destino reservado para uso especial pela IANA ( Internet Assigned Numbers Authority ). Se vistos na Internet pública, esses pacotes não podem realmente se originar conforme reivindicado ou ser entregues. 1 No entanto, certos endereços reservados podem ser roteados usando multicast ou em redes privadas, links locais ou interfaces de loopback, dependendo do intervalo de uso especial em que se enquadram. 2

Os pacotes marcianos geralmente surgem da falsificação de endereços IP em ataques de negação de serviço, 3 mas também podem resultar de mau funcionamento do equipamento de rede ou configuração incorreta de um host. 1

Referências

slm
fonte
Boa explicação, no entanto .... o uso desses blocos tende a ser bastante comum, especialmente atrás das redes NAT. Assim, com base na sua explicação, eu esperaria ver essas mensagens o tempo todo. Portanto, há algo mais acontecendo na mensagem do kernel, eu estaria interessado em saber o que.
Mdpc
1
Nós estaremos executando 24 horas tcpdumpnos servidores em questão. Dito isto, entendo o conceito de pacote marciano. O que eu não entendo é por que uma interface consideraria seu próprio IP como tal.
theillien
resposta inútil de fato.
poige 29/07