Поделиться через


Старение и очистка DNS

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

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

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

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

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

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

  • Метка времени на основе текущей даты и времени на серверном компьютере для всех ресурсных записей, добавленных в динамическом режиме в зоны первичного типа. Кроме того, метки времени записываются в стандартных первичных зонах, где включено старение/очистка.
  • Для записей ресурсов, добавляемых вручную, сервер назначает значение метки времени нулю. Это означает, что процесс старения здесь не имеет значения. Эти записи могут оставаться в данных зоны на неопределенный срок, если вы не измените их метку времени или не удалите их.
  • Служба DNS-сервера обновляет записи ресурсов в локальных данных на основе указанного периода времени обновления для любых подходящих зон. В этом процессе могут участвовать только зоны основного типа, которые загружает служба DNS-сервера.
  • Поиск любых записей ресурсов, сохраняющихся за пределами указанного периода обновления. Когда DNS-сервер выполняет операцию очистки, он может определить, что ресурсные записи устарели, и удалить их из данных зоны. Серверы можно настроить для автоматического выполнения повторяющихся операций очистки или немедленного запуска операции очистки на сервере.

Warning

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

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

Prerequisites

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

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

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

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

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

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

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

Tip

При изменении зоны с стандартной первичной зоны на интегрированную с Active Directory можно включить очистку всех существующих записей ресурсов в зоне. To enable aging for all existing resource records in a zone, you can use the AgeAllRecords command, which is available through the dnscmd command-line tool.

Terminology

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

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

  • No-refresh interval An interval of time, determined for each zone, as bounded by the following two events:

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

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

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

  • Record refresh When a DNS dynamic update is processed for a resource record when only the resource record time stamp, and no other characteristics of the record, are revised. Обновления обычно происходят по следующим причинам:

    • Когда компьютер перезагружается в сети, он проверяет, совпадают ли его имя и IP-адрес, как и перед завершением работы. Если имя и IP-адрес соответствуют, компьютер отправляет запрос на обновление, чтобы обновить связанные записи ресурсов.
    • Компьютер отправляет периодическое обновление экрана во время работы.
    • Служба dns-клиента Windows и Windows Server обновляет регистрацию записей ресурсов клиента DNS каждые 24 часа. Если запрос динамического обновления не вызывает изменения в базе данных DNS, выполняется обновление.
    • Другая сетевая служба предпринимает попытку обновления. For example:
      • DHCP-серверы обновляют аренду адреса клиента.
      • Серверы кластеров регистрируют и обновляют записи для кластера.
      • Служба Netlogon регистрирует и обновляет записи ресурсов, используемые контроллерами домена Active Directory.
  • Record update When a DNS dynamic update is processed for a resource record where other characteristics of the record in addition to its time stamp are revised. Обновления обычно происходят по следующим причинам:

    • При добавлении нового компьютера в сеть. При запуске компьютер передает обновление для первоначальной регистрации своих записей ресурсов в настроенной зоне.
    • Если компьютер с существующими записями в зоне имеет изменение IP-адреса, что приводит к отправке обновлений для измененных сопоставлений имен и адресов в данных зоны DNS.
    • Когда служба Netlogon регистрирует новый контроллер домена Active Directory.
  • Refresh interval An interval of time, determined for each zone, as bound by the following two distinct events:

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

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

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

  • Scavenging period When automatic scavenging is enabled at the server, this period represents the time between repetitions of the automated scavenging process. Значение по умолчанию составляет семь дней. Чтобы предотвратить ухудшение производительности DNS-сервера, минимально допустимое значение составляет один час.

  • Scavenging servers An optional advanced zone parameter that enables you to specify a restricted list of IP addresses for DNS servers that are enabled to perform scavenging of the zone. По умолчанию, если этот параметр не указан, все DNS-серверы, загружающие интегрированную с каталогом зону (также включенную для очистки) пытаются выполнить очистку зоны. В некоторых случаях этот параметр может быть полезен, если предпочтительнее, что очистка выполняется только на некоторых серверах, загружающих интегрированную в каталог зону. To set this parameter, you must specify the list of IP addresses for the servers enabled to scavenge the zone in the ScavengingServers parameter for the zone. Используйте команду dnscmd, чтобы задать параметр, dnscmd — это средство на основе командной строки для администрирования DNS-серверов Windows. Alternatively, you can use the Set-DnsServerScavenging PowerShell cmdlet.

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

Когда может начаться очистка

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

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

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

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

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

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

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

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

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

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

  2. Когда DNS-сервер регистрирует запись, он помещает метку времени на эту запись на основе текущего времени сервера.

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

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

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

  4. В течение и после периода обновления, если сервер получает обновление для записи, он обрабатывает его.

    При этом сбрасывается метка времени записи на основе метода, описанного на шаге 2.

  5. Когда сервер для зоны example.contoso.com выполняет последующую очистку, проверяются записи зоны (включая все прочие записи зоны).

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

    Record time stamp + No-refresh interval for zone + Refresh interval for zone

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

      Or

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