Domain IP Lookup

Четыре исхода — четыре разных дальнейших шага

NXDOMAINИмени не существует — повторять бессмысленно
TIMEOUTОтвет не пришёл вовремя — часто временная ошибка
SERVFAILСервер не смог обработать запрос — иногда временная ошибка
REFUSEDОтклонено политикой — редко сбой, редко временно
Устранение неполадок

Тайм-аут DNS или SERVFAIL: в чём разница

3 мин чтения

Не каждый неудачный DNS-запрос завершается одинаково. Два самых частых сбоя, не считая NXDOMAIN, тайм-аут и SERVFAIL, снаружи выглядят похоже (пригодный ответ не пришёл), но указывают на заметно разные первопричины.

Тайм-аут: ответ не пришёл вовремя

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

SERVFAIL: ответ пришёл, и это «не могу»

SERVFAIL — это настоящий ответ, а не тишина. Сервер, который ответил, прямо сообщает, что при обработке запроса возникла проблема: неверно настроенная зона, ошибка проверки DNSSEC, внутренняя ошибка на стороне резолвера. SERVFAIL говорит, что на стороне сервера произошло нечто конкретное, тогда как тайм-аут сравнительно мало говорит о том, где на самом деле проблема.

КодЧто произошлоСтоит ли повторять?
Тайм-аутОтвет не пришёл вовсе в пределах окна ожиданияДа, часто это временный сбой
SERVFAILСервер ответил, но не смог обработать запросИногда: стоит сделать 2-3 попытки с нарастающей задержкой
REFUSEDСервер понял запрос, но отказался отвечать, обычно по политикеРедко: часто это постоянное ограничение доступа
NXDOMAINТакого имени не существует, и точкаНет, никогда: это постоянный ответ

Поскольку оба сбоя потенциально временные, правильная обработка на практике одна: повторить небольшое число раз с экспоненциально нарастающей задержкой и сообщать о реальной ошибке только после исчерпания попыток. Именно так этот инструмент и поступает с обоими кодами, в отличие от окончательного NXDOMAIN.

REFUSED обычно означает политику, а не неисправность

REFUSED часто объединяют с SERVFAIL, потому что оба означают «сервер ответил отказом», а не молчание, но причины у них обычно совсем разные. Сервер имён обычно возвращает REFUSED, когда настроен отвечать только по определённым зонам и его спрашивают о чём-то за пределами этой области, когда список контроля доступа блокирует IP отправителя запроса или когда резолвер намеренно настроен отклонять запросы извне своей сети (например, рекурсивный резолвер не обслуживает посторонних из интернета: это правильное, намеренное поведение, а не ошибка). Если REFUSED приходит от сервера, который вы не контролируете, повтор или стратегия с нарастающей задержкой его, как правило, не устранят; стоит проверить, тот ли сервер вы вообще опрашиваете.

Частая причина SERVFAIL: неисправный DNSSEC

Один из самых досадных сценариев SERVFAIL возникает на доменах, где DNSSEC включён, но настроен неверно: истекла подпись, ключ сменили на сервере имён, но не обновили у регистратора, или нарушена цепочка доверия где-то между доменом и корнем. Валидирующий резолвер, соблюдающий DNSSEC, откажется отдавать ответ, который не может криптографически проверить, и вернёт SERVFAIL, а не станет молча игнорировать неверную подпись. Тревожно то, что домен нередко прекрасно работает через резолвер, вообще не проверяющий DNSSEC, и такую причину легко ошибочно списать на «у меня всё работает», тогда как для заметной доли реальных посетителей сайт на самом деле недоступен.

Нужно проверить публичные DNS-адреса домена? Воспользуйтесь инструментом Domain IP Lookup.

Читайте также

Четыре исхода — четыре разных дальнейших шага

NXDOMAINИмени не существует — повторять бессмысленно
TIMEOUTОтвет не пришёл вовремя — часто временная ошибка
SERVFAILСервер не смог обработать запрос — иногда временная ошибка
REFUSEDОтклонено политикой — редко сбой, редко временно
Устранение неполадок

NXDOMAIN: почему домен не разрешается

NXDOMAIN означает, что с точки зрения DNS домена не существует: это не тайм-аут и не проблема сервера. Вот что его на самом деле вызывает.

3 мин чтения

Три причины, почему один домен отвечает по-разному

Геомаршрутизация

Свой edge-сервер в каждом регионе

Кэширование

Независимые TTL и кэши

Split-horizon

Другой ответ — так задумано

Устранение неполадок

Почему DNS-ответы различаются в зависимости от места

Геомаршрутизация DNS, CDN, кеши резолверов и split-horizon: разбираем, почему один и тот же домен может возвращать разные ответы.

4 мин чтения

Четыре уровня, проверяемые по порядку

DNS

разрешение имени

Транспорт

TCP-соединение

TLS

проверка сертификата

Приложение

ответ по HTTP

Устранение неполадок

Как диагностировать ошибку «Не удаётся получить доступ к сайту»

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

3 мин чтения