Рейтинг:1

Почему система отправляет сообщения «Превышение времени ICMP в пути» при пересылке пакетов?

флаг ch
WoJ

у меня следующая установка

| ноутбук А подключен через Wireguard к серверу - 192.168.20.3 |
  
| сервер B с Wireguard (192.168.20.0) и подключен к локальной сети (192.168.10.2). Переадресация включена |
  
| сервер C подключен к локальной сети (192.168.10.3) | 

Таблица маршрутизации на Б является:

# ip р
по умолчанию через 192.168.10.1 dev enp3s0 proto static
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-4f4174b6b888 ссылка на область действия ядра src 172.18.0.1
192.168.10.0/24 dev enp3s0 ссылка на протоядро области src 192.168.10.2
192.168.20.0/24 dev wg0 ссылка на область ядра proto src 192.168.20.0
192.168.20.3 dev wg0 протостатический

я пытаюсь пропинговать С от А (А пинг Б в порядке). Пинг не проходит.

При просмотре трафика на Б, Я понимаю

# tcpdump -i любой -nn icmp
tcpdump: тип канала передачи данных LINUX_SLL2
tcpdump: подробный вывод подавлен, используйте -v[v]... для полного декодирования протокола
прослушивание на любом, тип ссылки LINUX_SLL2 (Linux Cooked v2), длина снимка 262144 байт
14:10:39.232603 wg0 В IP 192.168.20.3 > 192.168.10.3: эхо-запрос ICMP, идентификатор 1, последовательность 157, длина 72
14:10:39.232658 wg0 Исходящий IP-адрес 192.168.20.0 > 192.168.20.3: превышено время передачи ICMP, длина 100
14:10:39.240944 wg0 В IP 192.168.20.3 > 192.168.10.3: эхо-запрос ICMP, идентификатор 1, последовательность 158, длина 72
14:10:39.240983 wg0 Исходящий IP-адрес 192.168.20.0 > 192.168.20.3: превышено время передачи ICMP, длина 100
14:10:39.248667 wg0 В IP 192.168.20.3 > 192.168.10.3: эхо-запрос ICMP, идентификатор 1, последовательность 159, длина 72

Первый пакет (входящий) является Эхо-запрос ICMP отправлено из А к С (с помощью Б) Второй пакет (out) должен быть Б пересылка в С

Что это Превышено время ICMP в пути значит в этом случае?


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

я перезагрузил сервер Б и теперь пинг в порядке. Хотя это все равно очень странно. Ниже приведен один сеанс пинга от А к С, как видно на Б:

PS C:\Users\X> tracert -d 192.168.10.3

Отслеживание маршрута до 192.168.10.3 с использованием не более 30 прыжков

  1 6 мс 6 мс 8 мс 192.168.20.0
  2 6 мс 6 мс 6 мс 192.168.10.3



