В службе DNS-сервера поддерживаются функции очистки. Эти функции предоставляются в виде механизма выполнения очистки и удаления устаревших записей ресурсов, которые со временем накапливаются в данных зоны.

Если используется динамическое обновление, при входе компьютеров в сеть записи ресурсов автоматически добавляются в зоны. Однако в некоторых случаях они не удаляются автоматически при выходе компьютеров из сети. Например, если компьютер регистрирует собственную запись ресурса узла (A) во время входа в систему, а позже неверно отключится от сети, эта запись ресурса узла (A) может не быть удалена. Если в сети имеются мобильные пользователи и компьютеры, такое может повторяться довольно часто.

Если не обращать на них внимания, то присутствие устаревших записей ресурсов в данных зоны может привести к неполадкам:

Для устранения этих неполадок в службе DNS-сервера имеются следующие функциональные возможности:

Внимание!

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

Чтобы определить время очистки записей, сервер использует содержимое каждого штампа времени записей ресурсов вместе с другими свойствами очистки, которые можно изменить и настроить.

Необходимые условия для очистки

Прежде чем использовать функциональные возможности очистки в DNS, необходимо выполнение нескольких условий:

  1. Очистка должна быть включена как на DNS-сервере, так и в зоне.

    По умолчанию очистка записей ресурсов отключена.

  2. Чтобы записи ресурсов могли быть использованы в операциях очистки, они должны быть динамически добавлены в зоны или изменены вручную.

    Как правило, в процессе очистки могут принимать участие только те записи ресурсов, которые были динамически добавлены с помощью динамического протокола обновления.

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

    Чтобы изменить это поведение по умолчанию, можно администрировать эти записи по отдельности, запрещать и разрешать им использовать текущее значение штампа времени (отличное от нуля). Таким образом, эти записи могут быть очищены.

    Дополнительные сведения см. в разделе Сброс свойств устаревания и очистки для указанной записи ресурса.

Примечание

В случае изменения типа зоны со стандартной основной на интегрированную в Active Directory может понадобиться включить очистку для всех существующих записей ресурсов в этой зоне. Чтобы включить очистку для всех существующих записей ресурсов в зоне, можно использовать команду AgeAllRecords, которая доступна в программе командной строки dnscmd.

Терминология очистки

В следующей таблице указаны новые или измененные термины, которые используются при описании очистки.

Термин Описание

Штамп времени записи ресурса

Значение даты и времени, которое используется DNS-сервером для определения времени удаления записи ресурса при выполнении операций очистки.

Текущее время сервера

Текущие дата и время DNS-сервера. Это число может быть выражено как точное числовое значение любой временной точки.

Интервал блокирования

Интервал времени, определенный для каждой зоны по двум следующим событиям:

  1. дате и времени последнего обновления записи и установки ее штампа времени;

  2. дате и времени, когда запись снова станет доступной для обновления и сброса штампа времени.

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

Интервал обновления

Интервал времени, определенный для каждой зоны по двум следующим событиям:

  1. по самым ранним дате и времени, когда запись становится доступной для обновления и сброса штампа времени;

  2. по самым ранним дате и времени, когда запись становится доступной для удаления из базы данных зоны.

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

Время начала очистки

Определенное время, выраженное в виде числа. Это время используется сервером для определения времени, с которого зона становится доступной для очистки.

Период очистки

При разрешении автоматической очистки для сервера этот период означает время между повторами процесса автоматической очистки. Значение по умолчанию равняется семи дням. Чтобы предотвратить уменьшение производительности DNS-сервера, минимальное допустимое значение для этого периода равняется одному часу.

Обновление записи

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

Как правило, обновления происходят по следующим причинам:

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

  2. Периодическое обновление отправляется компьютером во время работы.

    Служба DNS-клиента Windows обновляет DNS-регистрацию записей ресурсов клиента каждые 24 часа. При выполнении динамического обновления, если запрос на динамическое обновление не приводит к изменению базы данных DNS, это считается простым обновлением, а не обновлением записи ресурса.

  3. Попытки обновления предпринимаются сетевыми службами, такими как: DHCP-серверы, которые обновляют аренду клиентских адресов; серверы кластеров, которые регистрируют и обновляют записи для кластера; а также служба сетевого входа в систему, которая регистрирует и обновляет записи ресурсов, используемые контроллерами домена Active Directory.

