Я борюсь с проблемами кеширования DNS в локальной сети на базе Windows.
Я заметил, что если я изменяю DNS-запись в домене, размещенном на стороннем сервере имен, я всегда оказываюсь последним, кто видит это изменение. Я часто могу запросить домен, используя службу, которая проверяет распространение по всему миру, например www.whatsmydns.net, но обычно я обнаруживаю, что все другие DNS-серверы верны, и это только мой собственный сервер со старым IP-адресом - даже через 8-12 часов . Это проблема для нас, поскольку мы разработчики веб-сайтов и часто вносим изменения в записи DNS, поэтому эти огромные задержки расстраивают.
Похоже, это связано с тем, что наш основной сервер контроллера домена (+ Active Directory и DNS) в нашей локальной сети (который также является нашим локальным DNS-сервером) кэширует записи для AGES (намного превышающих опубликованный TTL). Как я могу остановить кэширование DNS-сервера Windows или уменьшить кеширование до часа или около того?
Если я правильно понимаю вашу ситуацию, это то, что вас не устраивает кэширование внешних записей вашим DNS-сервером. Возможно, вы захотите поэкспериментировать с этими настройками как на вашем DNS-сервере (поскольку у него есть собственный кеш), так и на рабочих станциях конечных пользователей. После внесения изменений в реестр перезапустите клиентскую службу DNS.
Входящий КБ поддержки Microsoft:
Использование реестра для управления временем кеширования
Продолжительность кэширования положительного или отрицательного ответа зависит от значений записей в следующем разделе реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters
TTL для положительных ответов - меньшее из следующих значений:
Ноты
Если вы не хотите, чтобы отрицательные ответы кэшировались, установите для параметра реестра MaxNegativeCacheTtl значение 0.
Чтобы установить время кэширования на клиентском компьютере:
Найдите и щелкните следующий раздел в реестре:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Dnscache \ Parameters
В меню Правка наведите указатель на пункт Создать, щелкните Значение DWORD, а затем добавьте следующие значения реестра: Имя значения: MaxCacheTtl
Тип данных: REG_DWORD Значение по умолчанию: 86400 секунд Значение данных: если вы уменьшите значение максимального TTL в клиентском кэше DNS до 1 секунды, это создаст впечатление, что клиентский DNS-кеш отключен.
Имя значения: MaxNegativeCacheTtl
Тип данных: REG_DWORD По умолчанию: 900 секунд Значение данных: установите значение 0, если вы не хотите, чтобы отрицательные ответы кэшировались.
Введите значение, которое вы хотите использовать, и нажмите кнопку ОК.
Закройте редактор реестра.