- Home »

Как использовать traceroute и mtr для диагностики сетевых проблем
Если ты когда-нибудь сталкивался с тем, что твой сервер внезапно перестал отвечать, сайты грузятся как улитка, а саппорт хостинга отвечает загадочными фразами про “проблемы на маршруте” — добро пожаловать в клуб. В этой статье разберём, как использовать traceroute и mtr для диагностики сетевых проблем. Это не просто “попробуй перезапустить роутер”, а реальные инструменты, которые помогут понять, где именно застревает трафик, и что с этим делать. Будет много практики, примеры из жизни, немного гиковских лайфхаков и, конечно, команды, которые можно сразу копировать в консоль. Погнали!
Как это работает? — Простыми словами о traceroute и mtr
Когда ты отправляешь пакет на сервер, он не летит напрямую, как голубь с письмом. Он проходит через кучу промежуточных точек — роутеров, шлюзов, провайдерских узлов. Иногда на этом пути что-то ломается: где-то теряются пакеты, где-то задержка вырастает до небес. Вот тут и приходят на помощь traceroute и mtr.
- traceroute — классика жанра. Показывает, через какие узлы проходит твой пакет до конечной точки, и сколько времени занимает каждый “прыжок”.
- mtr (My Traceroute) — эволюция traceroute. Это интерактивная утилита, которая в реальном времени показывает статистику по каждому хопу: задержки, потери пакетов, средние значения. Очень удобно для поиска плавающих проблем.
Обе утилиты используют TTL (Time To Live) — специальное поле в IP-пакете, которое уменьшается на каждом узле. Когда TTL становится равен нулю, узел отправляет ICMP-сообщение обратно. Так мы и узнаём, через какие точки проходит маршрут.
Как быстро и просто всё настроить?
Всё гениальное — просто. Установить traceroute и mtr можно буквально за минуту. Вот как это делается на популярных дистрибутивах Linux:
# Для Ubuntu/Debian
sudo apt update
sudo apt install traceroute mtr
# Для CentOS/RHEL
sudo yum install traceroute mtr
# Для Arch Linux
sudo pacman -S traceroute mtr
На macOS traceroute уже встроен, а mtr можно поставить через Homebrew:
brew install mtr
На Windows есть аналоги: tracert (встроен) и WinMTR (гугли winmtr.net, это порт mtr под Windows).
Примеры, схемы, практические советы
Давай разберёмся на практике. Вот базовые команды:
# traceroute
traceroute arenda-server.cloud
# mtr (интерактивный режим)
mtr arenda-server.cloud
# mtr (один запуск, отчёт в текстовом виде)
mtr -r -c 100 arenda-server.cloud
Что смотреть в выводе?
- Время (ms) на каждом хопе — если где-то задержка резко растёт, это подозрительно.
- Потери пакетов (%) — если на каком-то узле теряется 10%+ пакетов, это уже проблема.
- Звёздочки (*) — значит, узел не отвечает на ICMP. Не всегда плохо (могут быть фильтры), но если дальше по маршруту всё плохо — стоит задуматься.
Кейс 1: Всё хорошо
traceroute to arenda-server.cloud (185.XX.XX.XX), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 1.123 ms 1.098 ms 1.078 ms
2 10.10.10.1 (10.10.10.1) 2.345 ms 2.321 ms 2.312 ms
3 185.XX.XX.XX (185.XX.XX.XX) 10.123 ms 10.098 ms 10.078 ms
Всё ок: задержки минимальные, потерь нет, маршрут короткий.
Кейс 2: Где-то беда
4 * * *
5 185.XX.XX.XX (185.XX.XX.XX) 200.123 ms 210.098 ms 220.078 ms
На 4-м хопе — тишина (звёздочки), на 5-м — задержка выросла в 20 раз. Скорее всего, проблема между 3 и 5 хопом. Можно писать в саппорт с этим выводом — они оценят.
Кейс 3: Потери пакетов
mtr -r -c 100 arenda-server.cloud
...
| Host | Loss% | Snt | Last | Avg | Best | Wrst | StDev |
|------------------|-------|-----|------|------|------|------|-------|
| 192.168.1.1 | 0.0% | 100 | 1.1 | 1.2 | 1.0 | 2.0 | 0.2 |
| 10.10.10.1 | 0.0% | 100 | 2.3 | 2.4 | 2.2 | 3.0 | 0.3 |
| 185.XX.XX.XX | 15.0% | 100 | 10.1 | 12.3 | 10.0 | 30.0 | 5.0 |
15% потерь на последнем хопе — это уже серьёзно. Если потери начинаются не на первом хопе, а где-то дальше — проблема не у тебя, а на стороне провайдера или хостинга.
Таблица сравнения: traceroute vs mtr
Функция | traceroute | mtr |
---|---|---|
Показывает маршрут | Да | Да |
Показывает потери пакетов | Нет | Да |
Интерактивный режим | Нет | Да |
Графический интерфейс | Нет | Да (mtr-gtk) |
Работает на Windows | tracert (аналог) | WinMTR |
Удобен для автоматизации | Средне | Да (режим отчёта) |
Похожие решения и альтернативы
- ping — для проверки доступности, но не показывает маршрут.
- pathping (Windows) — гибрид ping и tracert, даёт статистику по каждому хопу.
- iperf — для теста пропускной способности, но не для диагностики маршрута.
- smokeping — мониторинг задержек и потерь в графиках (https://oss.oetiker.ch/smokeping/ официальный сайт).
- Netcat (nc) — для проверки портов, но не маршрута.
Статистика и сравнение с другими инструментами
- traceroute — стандарт де-факто, есть почти везде, но не показывает потери пакетов.
- mtr — любимец сисадминов, потому что сразу видно, где “течёт”.
- WinMTR — must-have для Windows-юзеров, особенно если нужно отправить отчёт в саппорт.
- Smokeping — круто для долгосрочного мониторинга, но требует отдельной настройки и сервера.
По опросам на StackOverflow и Reddit, mtr используют 80% админов для быстрой диагностики, traceroute — для “официальных” отчётов и тикетов в саппорт.
Интересные факты и нестандартные способы использования
- Можно запускать mtr в cron и сохранять отчёты — удобно для поиска плавающих проблем.
- mtr поддерживает работу через TCP и UDP (ключи
-T
и-u
), что помогает, если ICMP фильтруется. - traceroute можно запускать с разными портами (например,
traceroute -T -p 443
), чтобы проверить маршрут до HTTPS-сервера. - mtr-gtk — графическая версия для тех, кто любит мышкой.
- Можно использовать mtr для проверки маршрута между двумя серверами (ssh + mtr), чтобы понять, где “узкое место”.
Автоматизация и скрипты: новые возможности
Оба инструмента отлично подходят для автоматизации. Например, можно написать скрипт, который раз в час запускает mtr до нужных хостов и сохраняет отчёты в лог. Если где-то начались потери или задержки — отправлять уведомление в Telegram или Slack.
#!/bin/bash
HOSTS=("arenda-server.cloud" "8.8.8.8")
for HOST in "${HOSTS[@]}"; do
mtr -r -c 100 $HOST > /var/log/mtr_$HOST.log
done
Можно интегрировать mtr в систему мониторинга (Zabbix, Nagios, Prometheus) — будет видно, где и когда начались проблемы.
Вывод — заключение и рекомендации
Если ты хочешь, чтобы твой сервер работал стабильно, а сайты не падали из-за “мистических” сетевых проблем — обязательно добавь traceroute и mtr в свой арсенал. Это быстрые, простые и мощные инструменты, которые реально помогают найти и доказать, где именно затык: у тебя, у провайдера или у хостинга.
- Используй traceroute для первичной диагностики маршрута.
- Запускай mtr для поиска плавающих проблем и потерь пакетов.
- Не бойся автоматизировать — mtr отлично работает в скриптах и cron.
- Если нужна графика — смотри в сторону smokeping или mtr-gtk.
И главное — не стесняйся отправлять выводы traceroute/mtr в саппорт. Это не “магия”, а реальное доказательство проблемы, которое ускоряет решение в разы.
Если ты ищешь надёжный VPS или выделенный сервер для своих проектов — смотри тут: VPS и выделенные серверы. Стабильная сеть, быстрый саппорт и никаких “мистических” потерь пакетов!
Официальные ссылки для самостоятельного изучения:
Пусть твои пакеты всегда доходят до цели!
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.