Если сеть начинает лагать, то обычно первым делом запускают:
ping 8.8.8.8
Потом:
traceroute 8.8.8.8
ping показывает задержку и потери до конечного узла. traceroute показывает маршрут. А mtr объединяет оба подхода в одном инструменте. По сути, mtr — это живая диагностика маршрута: он постоянно отправляет пакеты и показывает статистику по каждому hop`у.
▪️ Установка:
apt install mtr
или:
yum install mtr
Запуск:
mtr 8.8.8.8
▪️ В интерфейсе видно:
— через какие узлы идет маршрут;
— где растет задержка;
— на каком hop’е появляются потери;
— как меняется картина во времени.
▪️ Для разовой проверки удобен report-режим:
mtr -rw 77.88.8.8-r- report mode-w- широкий вывод, чтобы не резались имена хостов Можно указать число пакетов:
mtr -rw -c 100 77.88.8.8
Это уже полезнее, чем скриншот после 5 секунд наблюдения.
▪️ Главное правило чтения mtr:
Потери на промежуточном hop’е не всегда означают проблему. Многие маршрутизаторы специально ограничивают ответы на ICMP/TTL exceeded. Поэтому если на одном промежуточном узле видно 50% loss, а дальше и до конечного хоста потерь нет — скорее всего, это не авария. Проблема становится реальной, когда потери продолжаются на всех следующих hop’ах, включая конечный адрес. Пример:
hop 5: 30% loss hop 6: 30% loss hop 7: 30% loss target: 30% loss
Вот это уже похоже на реальную потерю по пути. А если так:
hop 5: 80% loss hop 6: 0% loss target: 0% loss
то, скорее всего, просто сам hop не любит отвечать на диагностические пакеты.
▪️ Полезные варианты:
mtr -4 mail.ru # только IPv4. mtr -6 mail.ru # только IPv6. mtr -T mail.ru # TCP-режим, полезно, когда ICMP фильтруется. mtr -u mail.ru # UDP-режим
mtr показывает сетевую картину с вашей точки. Если проблема плавающая или зависит от обратного маршрута, одного запуска может быть мало.
Лучше запускать проверку с двух сторон, если есть такая возможность: от клиента к серверу и от сервера к клиенту.

