DNS в Linux Linux

Linux: dig и nslookup — no servers could be reached

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

Сообщение dig no servers could be reached означает, что запрос к DNS-серверу не получил ответа, но само интернет-соединение может работать по IP. Проверьте адрес DNS из resolvectl status или конфигурации сети, доступность порта 53 до выбранного сервера и работу локального stub-resolver.

В этой статье
  1. Что означает сообщение
  2. Как отличить причины
  3. Пошаговое решение
  4. Что важно перед исправлением

#Что означает сообщение

Сообщение
No servers could be reached

Сообщение dig no servers could be reached означает, что запрос к DNS-серверу не получил ответа, но само интернет-соединение может работать по IP.

#Как отличить причины

Возможная причинаКак узнатьЧто делать
DNS недоступенПри диагностике «Linux: dig и nslookup — no servers could be reached» уточните, какой пользователь и к какому объекту обращается; проверьте сообщение об отказе, состояние учётной записи и требуемую роль. Важно сопоставить проверку с исходным симптомом, а не с догадкой.Для случая «Linux: dig и nslookup — no servers could be reached» восстановите конкретное разрешение или штатную процедуру входа. Для проверки результата повторите только прежнее действие.
Порт 53Проверьте физическое соединение, питание и работу того же устройства с исправным кабелем или портом. Учитывайте версию DNS Linux и условия сбоя.Для случая «Linux: dig и nslookup — no servers could be reached» заменяйте внешний компонент по одному и не вскрывайте устройство под питанием. Изменения вносите по одному, с возможностью возврата.
resolv.confСравните момент появления признака «resolv.conf» с тем, когда ранее работала нужная функция. Учитывайте версию DNS Linux и условия сбоя.Исправляйте только подтверждённый фактор «resolv.conf», сохраняя прежние настройки. Для проверки результата повторите только прежнее действие.
СетьСравните результат на другом подключении и проверьте, получается ли адрес и ответ нужного сервиса. Учитывайте версию DNS Linux и условия сбоя.Для случая «Linux: dig и nslookup — no servers could be reached» корректируйте только подтверждённую сетевую настройку; при корпоративных подключениях согласуйте изменение VPN, DNS или правил межсетевого экрана. Изменения вносите по одному, с возможностью возврата.

#Пошаговое решение

  1. Определите точную причинуНа Linux откройте терминал. Выполните resolvectl status (если используется systemd-resolved), cat /etc/resolv.conf и ip route. Запишите указанный DNS и маршрут по умолчанию; сообщение no servers could be reached может означать недоступность DNS, а не отсутствие домена.
  2. Выполните основное действиеСравните запрос к штатному DNS dig example.com A и к доступному вам внешнему резолверу dig @1.1.1.1 example.com A. Если второй работает, ищите проблему в локальном DNS или сети организации. Если не отвечает даже внешнему серверу, проверьте, разрешён ли UDP/TCP 53 в вашей сети; не отключайте брандмауэр целиком.
  3. Исключите другую причинуНа машине с локальным DNS проверьте службу systemctl status systemd-resolved или systemctl status dnsmasq, если она используется, и слушаемый порт через sudo ss -lntup | grep ":53". Если его заняла другая служба, сначала выясните, кто должен обслуживать DNS, и только потом меняйте конфигурацию. На удалённом сервере не перезапускайте сеть без запасного доступа.
  4. Проверьте результат и остановитесь при рискеПовторите запросы dig example.com и getent hosts example.com. Если проблема сохраняется, запишите адрес DNS, точный вывод команды и название сетевого менеджера и передайте администратору, не публикуя конфиденциальную внутреннюю зону.

#Что важно перед исправлением

Не заменяйте /etc/resolv.conf вручную, пока не выясните, какая служба им управляет. На корпоративном VPN публичный DNS может не знать внутренние имена.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.