Три причины, почему один домен отвечает по-разному
Геомаршрутизация
Свой edge-сервер в каждом регионе
Кэширование
Независимые TTL и кэши
Split-horizon
Другой ответ — так задумано
Почему домен разрешается по-разному в разных сетях
Это частый источник путаницы: вы проверяете домен из офисной сети и получаете один IP-адрес, затем проверяете тот же домен в мобильной сети телефона и получаете совсем другой. Оба результата могут быть совершенно верными одновременно.
Геомаршрутизация и маршрутизация по нагрузке
Крупные сайты и CDN часто отвечают на DNS-запросы по-разному в зависимости от того, откуда, судя по всему, пришёл запрос, чтобы направить каждого посетителя на ближайший или наименее загруженный сервер. Резолвер в одном регионе получает указание на ближайший edge-сервер, а резолвер в другом регионе или даже просто у другого провайдера с иными сетевыми пирингами получает указание на другой. Ни один из ответов не «неправильный»: оба допустимы и оптимизированы для разных точек наблюдения.
Кеширование добавляет второй слой различий
Помимо геомаршрутизации, каждый резолвер независимо кеширует ответы на время TTL записи. Резолвер вашего домашнего провайдера мог закешировать ответ три минуты назад, а резолвер оператора мобильной связи именно сейчас запрашивает данные заново. Пока оба кеша естественным образом не истекут и не обновятся, один и тот же домен вполне законно может показывать два разных (и оба на данный момент действительных) ответа.
- Это нормально и ожидаемо для любого домена за CDN или глобально балансируемым сервисом.
- Реальной проблемой это становится, только когда один из ответов на самом деле недоступен или неисправен, а не просто отличается.
- Если для аудита нужен единый сопоставимый ответ, каждый раз выполняйте запрос из одной и той же точки наблюдения (тот же инструмент, та же сеть), а не сравнивайте проверки, сделанные из разных мест.
Когда вы хотите именно подтвердить, во что домен разрешается в целом, например для проверки безопасности, верификации миграции или общего мониторинга, разрешение напрямую через фиксированный, хорошо известный публичный резолвер (а не через то, что настроено на ближайшем под рукой устройстве) даёт стабильную сопоставимую базовую линию вместо погони за различиями между сетями.
Третья, намеренная причина: split-horizon DNS
Геомаршрутизация и кеширование — побочные эффекты: никто не стремился сделать ответ разным, это просто следствие масштаба. Split-horizon (или «split-view») DNS устроен иначе: организация настраивает свои серверы имён так, чтобы запросам изнутри корпоративной сети они отдавали один ответ, а всем остальным другой, и делает это намеренно. Имя хоста интрасети, предназначенное только для внутреннего использования, может разрешаться в приватный адрес в офисном Wi-Fi и вовсе не разрешаться (или вести на публичную страницу) снаружи. Если домен нормально разрешается на рабочем ноутбуке, подключённом к офисному VPN, но не из дома, то split-horizon DNS (а не ошибка) — действительно частое объяснение, особенно в крупных организациях.
| Причина | Намеренно? | Указывает на реальную проблему, когда... |
|---|---|---|
| Геомаршрутизация и маршрутизация по нагрузке | Да, со стороны CDN или платформы | Ответ одного конкретного региона недоступен, а не просто отличается |
| Независимое кеширование | Нет, побочный эффект | Ответ остаётся устаревшим намного дольше заявленного TTL записи |
| Split-horizon DNS | Да, со стороны организации | Никогда: это задуманное поведение |
Как быстро отличить эти три причины
На практике быстрее всего различить их, проверив, связана ли разница с принадлежностью к сети или со временем. Если две проверки из двух разных сетей расходятся прямо сейчас, а повторная проверка из каждой сети через минуту снова даёт тот же результат, это геомаршрутизация или split-horizon: что-то, связанное с тем, откуда пришёл запрос. Если ответ одной сети сам меняется между двумя проверками с интервалом в минуты, а ничего другого не изменилось, это кеширование, догоняющее реальное недавнее изменение. Различие важно, потому что лишь одну из этих трёх ситуаций (неожиданный, недоступный ответ) вообще стоит считать инцидентом.
Нужно проверить публичные DNS-адреса домена? Воспользуйтесь инструментом Domain IP Lookup.
Читайте также
Четыре исхода — четыре разных дальнейших шага
Тайм-аут DNS или SERVFAIL: в чём разница
Оба выглядят как неудачный DNS-запрос, но тайм-аут и SERVFAIL указывают на разные причины и требуют разных дальнейших шагов.
Четыре исхода — четыре разных дальнейших шага
NXDOMAIN: почему домен не разрешается
NXDOMAIN означает, что с точки зрения DNS домена не существует: это не тайм-аут и не проблема сервера. Вот что его на самом деле вызывает.
Три причины, почему один домен отвечает по-разному
Геомаршрутизация
Свой edge-сервер в каждом регионе
Кэширование
Независимые TTL и кэши
Split-horizon
Другой ответ — так задумано
Почему DNS-ответы различаются в зависимости от места
Геомаршрутизация DNS, CDN, кеши резолверов и split-horizon: разбираем, почему один и тот же домен может возвращать разные ответы.