Как часто очищается кэш DNS?

Ответы:

34

Кэш DNS никогда не сбрасывается, если вы явно не указали это или не изменили конфигурацию DNS / сети. DNS-записи имеют значение времени жизни (TTL), связанное с ними, которое сообщает кэш-памяти DNS, как долго должна работать конкретная запись. Записи в кеше сохраняются для их TTL, затем запрашиваются.

На компьютере с Windows вы можете увидеть список всех записей в вашем кэше вместе с их TTL, выполнив в командной строке следующую команду:

ipconfig /displaydns

Вы можете принудительно сбросить все кэшированные записи DNS, используя следующую команду:

ipconfig /flushdns

Для получения дополнительной информации:

heavyd
источник
1
Какие вещи представляют собой «сетевые изменения»? Новый IP-адрес, подключенный к другой сети Wi-Fi? или ручная очистка кеша / настройка DNS
cutrightjm
2
Согласно другим ответам (и здравому смыслу), создается впечатление, что действительно существует максимальное время жизни для кэшированных записей DNS в Windows. Обратите внимание на обратное: веб-сайтам было бы тривиально выполнять атаку типа «отказ в обслуживании» против посетителей, вызывая огромное количество DNS-запросов с течением времени, пока в Windows не закончатся HDD / RAM / CPU из-за постоянно увеличивающегося кеша. размер. Так что этот ответ кажется неправильным.
Ноль3
@ Zero3 Это можно объяснить с помощью TTL для каждой записи (у которого может быть максимальное значение, так что запись не удерживается в течение этого времени; в ответе не утверждается, что не может быть максимального TTL). Таким образом, ответ может быть верным, поскольку в нем утверждается, что «[весь] сброс кеша» отсутствует , при этом все еще объясняется поведение контраргумента, поскольку записи «очищаются» (истекают) индивидуально своими собственными записями TTL. немного очистки текста может помочь.
user2864740
10

Из того, что я смог найти, Windows 7 не устанавливает параметр для dnscache MaxCacheEntryTtlLimit .

Значение по умолчанию для MaxCacheEntryTtlLimit: DWORD = 0x15180 = 86400 seconds = 1 day

  • если DNS зона TTL <MaxCacheEntryTtlLimit, то используется DNS TTL
  • если DNS-зона TTL> MaxCacheEntryTtlLimit, то используется MaxCacheEntryTtlLimit
Даррен Холл
источник
8

Согласно: Уменьшить кэш DNS-клиента в Windows Server 2012 R2

Вместо MaxCacheEntryTtlLimitвас следует модифицировать maxcacheTTL. Это работает и для Windows 8.

Описание

Определяет, как долго сервер системы доменных имен (DNS) может сохранять запись рекурсивного запроса имени.

Если значение этой записи 0x0, DNS-сервер не сохраняет никаких записей.

введите описание изображения здесь

SomeOne01
источник
Благодарность! Именно то, что я искал. Еще одна вещь, которую нужно добавить из этого поста в блоге, net stop dnscache & net start dnscacheчтобы настройки вступили в силу без перезагрузки.
Лукас
Как это выглядит, maxcacheTTL предназначен для компонента «DNS-сервер» Windows Server, а не для DNS-кэша.
Йерун Ландхир