root@srv ~# tcpdump -i any -nn icmp
tcpdump: тип канала передачи данных LINUX_SLL2
tcpdump: подробный вывод подавлен, используйте -v[v]... для полного декодирования протокола
прослушивание на любом, тип ссылки LINUX_SLL2 (Linux Cooked v2), длина снимка 262144 байт
15:01:39.235308 wg0 В IP 192.168.20.3 > 192.168.10.3: эхо-запрос ICMP, идентификатор 1, последовательность 180, длина 72
15:01:39.235355 wg0 Исходящий IP-адрес 192.168.20.0 > 192.168.20.3: превышено время передачи ICMP, длина 100
15:01:39.243813 wg0 В IP 192.168.20.3 > 192.168.10.3: эхо-запрос ICMP, идентификатор 1, последовательность 181, длина 72
15:01:39.243854 wg0 Исходящий IP-адрес 192.168.20.0 > 192.168.20.3: превышено время передачи ICMP, длина 100
15:01:39.251044 wg0 В IP 192.168.20.3 > 192.168.10.3: эхо-запрос ICMP, идентификатор 1, последовательность 182, длина 72
15:01:39.251075 wg0 Исходящий IP-адрес 192.168.20.0 > 192.168.20.3: превышено время передачи ICMP, длина 100
15:01:39.783426 wg0 Исходящий IP-адрес 192.168.20.0 > 192.168.20.3: хост ICMP 192.168.10.188 недоступен, длина 82
15:01:39.783455 wg0 Исходящий IP-адрес 192.168.20.0 > 192.168.20.3: хост ICMP 192.168.10.188 недоступен, длина 82
15:01:40.262055 wg0 В IP 192.168.20.3 > 192.168.10.3: эхо-запрос ICMP, идентификатор 1, последовательность 183, длина 72
15:01:40.262083 enp3s0 Исходящий IP-адрес 192.168.20.3 > 192.168.10.3: эхо-запрос ICMP, идентификатор 1, последовательность 183, длина 72
15:01:40.262509 enp3s0 В IP 192.168.10.3 > 192.168.20.3: эхо-ответ ICMP, идентификатор 1, последовательность 183, длина 72
15:01:40.262530 wg0 Исходящий IP-адрес 192.168.10.3 > 192.168.20.3: эхо-ответ ICMP, идентификатор 1, последовательность 183, длина 72
15:01:40.270041 wg0 В IP 192.168.20.3 > 192.168.10.3: эхо-запрос ICMP, идентификатор 1, последовательность 184, длина 72
15:01:40.270068 enp3s0 Исходящий IP-адрес 192.168.20.3 > 192.168.10.3: эхо-запрос ICMP, идентификатор 1, последовательность 184, длина 72
15:01:40.270423 enp3s0 В IP 192.168.10.3 > 192.168.20.3: эхо-ответ ICMP, идентификатор 1, последовательность 184, длина 72
15:01:40.270440 wg0 Исходящий IP-адрес 192.168.10.3 > 192.168.20.3: эхо-ответ ICMP, идентификатор 1, последовательность 184, длина 72
15:01:40.278474 wg0 В IP 192.168.20.3 > 192.168.10.3: эхо-запрос ICMP, идентификатор 1, последовательность 185, длина 72
15:01:40.278493 enp3s0 Исходящий IP-адрес 192.168.20.3 > 192.168.10.3: эхо-запрос ICMP, идентификатор 1, последовательность 185, длина 72
15:01:40.278829 enp3s0 В IP 192.168.10.3 > 192.168.20.3: эхо-ответ ICMP, идентификатор 1, последовательность 185, длина 72
15:01:40.278842 wg0 Исходящий IP-адрес 192.168.10.3 > 192.168.20.3: эхо-ответ ICMP, идентификатор 1, последовательность 185, длина 72

Требуется несколько пакетов с Превышено время ICMP в пути чтобы, наконец, пройти правильный трафик.


Примечание: это маршрут «к» пакета, «ответный» маршрут будет проходить Сшлюз по умолчанию, который знает маршрут для 192.168.20.0/24

Anton Danilov avatar
флаг cn
Проверьте брандмауэр. Вставьте вывод `iptables-save -c`.
Paul avatar
флаг cn
Не по теме, но что за символ во второй строке первого блока кода? ФФ не может его отобразить.
флаг ch
WoJ
@AntonDanilov: брандмауэра нет (кроме коробки с провайдером, где порт перенаправляется на сервер Wireguard). Один туннель установлен брандмауэра нет.
флаг ch
WoJ
@Paul, это стрелка вниз в Юникоде (https://unicode-table.com/en/1F817/). Возможно, в разделе комментариев вы увидите это лучше:
Anton Danilov avatar
флаг cn
Проверьте маршрут `ip get от iif wg0` и наоборот на хосте B. Добавьте опцию `-v` к команде `tcpdump`, чтобы отображать исходное значение TTL в ip-пакетах.
Рейтинг:1
флаг jp

Превышено время ICMP в пути означает, что значение TTL пакета достигло нуля, скорее всего, из-за петли маршрутизации.

флаг ch
WoJ
Да, я знаю техническую причину сообщения - просто я не вижу здесь никакой петли в маршрутизации (например, `traceroute` останавливается на первом прыжке)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.