Настройка кэширования ответов DNS в Windows

Для ускорения просмотра веб страниц операционная система Windows кэширует ответы DNS серверов. Сразу после прихода ответа на определение числового ip-адрес по URL с сервера DNS, Windows автоматически помещает этот адрес в локальное хранилище. Когда браузер запрашивает адрес по URL, Windows вначале ищет его в хранилище, и, если находит его, то сразу же возвращает результат, не обращаясь к DNS серверам интернет провайдера. Локальный кэш увеличивает скорость работы и экономит трафик.

Очистка локального DNS кэша

Если при хранении адреса в локальном хранилище информация будет повреждена или изменится IP-адрес, браузер не сможет открыть сайт. Подобное случается не так часто. К счастью, существует способ очистить локальный кэш для мгновенного решения возникшей проблемы.

В ОС Windows имеется инструмент ipconfig, у которого имеется опция /flushdns для очистки всех закэшированных записей. Если требуется очистить локальный кэш, то в окне командной строки (ПускПрограммы (Все программы) — СтандартныеКомандная строка) следует ввести команду ipconfig /flushdns и нажать клавишу Enter.

Для просмотра всех записей DNS в локальном хранилище можно воспользоваться опцией /displaydns команды ipconfig. Для этого в окне командной строки необходимо ввести команду ipconfig /displaydns и нажать клавишу Enter. В окне появятся все записи закэшированных ответов DNS.

Настройка времени хранения кэша

Обычно Windows хранит адреса не более 86400 секунд (1 сутки), но время хранения можно ограничить другим пределом. Для этого необходимо открыть редактор реестра (в командной строке ввести команду regedit и нажать Enter). В левой области редактора имеется дерево ключей реестра, которое похоже на папки жесткого диска. В этом дереве нажимая на соответствующие иконки раскрытия папок (знак плюс) следует открыть путь HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters, после чего в этом дереве установить курсор на папку Parameters. В правой области редактора реестра появится содержимое данного ключа (папки).

Значение DWORD параметра MaxCacheTtl указывает ограничения времени хранения ответов в секундах. Его можно изменить на любое другое. Если параметра MaxCacheTtl нет, значит установлено стандартный предел равный 86400 секундам. Для его изменения следует создать параметр MaxCacheTtl типа DWORD со значением равным требуемому пределу. Параметр MaxCacheTtl ограничивает только время хранения положительных ответов, т. е. когда удалось определить ip-адрес по доменному имени.

Если DNS сервер провайдера вернул отрицательный ответ (не смог определить адрес), он тоже сохраняется в локальном хранилище. Обычно такой ответ хранится на протяжении 15 минут. Это значит, что если во время посещения сайта, не удалось определить его ip-адрес, сайт будет невозможно посетить в течении 15 минут, даже, если он станет доступен в течении этого времени. Чтобы этого избежать, следует уменьшить время хранения отрицательных ответов или вовсе отключить их хранения. Чтобы задать время хранения следует скорректировать (или создать, если отсутствует) DWORD параметр MaxNegativeCacheTtl, который ограничивает предельное время хранения отрицательных ответов. Для отключения их хранения достаточно выставить нулевое время хранения.

Временное отключение кэширования DNS ответов

Если требуется на время отключить кэширование адресов в локальном хранилище, необходимо в командной строке ввести команду net stop dnscache (или sc stop dnscache) и нажать Enter. Для обратного включения следует в командной строке ввести команду net start dnscache (или sc start dnscache) и нажать Enter, либо перезагрузить компьютер.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *