Два принципиально разных сценария
dig / nslookup
Все детали протокола, скрипты, офлайн
Веб-инструмент
Без настройки, массовые проверки, можно делиться
Исправьте «Server DNS Address Could Not Be Found»
Звонок обычно звучит так: «Интернет сломался, но только для одного сайта». Chrome показывает серую страницу, маленького динозавра и слова Server DNS address could not be found, а под ними более мелким шрифтом — DNS_PROBE_FINISHED_NXDOMAIN. Всё остальное загружается нормально. Человек на том конце провода уже дважды перезагрузил роутер.
Я исправлял эту ошибку больше раз, чем могу сосчитать, и она почти никогда не означает того, чего боятся люди. С Chrome всё в порядке, и сайт обычно никуда не исчезал. Ваш компьютер запросил адрес сайта, и где-то по цепочке ответ вернулся в виде «такого места нет». Эта цепочка — кэш браузера, кэш операционной системы, роутер, резолвер провайдера — состоит из нескольких звеньев, и любое из них может оказаться лжецом. Вся работа — найти, какое именно.
Первый вопрос: сайт недоступен для всех или только для вас?
Прежде чем трогать хоть одну настройку, возьмите телефон. Отключите Wi-Fi, чтобы телефон использовал мобильные данные, и откройте сайт. Вы только что провели самый полезный тест во всём этом руководстве, потому что за пять секунд сменили весь сетевой путь.
- Сайт загружается через мобильные данные. С сайтом всё в порядке. Что-то между вашим компьютером и резолвером провайдера даёт вам неверный ответ, и всё, что ниже, это исправит.
- Сайт не открывается и там. Попробуйте ещё один сайт, которым пользуетесь каждый день. Если он загружается, проблема, скорее всего, на стороне сайта: истекла регистрация домена, неудачно изменили DNS или хостинг всё отключил. С вашего стула это не исправить.
- Не открывается ничего и нигде. Это уже не эта ошибка; это само подключение. Другая проблема, другое руководство.
Если вы хотите тот же ответ с большим охватом, чем даёт телефон, средство проверки распространения DNS запрашивает публичные резолверы в нескольких странах и показывает, согласны ли они насчёт адреса сайта. Если резолверы по всему миру возвращают NXDOMAIN, у сайта настоящая проблема с DNS. Если все они спокойно возвращают адрес, неверный ответ рождается где-то рядом с вами.
Что на самом деле означает эта ошибка
DNS — это поиск, который превращает имя вроде example.com в числовой адрес, к которому браузер на самом деле подключается. Эта ошибка означает, что поиск вернулся пустым не случайно: резолвер активно сообщил, что имени не существует. Именно это означает NXDOMAIN, а наше объяснение того, что означает NXDOMAIN, подробно разбирает сам ответ.
Вот часть, на которой люди спотыкаются: «не существует» может быть правдивым ответом о сайте, который удалили, или устаревшим ответом, который ваше собственное оборудование сохранило в кэше раньше и продолжает повторять. Сообщение об ошибке выглядит одинаково в обоих случаях. Поэтому исправления ниже бьют по кэшам и резолверам, а не по самому браузеру: переустанавливать Chrome из-за этого — всё равно что покупать новый телефон из-за того, что у одного контакта сменился номер.
Сопоставьте симптом с причиной
| Симптом | Вероятная причина | Быстрая проверка |
|---|---|---|
| Один сайт не открывается, всё остальное работает | Устаревший кэш или плохая запись в файле hosts | Откройте сайт на телефоне через мобильные данные |
| Все сайты не открываются с той же ошибкой | Ваш резолвер или DNS роутера недоступен | Смените адрес резолвера на компьютере |
| Не открывается только при подключённом VPN | DNS у VPN сломан или заблокирован | Отключите VPN и перезагрузите страницу |
| Вчера работало, сломалось после переезда сайта | Старый ответ всё ещё в кэше рядом с вами | Проверьте сайт в средстве проверки распространения |
| Снова ломается через день после исправления | Роутер раздаёт мёртвый резолвер | Сравните настройки DNS роутера и компьютера |
Исправления в том порядке, в котором я их действительно пробую
Очистите кэш DNS
В Windows откройте командную строку и выполните
ipconfig /flushdns. На Mac этоsudo dscacheutil -flushcacheв Терминале. Это выбрасывает сохранённые ответы компьютера, включая неверный, и заставляет выполнить новый поиск. Это занимает десять секунд и ничему не вредит, поэтому это всегда мой первый шаг.Перейдите на публичный резолвер
Если очистка ничего не изменила, неверный ответ приходит сверху. Смените DNS-серверы компьютера на публичный резолвер, например
1.1.1.1или8.8.8.8, и перезагрузите страницу. Если сайт оживёт, лжецом был резолвер провайдера: оставьте настройку как есть или держите её, пока провайдер не разберётся сам.Проверьте файл hosts
Файл hosts полностью перекрывает DNS. Если строка в нём связывает имя сайта со старым адресом — оставленная старым программным обеспечением, прошлым экспериментом или чем-то, что вы вставили годы назад и забыли, — смена резолвера не поможет, потому что компьютер даже не спрашивает. Откройте файл, найдите имя сайта и удалите или закомментируйте любую найденную строку.
Перезагрузите роутер, один раз
Роутеры тоже кэшируют ответы, а дешёвые делают это плохо. Одна перезагрузка очищает этот кэш и заново устанавливает соединение. Я говорю «один раз», потому что перезагрузка четыре раза подряд, в чём звонящие часто признаются, делает ровно то же, что и одна перезагрузка.
Отключите VPN и проверьте снова
VPN перенаправляет ваши DNS-запросы на свои серверы. Если они недоступны, неверно настроены или туннель наполовину умер, пока соединение оставалось активным, поиск имён будет завершаться ошибкой, хотя всё выглядит подключённым. Отключите полностью — не на паузу, а именно отключите — и перезагрузите страницу.
Две вещи, в которые люди клянутся, но которые редко помогают
Переустановка браузера. У браузера есть свой небольшой кэш, конечно, но эта ошибка возникает из-за сбоя поиска на уровне системы, а свежая установка наследует тот же резолвер, тот же файл hosts и тот же роутер. Вы потратите двадцать минут на восстановление закладок, чтобы вернуться к динозавру.
Вторая — это «подождите 48 часов», повторяемое как заклинание. Ожидание действительно исправляет один сценарий: сайт на самом деле недавно изменил свой DNS, и старый ответ всё ещё вытекает из кэшей по всему миру. Наше руководство по диагностике ошибки «сайт недоступен» отделяет эту игру в ожидание от неисправностей, которые вы можете исправить сами. Но если сайт сегодня загружается на вашем телефоне, ожидание вашу сеть не починит — а пять шагов выше починят, обычно за десять минут.
Когда ошибку показывает только один браузер
Вот вариант, который часами уводит людей по ложному пути: сайт не открывается в Chrome, но прекрасно загружается в другом браузере — на той же машине, в той же сети, в ту же минуту. Один этот факт одним махом исключает ваш роутер, вашего провайдера и сам сайт. Разница живёт внутри самого браузера.
Современные браузеры всё чаще выполняют собственные запросы, вместо того чтобы доверять системе. В Chrome есть настройка Secure DNS, которая может отправлять запросы по зашифрованному соединению к резолверу, выбранному самим браузером, в обход того, что настроен на вашем компьютере; в Firefox есть похожая функция со своими значениями по умолчанию. Если этот выбранный браузером путь сломан — или просто хранит устаревший ответ, который остальная часть вашей системы уже забыла, — вы получаете эту ошибку ровно в одной программе, пока всё остальное работает. Настройка безопасного DNS браузера на использование системного резолвера — или его отключение — это двухминутная проверка, которая всё проясняет.
Обратное разделение не менее информативно: все браузеры терпят неудачу, но запрос из командной строки проходит успешно, что указывает на нечто общее для браузеров — настройки системного резолвера, файл hosts, саму сеть. Одна программа против всех программ — самый быстрый из известных мне способов найти слой, который держит неправильный ответ, и поэтому мой первый вопрос в таких звонках никогда не касается настроек. Он звучит так: «это не работает везде или только здесь?»
Резолверы можно также опрашивать по одному, вместо того чтобы гадать. Команда вроде nslookup example.com 1.1.1.1 запрашивает ответ у одного конкретного резолвера, игнорируя ваши значения по умолчанию. Спросите свой обычный резолвер, затем спросите публичный. Если публичный резолвер возвращает адрес, а ваш возвращает NXDOMAIN, вы поймали лжеца с поличным — и вы знаете, состоит ли оставшаяся работа в очистке кэша, в ожидании или в окончательной смене настройки.
Тот же сбой в других местах носит другие костюмы, что сбивает с толку людей, ищущих помощи. Chrome на Android называет это ERR_NAME_NOT_RESOLVED, Firefox говорит, что сервер не найден, а Safari сообщает, что не может найти сервер. Разные слова — одно и то же событие под ними: запрос вернулся с ответом, что имя не существует. Если исправление в руководстве по любому из этих сообщений на самом деле касается кэшей или резолверов, оно применимо и к вашему: переведите название ошибки, сохраните метод.
Когда это действительно не ваша проблема
Иногда мой ответ на таких звонках таков: дело в них, а не в вас. У домена, регистрация которого истекла, забирают серверы имён, и каждый резолвер на планете начинает отвечать NXDOMAIN — та же самая ошибка, только теперь она говорит правду. Владелец сайта в разгар миграции тоже может опубликовать сломанную запись и уронить имя для всех разом.
Признак — постоянство. Ваш телефон не открывает сайт, телефон соседа не открывает, и локальные приёмы из нашего руководства по исправлению ошибок DNS_PROBE_FINISHED в Windows ничего не меняют — в то время как публичные резолверы по всему миру согласны, что адреса нет. В этот момент закройте вкладки настроек. С вашей стороны ремонтировать больше нечего; сайт вернётся, когда владелец исправит запись, или не вернётся вовсе.
Нужно проверить публичные DNS-адреса домена? Воспользуйтесь инструментом Domain IP Lookup.
Часто задаваемые вопросы
NXDOMAIN. Этот ответ иногда правдив, когда домен истёк или был удалён. Столь же часто это устаревший или сломанный ответ, созданный кэшем, роутером, резолвером провайдера или VPN, в то время как сам сайт вполне жив и доступен из других сетей.Читайте также
Четыре исхода — четыре разных дальнейших шага
ERR_NAME_NOT_RESOLVED: что означает ошибка и как её исправить
Что значит ERR_NAME_NOT_RESOLVED в Chrome и как исправить её на компьютере, Android и iPhone: таблица симптомов и проверки DNS.
Четыре уровня, проверяемые по порядку
DNS
разрешение имени
Транспорт
TCP-соединение
TLS
проверка сертификата
Приложение
ответ по HTTP
Диагностика ошибки «Не удаётся получить доступ к сайту»: послойная проверка
Разберите ошибку «Не удаётся получить доступ к сайту» по шагам: определите тип ошибки, затем проверьте DNS, маршрут, TCP, TLS и HTTP через dig, curl и openssl.
Четыре исхода — четыре разных дальнейших шага
Как исправить DNS_PROBE_FINISHED_NXDOMAIN в Windows: найдите сбойный уровень
Как исправить DNS_PROBE_FINISHED_NXDOMAIN в Chrome на Windows: по порядку проверяем браузер, Windows, роутер и провайдера, с точными командами.