Search
Write a publication
Pull to refresh

Comments 8

Спасибо, хоть я и подзапутался к концу статьи, что вообще происходит, но было интересно) Ждём 3-ю часть

Нужно взять эти разбросанные по всему стеку точки кеширования, и заменить на один единый кеш DNS, где его разместить - это вопрос. Получим N+1 точку кеширования.

А потом сделать то же самое с Windows, macOS, Android (терзают меня смутные сомнения что там не просто сочетание Linux+Java из статьи а что-то еще накручено)...

DNS изначально придуман с кэшированием на всех уровнях. Даже если вы в пределах своей инфраструктуры объедините вообще всё, окажется, что на промежуточных уровнях может что-то кэшироваться по-своему (стреляет, например, когда вы меняете NSы для вашего базового домена).

Ядро Linux может опосредованно “кэшировать” DNS-трафик через подсистему netfilter/conntrack, если используется stateful-фильтрация.

Ну это натягивание совы на глобус )

Сейчас из-за этого кэширования получается неравномерное время запросов, что стреляет в некоторых случаях и даёт неровную работу сервисов. Но нет возможности сказать типа "раз у тебя осталось на эту запись TTL<60, обнови её сейчас принудительно вслед моему запросу". Вот за исправление этого многие сказали бы "спасибо".

Почему нет? В том же unbound есть cache-min-ttl, позволяющий игнорировать TTL, указанный в зоне. Про bind не помню, честно говоря. Или в Netscaler, если говорить про что-то крупное и железное.

Столкнулся недавно с тем, что еще и роутеры тоже имеют DNS-кэш. Мигрировался на другой VPS, вроде все запущено верно, уже проверил всех поставщиков DNS все обновилось, очистил везде кэш, а nslookup все равно показывал старый ip. Cлучайно зашел с телефона без Wi-Fi и тогда понял кто виноват :)

Sign up to leave a comment.