Як часто очищається кеш DNS?


Відповіді:


34

Кеш DNS ніколи не розмивається, якщо ви прямо не скажете це або не зробите зміну конфігурації, пов’язаної з DNS / мережею. Записи DNS мають пов’язане з ними значення Time To Live (TTL), яке повідомляє кеш-пам'ять DNS, на який термін підходить конкретний запис. Записи в кеші зберігаються для їх TTL, потім повторно запитуються.

На машині Windows ви можете побачити список усіх записів у своєму кеші разом з їх TTL, виконавши наступну команду в командному рядку:

ipconfig /displaydns

Ви можете примусити флеш усіх кешованих DNS-записів за допомогою наступної команди:

ipconfig /flushdns

Для отримання додаткової інформації:


1
Які речі являють собою "зміну в мережі"? Нова IP-адреса, приєднавшись до іншої мережі Wi-Fi? або вручну промити кеш / налаштування DNS
cutrightjm

2
Згідно з іншими відповідями (і здоровим глуздом), схоже, існує дійсно максимальний термін експлуатації кешованих записів DNS в Windows. Подумайте про протилежне: тоді веб-сайтам було б тривіально здійснити атаку відмови в обслуговуванні відвідувачів, викликаючи величезну кількість запитів DNS з часом, поки Windows не закінчиться HDD / RAM / CPU через постійно зростаючий кеш розмір. Тож ця відповідь здається неправильною.
Zero3

@ Zero3 Це можна пояснити за допомогою TTL за вхід (який може мати максимальне значення таким чином, що жоден запис не проводиться протягом цього часу; відповідь не стверджує, що не може бути максимального TTL). Таким чином, відповідь може бути правдивою, оскільки вона стверджує, що не існує "[цілого] кеш-помилки" , при цьому все ще пояснюючи поведінку контр-аргументу, оскільки записи "змиваються" (закінчується термін дії) індивідуально своїми власними записами TTL. Трохи формулювання очищення може допомогти.
користувач2864740

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-сервер не зберігає жодних записів.

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


Спасибі! Саме те, що я шукав. Ще одне, що потрібно додати з цього запису на блозі, net stop dnscache & net start dnscacheщоб налаштування пройшло без перезавантаження.
Лукас

Як це виглядає, maxcacheTTL призначений для компонента "DNS-сервер" Windows Server, а не для кешу DNS.
Jeroen Landheer
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.