Очистка DNS сервера от устаревших записей

Устаревшие DNS записи в Active Directory могут вызывать проблемы с разрешением имен, поэтому очень важно удалять такие записи на DNS сервере вашей организации. В этой статье я расскажу как можно включить автоматическую очистку DNS сервера от устаревших записей и настраивать параметры DNS Aging и DNS Scavenging.

Что такое устаревшие DNS записи

Устаревшие записи DNS — это записи на сервере DNS, которые по-прежнему указывают на старый IP-адрес устройства. Это может вызвать проблемы при обращении к устройству по имени. Например, при попытке зайти на общую сетевую папку. Такие записи могут появляются на сервере DNS из-за некорректного отключения компьютера от сети и перерегистрации его с новым IP адресом. Особенно актуальна проблема с устаревшими записями в случае присутствия большого количества ноутбуков или мобильных клиентов в вашей сети.

Как работает очистка DNS

Чтобы автоматически удалять старые записи в DNS, нужно корректно настроить DNS Aging (Устаревание) и Scavenging (Очистку). Давайте разберемся как это работает.

DNS Aging (Устаревание) позволяет идентифицировать устаревшие записи DNS. При этом используется два интервала, и запись DNS считается устаревшей по истечении обоих интервалов.

  • Non-Refresh Interval (интервал без обновления): это период времени, в течение которого запись устройства не может быть обновлена. Отказ от обновления в течение этого периода времени снижает трафик репликации, поскольку нет необходимости повторно реплицировать одну и ту же информацию.
  • Refresh Interval (интервал обновления): это период времени, в течение которого запись устройства может быть обновлена.

Для лучшего понимания рассмотрим эти интервалы на двух примерах.

  1. Интервал без обновления и интервал обновления составляют по семь дней (это значения по умолчанию). В этом случае запись устройства считается устаревшей по прошествии четырнадцати дней.
  2. Интервал без обновления 4 дня, интервал обновления 7 дней. В этом случае запись устройства можно обновить через 4 дня, в течение последующих 7 дней. После этого начнется новый период без обновления, который составит 4 дня. Если в течение 11 дней запись не обновится, то она будет считаться устаревшей.

Даже если интервалы Non-Refresh Interval и Refresh Interval истекли, запись устройства может быть обновлена ​​до тех пор, пока она не будет удалена из зоны DNS. После этого начнется новый интервал Non-Refresh, и запись больше не будет считаться устаревшей. Клиент Windows пытается обновлять метку времени каждые 24 часа.

Для определения факта устаревания записи устройства DNS Aging использует отметку времени (timestamp).  Статические записи, которые имеют отметку времени, равную нулю, никогда не устаревают. Для динамических записей отметка времени представляет собой дату и время последнего обновления записи устройства на DNS сервере.

DNS Scavenging (Очистка) позволяет удалять устаревшие записи устройств в зонах DNS. Функция очистки включается для всего DNS сервера, но также должна быть настроена для каждой зоны DNS. Интервал очистки не зависит от интервалов без обновления (Non-Refresh Interval)  и интервалов обновления (Refresh Interval).

Чтобы узнать, какие установлены настройки DNS Aging и Scavenging и когда будет запущен следующий цикл очистки, мы можем использовать командлет PowerShell:

Get-DnsServerScavenging

Powershell получение информации об интервалах

В результатах вывода команды видно, что интервал установлен на 7 дней, а очистка устаревших записей еще ни разу не проводилась.

Включение автоматической очистки устаревших DNS записей

Для включения функции автоматического очистки устаревших записей на DNS сервере нужно запустить оснастку DNS Manager (Диспетчер DNS), нажать правой кнопкой мыши на DNS сервере и выбрать пункт Properties.

dns server properties

На вкладке Advanced необходимо активировать автоматическую очистку устаревших записей и указать период очистки.

dns server enable scavenging

Для корректной работы очистки необходимо активировать настройки устаревания DNS записей устройств для каждой зоны на сервере. Для этого выбираем необходимую зону в области прямого просмотра, нажимаем на ней правой кнопкой мыши и выбираем Properties. На вкладке General нажимаем кнопку Aging.

DNS Zone Aging

И задаем для этой зоны значения интервалов Non-Refresh Interval и Refresh Interval.

DNS ZOne Scaving settings

Интервал без обновления + интервал обновления должен быть меньше или равен времени аренды DHCP. Причем интервал без обновления равен или меньше интервала обновления.

Чтобы включить устаревание и очистку DNS по умолчанию для всех зон DNS на DNS-сервере, выполните следующие действия. Щелкните правой кнопкой мыши на имени сервера, а затем выберите Set Aging/Scavenging for All Zones  (Установить устаревание/очистку для всех зон).

По аналогии с DNS зонам задаем Non-Refresh Interval и Refresh Interval. Включите Apply these settings to the existing Active Directory-integrated zones (Применить эти параметры к существующим зонам, интегрированным с Active Directory) для применения устаревания и очистки DNS у существующих зон, интегрированных с Active Directory.

All Zone Aging

Если у вас DNS зона интегрирована с Active Directory, то одного DNS сервера с включенной очисткой DNS записей достаточно, чтобы правильно её проводить. Обычно не рекомендуется настраивать очистку DNS на нескольких серверах, поскольку это усложняет устранение неполадок, связанных с очисткой. Например, удаление допустимых записей DNS.

Поддержание чистоты записей DNS помогает предотвратить ошибки разрешения имен в вашей сети. Но прежде чем включить очистку устаревших записей DNS, убедитесь, что вы тщательно проверили все свои настройки DNS.

Оставьте комментарий