Сайт не открывается или сервер не отвечает?
Часто причина кроется не в самом сайте, а в проблемах на пути передачи данных.
Трассировка маршрута — простой способ определить, где именно теряются пакеты между вашим компьютером и удалённым сервером.
В этой статье вы узнаете, как выполнить трассировку с помощью утилит traceroute
, tracepath
и mtr
в Linux и научитесь анализировать результаты.
Когда вы отправляете запрос к сайту, данные проходят через множество промежуточных устройств — роутеров и серверов провайдеров.
Трассировка показывает последовательность этих узлов и время задержки на каждом этапе.
Технически traceroute
отправляет пакеты с постепенно увеличивающимся значением TTL (Time To Live).
Каждый роутер снижает TTL на 1 и, когда TTL достигает нуля, отправляет обратно сообщение об ошибке (ICMP Time Exceeded).
Так программа узнаёт адреса всех промежуточных узлов.
Это классическая и наиболее распространённая утилита для трассировки.
Установка (если не установлен):
apt install traceroute
Пример использования:
traceroute google.com
Пример вывода:
Звёздочки (*) означают, что узел не отвечает на ICMP-запросы или эти запросы блокирует фаервол.
Альтернатива traceroute
, которая не требует прав суперпользователя и обычно предустановлена в системах Linux.
Запуск:
tracepath google.com
Вывод проще, но также показывает последовательность маршрутизаторов.
Утилита, сочетающая функции traceroute
и ping
.
Позволяет в режиме реального времени отслеживать потери пакетов и задержки на каждом узле.
Установка:
apt install mtr -y
Запуск:
mtr 8.8.8.8
mtr
откроет интерактивный интерфейс, который автоматически обновляет данные.
Для однократного отчёта в терминале:
mtr -r -c 10 google.com
Где -r
— режим отчёта, -c 10
— число отправляемых пакетов.
Первый хоп — обычно ваш домашний роутер или шлюз.
Следующие — маршрутизаторы провайдера и узлы по пути к сайту.
Если обрыв происходит на первом или втором узле — проблема, скорее всего, у вас локально.
Если обрыв ближе к концу — возможно, сайт блокирует ICMP-запросы или на маршруте проблемы с сетью (перегрузка, фильтрация).
Проблема | Рекомендации |
---|---|
Звёздочки в выводе | Проверьте, не блокирует ли ICMP фаервол |
traceroute: command not found | Установите утилиту: sudo apt install traceroute |
Пакеты доходят, сайт не открывается | Проверьте настройки DNS, порты и доступность сервиса (curl , telnet ) |
Трассировка — один из самых простых и эффективных способов выявить, где именно теряются пакеты на пути к удалённому серверу.
Используйте утилиты traceroute
, tracepath
и mtr
, чтобы быстро диагностировать сетевые проблемы и получить детальную информацию для общения с провайдером или хостингом.
Это поможет вам самостоятельно локализовать и устранить неполадки в сети.