Проверяем DNS: что делать, когда сайт не открывается

Проверяем DNS: что делать, когда сайт не открывается

Обычная ситуация: интернет вроде есть, мессенджеры работают, а сайт по доменному имени упорно не открывается. Иногда к этому добавляется ещё и неработающая почта. В таких случаях проблема очень часто упирается не в сам канал связи, а в DNS-настройки.

Ниже понятно объяснили, что такое DNS, как понять, что ошибка связана именно с ним, и какими способами можно аккуратно проверить конфигурацию.

Что такое DNS 

DNS (Domain Name System) — это сервис, который переводит понятные человеку имена сайта в IP-адреса серверов.

Мы привыкли к доменам вроде example.com или yandex.ru, а компьютеры работают с числовыми адресами: 93.184.216.34, 77.88.55.60 и т. д.

Когда вы набираете в браузере доменное имя, происходит простая цепочка:

  • компьютер отправляет запрос к DNS-серверу,
  • тот возвращает IP-адрес,
  • браузер уже по этому IP подключается к нужному серверу.

Если в этой цепочке что-то ломается, сайт по имени не находится, хотя сама сеть может быть вполне рабочей.

Как понять, что виноват именно DNS

Чаще всего пользователь видит не техническую ошибку, а довольно прямое сообщение:
«Не удаётся найти сервер», «Не удаётся разрешить DNS-имя», DNS_PROBE_FINISHED_BAD_CONFIG и похожие формулировки.

Есть простой способ себя проверить. Попробуйте открыть тот же ресурс напрямую по IP-адресу. Например, вместо домена введите http://77.88.55.60

Если по IP страница открывается, а по имени домена — нет, то с большой долей вероятности проблема именно в DNS.

Если не открывается ни так, ни так, нужно уже смотреть подключение к Интернету, оборудование и маршрутизацию.

Какие DNS-серверы у вас сейчас указаны

Прежде чем что-то менять, полезно просто посмотреть, к каким DNS-серверам обращается ваша техника. Эти адреса можно увидеть в настройках сети на компьютере или в интерфейсе роутера.

Там могут быть, например:

  • 77.88.8.8 и 77.88.8.1 — публичные DNS Яндекса;
  • 84.200.69.80 и 84.200.70.40 — популярные европейские DNS-серверы;
  • один или два адреса, выданные вашим провайдером автоматически.

Если стоят адреса провайдера, все запросы идут через его инфраструктуру. Если указаны публичные DNS, запросы будут обслуживаться ими. Иногда смена сервера уже даёт заметный эффект по скорости и стабильности, но к этому шагу ещё вернёмся.

Проверяем, доступен ли DNS-сервер по сети

Следующий логичный вопрос: есть ли вообще связь с тем DNS-сервером, который указан в настройках. Для этого достаточно утилиты ping.

Сначала нужно открыть окно с командами:

  • Windows: Win + R → ввести cmd → Enter;
  • macOS: запустить «Терминал» через Spotlight (Cmd + Пробел, затем набрать «Терминал»);
  • Linux: открыть терминал из меню или нажать Ctrl + Alt + T.

Дальше можно отправить тестовый запрос, например, на один из публичных адресов:

ping 8.8.8.8

Если в ответ приходят строки с временем отклика, то это означает, что связь есть, сервер доступен по сети. Если ответов нет, дело может быть в маршруте, блокировках или общем состоянии соединения. В этом случае имеет смысл сначала разобраться с доступом в Интернет, а уже потом возвращаться к DNS.

Nslookup: что именно отвечает DNS-сервер

Для проверки того, как DNS-сервер обрабатывает запросы к конкретному домену, удобна утилита nslookup. Она есть почти во всех популярных системах по умолчанию.

Простейший пример:

nslookup yandex.ru

Вывод может выглядеть так:

Server:  77.88.8.8

Address: 77.88.8.8

Non-authoritative answer:

Name:    yandex.ru

Address: 5.255.255.60

Из этого нас интересует главное:

  • Server — какой DNS-сервер отвечал;
  • Address — какой IP-адрес он вернул для домена.