Обновление записи

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

Как правило, обновления происходят по следующим причинам:

  1. если компьютер добавлен к сети и при запуске отправляет обновление для исходной регистрации своих записей ресурсов в настроенной зоне;

  2. если на компьютере, имеющем существующие записи в зоне, был изменен IP-адрес, что привело к отправке обновления измененных сопоставлений имя-адрес в данных зоны DNS;

  3. если служба сетевого входа в систему зарегистрировала новый контроллер домена Active Directory.

Серверы очистки

Дополнительный параметр зоны, с помощью которого можно определить ограниченный список IP-адресов DNS-серверов, которые могут выполнять очистку зоны.

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

Чтобы задать этот параметр, необходимо указать список IP-адресов серверов, которым разрешено выполнять очистку зоны, в параметре ZoneResetScavengeServers для этой зоны. Это действие можно выполнить с помощью команды dnscmd - средства командной строки для администрирования DNS-серверов Windows.

Допустимое время начала очистки

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

Значение времени начала очистки устанавливается сервером для каждой зоны при возникновении одного из следующих событий:

  • Динамические обновления разрешены для зоны.

  • Вступило в действие изменение состояние флажка Удалять устаревшие записи ресурсов. Можно использовать диспетчер DNS для изменения этого параметра для необходимого DNS-сервера или для одной из основных зон.

  • DNS-сервер загружает основную зону, в которой можно проводить очистку.

    Это может произойти, когда запускается компьютер сервера или служба DNS-сервера.

  • Зона возобновила обслуживание после приостановки.

  • Если зона интегрирована в доменные службы Active Directory, репликация этой зоны должна произойти хотя бы один раз с момента перезапуска службы DNS или перезагрузки контроллера домена. Если произошло предыдущее событие, DNS-сервер устанавливает значение времени начала очистки путем суммирования следующих значений:

    Текущее время сервера + Интервал обновления = Время начала очистки

    Это значение используется в качестве основы для сравнения во время операций очистки.

Пример. Процесс очистки для отдельной записи

Чтобы получить общее представление о процессе очистки на сервере, обратите внимание на время жизни и последовательные этапы существования отдельной записи ресурса с момента добавления ее на сервер и в зону, где она обрабатывается, а затем устаревает и удаляется из базы данных.

  1. Гипотетический узел DNS host-a.example.microsoft.com регистрирует запись ресурса узла (A) на DNS-сервере для зоны, где была разрешена очистка.

  2. При регистрации записи DNS-сервер устанавливает штамп времени для этой записи, основываясь на текущем времени сервера.

    После записи штампа времени записи DNS-сервер не принимает обновления этой записи на протяжении интервала блокировки зоны. Однако он может принимать обновления до этого времени. Например, если изменяется IP-адрес записи host-a.example.microsoft.com, DNS-сервер может принять это изменение. В этом случае сервер также обновляет (сбрасывает) штамп времени записи.

  3. После истечения срока действия периода блокировки сервер начинает принимать попытки обновления этой записи.

    После окончания исходного периода блокировки сразу же начинается период обновления записи. Во время этого периода сервер не препятствует попыткам обновления записи до окончания ее срока действия.

  4. Во время и после периода обновления при получении сервером обновления этой записи он сразу же обрабатывает это обновление.

    Это приводит к сбросу штампа времени для записи, основываясь на методе, описанном на шаге 2.

  5. При выполнении сервером последующей очистки для зоны example.microsoft.com запись (и все другие записи зоны) изучаются сервером.

    Каждая запись сравнивается с текущим временем сервера на основе следующей суммы для определения необходимости удаления записи:

    Штамп времени записи + Интервал блокировки для зоны + Интервал обновления для зоны

    • Если значение этой суммы превышает значение текущего времени сервера, действий не предпринимается и запись продолжает устаревать в зоне.

    • Если значение этой суммы меньше значения текущего времени сервера, запись удаляется из текущих загруженных данных зоны в памяти сервера и из соответствующего объекта хранилища зоны DNS в доменных службах Active Directory для зоны example.microsoft.com, интегрированной в службу каталогов.