Image

База знаний → Лог в dmesg icmp: ip Source Route Failed

[Виртуальные сервера]
Дата публикации: 22.05.2025

В логе Linux, выполнив команду dmesg можно встретить такого рода события:

icmp6_send: no reply to icmp error
icmp6_send: no reply to icmp error
icmp6_send: no reply to icmp error
icmp: xxx.xx.xxx.xx: Source Route Failed
icmp: xxx.xx.xxx.xx: Source Route Failed
icmp: xxx.xx.xxx.xx: Source Route Failed

1. icmp6_send: no reply to icmp error

Операционная система пыталась отправить ICMPv6-сообщение об ошибке (например, "Destination Unreachable", "Time Exceeded" и т.д.), но не получила ответа.

В большинстве случае это связано с тем, что сообщение об ошибке заблокировано фаерволом.

2. icmp: xxx.xx.xxx.xx: Source Route Failed

Узел xxx.xx.xxx.xx (маршрутизатор или хост) пытался использовать source routing (указание маршрута в заголовке IP-пакета), но это не удалось.

Source routing считается уязвимостью и в большинстве случаев отключен в современных ОС и сетевых устройствах.

3. Причины

  • Попытка атаки с использованием source routing (например, спуфинг).
  • Сканирование сети (например, через traceroute с опцией source route).

4. Вывод и действия

4.1 Для icmp6_send: no reply to icmp error

Проверьте настройки и работу протокола Ipv6 например используя ping6, также можно установить лимиты на трафик IPv6 в фаерволе iptables

iptables -A INPUT -p ipv6-icmp -m limit --limit 80/sec --limit-burst 80 -j ACCEPT
iptables -A INPUT -j REJECT --reject-with icmp6-adm-prohibited

Если лимиты уже установлены - то сообщение появляется как факт попытки их превысить - как уведомление.

4.2 Для icmp: xxx.xx.xxx.xx: Source Route Failed

Проверьте чтобы source routing был отключен, выполнив команду:

sysctl net.ipv4.conf.all.accept_source_route

В ответе должно быть 0 (net.ipv4.conf.all.accept_source_route = 0).

Проверить логи на предмет подозрительной активности с IP xxx.xx.xxx.xx - скорее всего это сканер или злоумышленник.

В целом никаких действий не требуется и сообщение является просто уведомлением.

5. Дополнительно при желании

5.1 Заблокировать IP

Вы можете заблокировать IP адрес, но как правило у злоумышленников в распоряжении подсети и это ничего не даст, меры выше уже предприняты, если хочется то вот так:

iptables -A INPUT -s xxx.xx.xxx.xx -j DROP

5.2 Включить логирование

iptables -A INPUT -m policy --pol ipsec --dir in -j ACCEPT
iptables -A INPUT -m rt --rt-type 0 -j LOG --log-prefix "SRC ROUTE ATTEMPT: "
iptables -A INPUT -m rt --rt-type 0 -j DROP

В файле /var/log/syslog будут появляться записи о попытках.

5.3 Проверка настроек на всех интерфейсах

sysctl -a | grep accept_source_route

Вывод должен быть примерно таким для ipv4

net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0

и аналогичным для ipv6

net.ipv6.conf.all.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0
net.ipv6.conf.eth0.accept_source_route = 0

Обратите внимание в последних двух командах для ipv6 и ipv4 используется eth0 - у вас может быть другое название сетевого интерфейса, проверить можно командой ifconfig или ip link show (ip l).

5.4 Изменение настроек sysctl

Чтобы внести изменения в настройки операционной системы и сохранить их при перезагрузке необходимо вносить изменения в файл /etc/sysctl.conf, чтобы применить, используйте команду:

sysctl -p

В нашем случае строки будут выглядеть так:

net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0




Нет комментариев