Если IP есть и он ожидаемый, базовый запрос к домену отрабатывает нормально. Если же адрес не показывается или команда возвращает ошибку, значит, либо нет нужных записей, либо сервер не может их получить.

Какие записи бывают и что они означают

DNS не ограничивается только «имя → IP». Для разных задач существуют разные типы записей. Самые востребованные:

  • A — указывает IP-адрес для доменного имени;
  • MX — отвечает за маршрутизацию электронной почты;
  • CNAME — задаёт псевдоним, когда одно имя перенаправляет на другое.

Проверяем A-записи

Чтобы посмотреть, на какие IP-адреса указывает домен, можно выполнить:

nslookup -type=A yandex.ru

Дальше вы увидите что-то в таком духе:

Server:  77.88.8.8

Address: 77.88.8.8

Name:    yandex.ru

Address: 5.255.255.88

Address: 5.255.255.77

Name — проверяемый домен,

Address — IP-адреса, которые ему соответствуют.

Если они есть и совпадают с теми, что настроены у хостера, A-записи, как правило, проблем не вызывают.

Проверяем MX-записи для почты

Для почтовых сервисов важны MX-записи. Их можно запросить так:

nslookup -type=MX yandex.ru

Пример ответа:

Server:  77.88.8.8

Address: 77.88.8.8

yandex.ru  mail exchanger = 10 mx.yandex.ru

Здесь:

  • mail exchanger — доменное имя почтового сервера (mx.yandex.ru);
  • число перед ним (10) — приоритет сервера: чем меньше значение, тем он выше.

Если для вашего домена MX-записи не возвращаются или выводится ошибка, стоит ещё раз проверить конфигурацию у регистратора или в панели управления DNS: убедиться, что записи созданы, написаны без опечаток и уже успели распространиться.

Когда сам DNS-сервер работает нестабильно

Бывает и так, что записи настроены корректно, но определённый DNS-сервер отвечает непоследовательно: то с задержками, то с ошибками. В этом случае удобно временно переключиться на другой, публичный.

Чаще всего используют:

  • Яндекс.DNS: 77.88.8.8 и 77.88.8.1;
  • Google Public DNS: 8.8.8.8 и 8.8.4.4.

Эти адреса можно прописать в настройках сети на компьютере или прямо в веб-интерфейсе роутера. Иногда достаточно изменить DNS и перезапустить роутер, чтобы понять: проблема была не в самом сайте, а в старом сервере имен.

Если же и после смены DNS картина не меняется, значит, причина, скорее всего, глубже: ошибки в делегировании домена, сетевые ограничения, сбои у провайдера и т. п.

Онлайн-проверка DNS, если команды не нравятся

Тем, кому не хочется работать с командной строкой, подойдут веб-сервисы для проверки DNS. Они в автоматическом режиме запрашивают нужные записи и показывают результат в понятном виде.

Типичный сценарий работы с такими сервисами:

  1. Вводите доменное имя.
  2. Выбираете, какие записи интересуют (A, MX, CNAME и другие).
  3. Получаете отчёт с расшифровкой: какие IP-адреса указаны, какие почтовые серверы настроены, какие ошибки обнаружены.

Сюда относятся и специализированные инструменты для проверки почтовой инфраструктуры, и универсальные DNS-чекеры. 

WHOIS: сверяем общие данные по домену

Если после всех проверок остаются вопросы, можно обратиться к данным WHOIS. Это отдельный сервис, который показывает, кому принадлежит домен, когда он зарегистрирован и на какие NS-серверы делегирован.

Через WHOIS обычно видно:

  • даты регистрации и окончания делегирования;
  • регистратор домена;
  • список DNS-серверов, на которые он указывает.

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

Важное не в терминах, а в последовательности

Проверка DNS не требует высокого уровня подготовки. Гораздо важнее идти по шагам и фиксировать, на каком этапе всё перестаёт работать:

  1. Проверить, что Интернет в целом доступен.
  2. Узнать, какой DNS-сервер сейчас используется, и убедиться, что до него есть связь.
  3. Посмотреть базовые записи домена (A, затем MX).
  4. При необходимости временно переключиться на публичный DNS и сравнить поведение.
  5. Сверить делегирование и NS-серверы через WHOIS.

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