ядро марсианского источника и с того же IP

13

Мы периодически видим kernel: martian sourceзаписи журнала для eth0 на нескольких наших серверах. Интересно то, что они принадлежат одному и тому же IP. Например:

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

Это происходит только на нескольких серверах. Есть около 60, которые настроили eth0 таким же образом (очевидно, разные IP).

Что я должен смотреть, чтобы отследить это?

РЕДАКТИРОВАТЬ:

Маршрут для этого конкретного интерфейса является маршрутом по умолчанию, поэтому я не думаю, что это вопрос отправки неправильного интерфейса.

theillien
источник

Ответы:

16

проблема

Я столкнулся с той же проблемой сегодня, когда марсианские пакеты заполонили мои журналы ядра. Все марсианские пакеты отправляются с одного и того же публичного IP-адреса eth0на один и тот же публичный IP-адрес eth0(реальные IP-адреса и заголовок удаляются).

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

После некоторых исследований я понял, что причина кроется в ll headerмарсианских пакетах.

теория

Предполагая это в соединении Ethernet, ll headerфактически показывает начальную часть кадра Ethernet типа II, который содержит MAC-адрес назначения, исходный MAC-адрес и идентификатор, указывающий тип оставшейся части пакета.

Формат кадра Ethernet типа II [1]

Как видите, первые 6 байтов являются MAC-адресом назначения, следующие 6 байтов являются MAC-адресом источника и кодом в последних 2 байтах. Общие коды:

  • 08 00: IP-пакеты
  • 86 dd: Пакет IPv6
  • 08 06: ARP пакет

объяснение

Вернемся к моему примеру.

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

Это говорит нам,

  • был получен пакет с тем же IP-адресом источника и назначения.
  • Он был отправлен по GG:HH:II:JJ:KK:LLMAC-адресу, который я не знаю.
  • Это пункт назначения AA:BB:CC:DD:EE:FF, который является моим собственным MAC-адресом.
  • Это был IP-пакет ( 08 00).

Если пакет имеет одинаковые IP-адреса отправителя и получателя, он должен быть отправлен одним и тем же сетевым интерфейсом, но MAC-адреса источника и получателя различны! Как это может быть возможно?

Таким образом, ясно, что пакет поступает с Марса, либо возникают проблемы с маршрутизацией, либо настроен компьютер в сети, либо кто-то пытается подделать IP / MAC-адреса. Следующим шагом является проверка исходного MAC-адреса.

比尔 盖子
источник
9
выдержка из Linux: журнал подозрительных марсианских пакетов / не маршрутизируемых исходных адресов

Марсианский пакет - это не что иное, как IP-пакет, в котором указывается адрес источника или пункта назначения, зарезервированный для специального использования Органом по присвоению номеров в Интернете (IANA).

Вот примеры таких адресных блоков:

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

Чтобы отследить это у вас есть несколько вариантов. Вы можете просто проигнорировать это, вы можете заблокировать его через брандмауэр, или вы можете использовать tcpdumpили wiresharkрассекать содержимое пакета, что, вероятно, даст вам представление о том, что вызывает это.

Дополнительные описания и источники

Еще одна фраза, которая появляется при поиске:

Это пакеты, которые Linux не ожидает в том направлении, откуда они пришли (то есть пакеты от внутренних хостов, поступающих на внешний интерфейс). Возможно, причиной является неверно настроенный компьютер в вашей локальной сети. Вы можете отключить регистрацию тех пакетов, через /proc/sys/net/ipv4/conf/interface/log_martiansкоторые задокументировано /usr/src/linux/Documentation/proc.txt

Я не смог найти первоисточник этого абзаца, но если вы поищете его, он будет много раз, дословно! Это описывает проблему как пакет, который поступил в систему через интерфейс (NIC), через который он не предназначен для прохождения.

Наконец, я бы также процитировал Википедию на эту тему, в которой также указано примерно то же, что и выше.

Марсианский пакет - это IP-пакет, который указывает адрес источника или назначения, зарезервированный для специального использования Органом по присвоению номеров в Интернете (IANA). Если эти пакеты видны в общедоступном Интернете, они не могут быть отправлены, как заявлено, или не доставлены. 1 Однако некоторые зарезервированные адреса могут маршрутизироваться с использованием многоадресной рассылки или в частных сетях, локальных каналах или интерфейсах обратной связи, в зависимости от того, в какой диапазон специального использования они попадают. 2

Марсианские пакеты обычно возникают из-за подмены IP-адресов при атаках типа «отказ в обслуживании» 3, но также могут возникать из-за сбоя сетевого оборудования или неправильной конфигурации хоста. 1

Ссылки

SLM
источник
Хорошее объяснение, однако ... использование этих блоков имеет тенденцию быть довольно распространенным, особенно в сетях NAT. Таким образом, основываясь на вашем объяснении, я бы ожидал увидеть эти сообщения все время. Так что в сообщении ядра происходит нечто большее, мне было бы интересно узнать, что именно.
MDPC
1
Мы будем работать 24 часа в сутки tcpdumpна рассматриваемых серверах. Тем не менее, я понимаю концепцию марсианского пакета. Что я не понимаю, так это то, почему интерфейс будет рассматривать свой собственный IP как таковой.
Theillien
бессмысленный ответ на самом деле.
Пой