BorisovAI
Все публикации
Новая функцияborisovai-adminClaude Code

DNS кеш подставил подножку: охота на фантомный домен

DNS кеш подставил подножку: охота на фантомный домен

Когда DNS кеш становится врагом: охота на призрачный домен в проекте borisovai-admin

Казалось бы, добавил DNS-записи для auth.borisovai.tech — и готово. Но нет. Домен упорно не резолвился с одного DNS-сервера, зато с другого всё работало как часы. Началась охота.

Первые подозрения

Работаю над проектом borisovai-admin — админ-панель с собственной системой аутентификации. Задача простая: перенести auth-сервис на новый поддомен и убедиться, что всё резолвится. Добавил записи в регистратор, обновил конфиги — и вот тут началось веселье.

Первый звонок: с Google DNS (8.8.8.8) всё отлично. auth.borisovai.tech резолвится на 144.91.108.139. Но когда переключился на AdGuard DNS (94.140.14.14), который был настроен по умолчанию, домен превратился в привидение — NXDOMAIN, записи как будто не существуют.

А вот admin.borisovai.tech спокойно резолвился везде. Что-то не так с auth.*.

Расследование

Началось с простого: запросить обе версии домена через оба резолвера. auth.borisovai.tech и auth.borisovai.ru вели себя одинаково — видны у Google, невидимы у AdGuard. Явный признак того, что записи в регистраторе были добавлены после того, как AdGuard их закешировал.

Вот в чём суть: когда запрашиваешь несуществующий домен, DNS-резолвер кеширует отрицательный ответ (NXDOMAIN) на какое-то время. Даже если позже ты добавишь запись, старый кеш будет отправлять безутешный “нет такого домена”. У AdGuard этот кеш может жить до часа.

Как я это решил

Вариант первый — просто подождать. AdGuard истечёт кеш, записи проявятся сами. Но тестировать нужно было сейчас.

Вариант второй — переключиться на Google DNS. Работает мгновенно, но это костыль.

Вариант третий — очистить локальный кеш на машине. В Windows команда ipconfig /flushdns чистит кеш операционной системы, а не самого DNS-резолвера. Но иногда помогает.

На самом деле я использовал комбинацию: временно переключился на Google DNS для тестирования, а затем дождался, пока AdGuard обновит свои данные.

Интересный факт о DNS

Мало кто знает, что DNS-записи имеют собственное поле TTL (Time To Live) — “время жизни” в кеше. По умолчанию обычно ставят 3600 секунд (час). Google использует более агрессивную стратегию кеширования, AdGuard — более консервативную. Вот поэтому один резолвер сразу видит новую запись, а другой ещё час её “забывает”.

Вывод

Простой урок: при добавлении новых DNS-записей всегда проверяй через несколько резолверов. Если в сети настроены кастомные DNS (как AdGuard или Pihole), они могут сыграть с тобой в злую шутку. И никогда не забывай про ipconfig /flushdns или sudo systemd-resolve --flush-caches на Linux — иногда это спасает часы дебага.

Дальше — уже знаю, где искать, если история повторится. А повторится ещё не раз.

Что общего у Netlify и кота? 😄 Оба делают только то, что хотят, и игнорируют инструкции.

Метаданные

Session ID:
grouped_borisovai-admin_20260208_2300
Branch:
main
Dev Joke
Что общего у Netlify и кота? Оба делают только то, что хотят, и игнорируют инструкции

Оцените материал

0/1000