Как проверить распространение DNS: 5 инструментов
Как проверить распространение DNS: 5 инструментов
После смены IP, NS или любых записей DNS изменения не мгновенны. До тех пор, пока все рекурсивные резолверы в мире не обновят свой кэш, часть пользователей будет получать старый ответ. Этот процесс называют «DNS propagation», и проверять его нужно не только при миграциях, но и при диагностике проблем с доступностью.
В статье разберём, как именно происходит распространение, и дадим 5 проверенных инструментов — от простых веб-сервисов до команд в терминале.
Что такое DNS propagation
Формально термин «propagation» некорректен: DNS не «распространяется» — записи всегда хранятся только на авторитативных серверах. Под propagation обычно подразумевают устаревший кэш рекурсивных резолверов. Каждый резолвер кэширует ответ на значение TTL, и пока TTL не истёк, он продолжает отдавать старую запись.
- Authoritative server
- Сервер, который хранит оригинал зоны (ваш DNS-провайдер: Cloudflare, Route 53, Bind).
- Recursive resolver
- Сервер ISP или публичный (1.1.1.1, 8.8.8.8), который кэширует ответы клиентам.
- TTL
- Время жизни записи в кэше резолвера.
Почему пользователи видят разное
Резолверы по всему миру закэшировали вашу запись в разное время — у одних TTL почти истёк, у других только начался. Поэтому через 10 минут после изменения часть трафика уже идёт на новый IP, а часть — нет. Реальное время сходимости = max(TTL зоны).
5 инструментов для проверки
1. Enterno.io DNS Propagation Checker
Наш DNS Propagation показывает результаты с десятков узлов в разных странах, включая Россию, Европу, США и Азию. Поддерживает все типы записей: A, AAAA, CNAME, MX, NS, TXT, SOA. Для Pro-плана доступно сохранение истории проверок и мониторинг сайтов propagation после миграции.
2. dig + публичные резолверы
Классический unix-способ. Выполняете запросы к разным резолверам и сравниваете:
dig A example.com @1.1.1.1 +short # Cloudflare
dig A example.com @8.8.8.8 +short # Google
dig A example.com @9.9.9.9 +short # Quad9
dig A example.com @208.67.222.222 +short # OpenDNS
dig A example.com @77.88.8.8 +short # Yandex
Если все возвращают одно и то же — propagation завершён.
3. dig +trace — прямая проверка авторитативных
Команда dig +trace рекурсивно проходит цепочку от корневых серверов до авторитативных, обходя локальный кэш. Это показывает реальную конфигурацию зоны:
dig +trace example.com
Если ответ с авторитативных отличается от ответа вашего обычного резолвера — значит, кэш ещё не обновился.
4. DNS Checker
DNSChecker.org — веб-сервис с проверкой propagation из 50+ точек мира. Удобная карта с галочками и крестиками по регионам.
5. What's My DNS
WhatsMyDNS.net — похожий сервис, проверка из 20+ локаций. Менее красивый интерфейс, но отличается быстрой реакцией.
Как читать результаты
Когда часть узлов видит старый ответ, а часть — новый, это нормальная фаза распространения. Смотрите на два показателя:
- Процент узлов с новым ответом. Если больше 90% — можно считать propagation завершённым.
- Согласованность по регионам. Отсутствие ответа только в одном регионе может указывать на проблему с конкретным резолвером или NS в anycast-пуле.
Команды для продвинутой проверки
Прямо к авторитативному серверу
dig NS example.com +short
dig A example.com @ns1.example.com +short
Проверка TXT/MX
dig TXT example.com @8.8.8.8 +short
dig MX example.com @1.1.1.1 +short
Проверка CNAME цепочки
dig CNAME www.example.com @1.1.1.1
DNSSEC-валидация
dig example.com +dnssec +multi
Как ускорить propagation
- Понижайте TTL до изменений. За 24-48 часов до миграции установите TTL = 300.
- Используйте anycast DNS. Cloudflare, Route 53, NS1 — у них глобальная anycast-сеть, и propagation быстрее.
- Обновите локальный кэш вручную.
ipconfig /flushdns,sudo dscacheutil -flushcache. - Покажите клиентам публичные резолверы. Если корпоративный DNS завис —
1.1.1.1спасает.
Частые ошибки
Измерение propagation до сохранения зоны
После нажатия «Save» в панели DNS-провайдера проходит до 5 минут до применения. Проверяйте сначала прямо на авторитативном.
Забытый NS-delegation
Меняете запись на новом провайдере, но NS у регистратора указывают на старый — изменения никогда не «распространятся», потому что их просто нет в новой зоне.
Кэш CDN
Cloudflare, Akamai кэшируют DNS ответы на edge-нодах. Для ускорения используйте purge-by-tag.
FAQ
- Как долго длится propagation?
- От нескольких минут до 48 часов. Определяется максимальным TTL вашей зоны + кэшем ISP.
- Можно ли принудительно обновить DNS всех резолверов?
- Нет. Пока TTL не истёк, резолвер обязан отдавать старый ответ. Единственное решение — заранее понизить TTL.
- Почему dig @1.1.1.1 показывает новое, а браузер — старое?
- Браузер имеет свой DNS-кэш (Chrome —
chrome://net-internals/#dns). Очистите его. - Отличается ли propagation у разных типов записей?
- Нет — TTL задаётся на каждую запись отдельно, и distribution одинаков.
Заключение
Проверка DNS propagation — обязательный шаг после любой миграции. Используйте Enterno.io DNS Propagation Checker для быстрого обзора, dig +trace и прямые запросы к авторитативным серверам для точной диагностики. А чтобы не ждать часами — понижайте TTL заранее, следите за конфигурацией NS и используйте мониторинг.
Проверьте ваш сайт прямо сейчас
Проверить →