ERR_NAME_NOT_RESOLVED: что означает ошибка и как её исправить
ERR_NAME_NOT_RESOLVED — браузер не смог превратить имя сайта в IP-адрес: процедура разрешения имени провалилась. У неё есть известный близнец — NXDOMAIN, и их постоянно путают, хотя виновники у них разные. Разбираем разницу, шаги для посетителя и три серверных сценария, при которых эту ошибку видят посетители вашего сайта.
Чем NAME_NOT_RESOLVED отличается от NXDOMAIN
Разница тонкая, но диагностически важная. NXDOMAIN — это полученный ответ: DNS-система отработала и официально сообщила «такого домена нет». ERR_NAME_NOT_RESOLVED шире — это провал процедуры: браузер либо не смог спросить (DNS-сервер недоступен), либо получил отказ без внятного ответа (сбой резолвера, ошибка SERVFAIL), либо тот самый NXDOMAIN. Практический вывод: NXDOMAIN почти всегда указывает на проблему самого домена, а NAME_NOT_RESOLVED заметно чаще оказывается локальной проблемой — вашей сети, роутера или DNS-сервера провайдера.
Если вы посетитель: шесть шагов
| Шаг | Что закрывает |
|---|---|
| 1. Другие сайты открываются? | Не открывается ничего — умер DNS вашей сети (чаще всего роутер); перезагрузите его. Не открывается один сайт — идём дальше |
| 2. Проверить адрес по буквам | Опечатка в домене — вечная классика |
| 3. Мобильный интернет вместо Wi-Fi | Разводит «моя сеть» и «сам сайт»: открылось с мобильного — чините свой DNS |
| 4. Сбросить DNS-кэш | Windows: ipconfig /flushdns; Chrome: chrome://net-internals/#dns |
| 5. Сменить DNS-сервер на публичный | 77.88.8.8 или 8.8.8.8 вместо DNS провайдера — лечит «забывчивые» и перегруженные резолверы |
| 6. Проверить VPN, антивирус, hosts | Всё, что перехватывает DNS-запросы, умеет их и ломать |
Если жалуются на ваш сайт: три серверных сценария
Сценарий 1: NS-серверы недоступны. Если оба (или все) NS-сервера домена не отвечают — упал DNS-хостинг,닫 услуга отключена, — резолверы посетителей не получают ответа вовсе, и браузеры показывают именно NAME_NOT_RESOLVED. Коварство в том, что из-за кэшей ошибка накрывает аудиторию не разом, а волной по мере истечения TTL: первые жалобы приходят, когда у вас «всё работает». Диагноз: dig NS вашдомен.ru +short и проверка каждого NS напрямую.
Сценарий 2: сломан DNSSEC. Если для домена включён DNSSEC и подписи протухли или испортились при переезде, валидирующие резолверы (а среди публичных таких большинство) начинают отвергать ответы зоны — для посетителей это выглядит как невозможность разрешить имя, при том что «обычные» резолверы сайт видят. Фирменный почерк: сайт открывается у одних провайдеров и не открывается у других. Если вы не уверены, что DNSSEC вам нужен и поддерживается в актуальном состоянии, — лучше его не включать, чем включить и забыть.
Сценарий 3: проблемы одного крупного резолвера. Изредка «ломается» не ваш домен, а конкретный публичный DNS-сервис или резолвер крупного оператора: его пользователи массово теряют часть сайтов. Ваша зона в порядке, чинить нечего — но важно уметь быстро это доказать: сравнением ответов вашего домена с нескольких резолверов (dig @8.8.8.8, @77.88.8.8, @1.1.1.1) и проверкой из нескольких сетей.
Вся серверная диагностика умещается в три команды — по одной на сценарий:
# 1. Живы ли NS-серверы домена (спросить каждый напрямую): dig NS example.ru +short dig example.ru @ns1.вашdns.ru +short # повторить для каждого NS # 2. Не сломан ли DNSSEC (валидирующий резолвер против обычного): dig example.ru @8.8.8.8 +short # валидирует: пусто/SERVFAIL при битом DNSSEC dig example.ru @8.8.8.8 +cd +short # без валидации: если тут ответ есть — DNSSEC сломан # 3. Что видят разные резолверы (расхождение = кэш/локальная проблема): dig example.ru @77.88.8.8 +short; dig example.ru @1.1.1.1 +short
Комбинация ответов читается однозначно: NS молчат — сценарий 1, разница между запросом с валидацией и без — сценарий 2, расхождение резолверов при живых NS — сценарий 3 или доживающий кэш. С этим выводом обращение к DNS-хостингу или регистратору решается за один тикет.
Резервируют серверы, каналы, базы — а оба NS-сервера при этом живут у одного DNS-хостинга, иногда и на одной площадке. Падает он — «падает» и сайт, и почта, для всего мира сразу. Минимальная гигиена: NS-серверы в разных сетях, и внешняя проверка, которая опрашивает их постоянно.
Пруфен ежедневно выполняет проверку DNS-записей — она заметит и недоступность зоны, и изменение записей, — а проверка домена следит за сроком оплаты и делегированием. Вместе они закрывают все три сценария выше плюс главный — истёкший домен, о котором мы писали в статье про NXDOMAIN.
Частые вопросы
Ошибка и на телефоне, и на компьютере, но только дома. Что это? Общий знаменатель — роутер и DNS вашего домашнего провайдера. Перезагрузите роутер; не поможет — пропишите публичный DNS прямо в настройках роутера, чтобы починить сразу все устройства.
Сайт не открывается только у пользователей одного оператора. Куда смотреть? Либо резолвер этого оператора хранит устаревший/битый ответ, либо у вас DNSSEC-проблема, которую ловят только валидирующие резолверы. Сравните ответы разных DNS-серверов командой dig — расхождение сразу укажет направление.
Чем это отличается от ERR_CONNECTION_REFUSED и TIMED_OUT? Уровнем провала: здесь не нашёлся адрес (DNS), при REFUSED адрес есть, но в соединении отказано, при TIMED_OUT — адрес есть, но ответа нет вовсе. Три ошибки — три разных слоя, и лечатся они по-разному.
Мы переехали на новый DNS-хостинг, и у части посетителей сайт пропал. Надолго? На время TTL старых записей плюс инерция кэшей — обычно от часов до суток. Чтобы переезды проходили незаметно, снижайте TTL заранее и не отключайте старые NS, пока новый хостинг не начал отвечать.