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


Настройка очистки DNS

В этой статье описывается настройка очистки системы доменных имен (DNS) и пример настройки очистки в предварительно существующей зоне.

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

Примечание.

В этой статье рассматриваются наиболее распространенные сценарии Windows DNS: DNS-серверы Windows Server, на которые размещаются зоны Active Directory (AD)..

В Windows Server необходимо установить очистку во всех следующих трех местах:

  1. На отдельной записи ресурсов, необходимой для очистки.
  2. На зоне, которая должна быть расчищена.
  3. На одном или нескольких серверах выполняется очистка.

Настройка параметров очистки в записи ресурсов

В консоли управления DNS (MMC) выберите "Просмотреть>дополнительно" и проверьте свойства записи ресурсов, чтобы просмотреть параметры очистки. Например:

Снимок экрана: проверка свойств записи ресурса для просмотра параметров очистки.

Очистка записи ресурсов может быть задана в трех методах:

  • Сначала проверяется запись "Удалить", когда она становится устаревшей и нажимает кнопку "Применить". При нажатии кнопки "Применить" текущее время округляется до ближайшего часа и применяется в качестве метки времени записи. Метка времени статических записей — 0, указывающая, что они не расшибаются.
  • Второй способ заключается в том, что запись создается клиентским компьютером, регистрируемым с помощью динамического DNS (DDNS). Клиенты Windows динамически обновляют DNS каждые 24 часа. Для всех записей DDNS задано значение scavenge. Когда запись сначала создается клиентом, у которому нет существующей записи, она считается "Обновление", и задается метка времени. Если клиент имеет существующую запись узла и изменяет IP-адрес записи узла, это также считается "Обновление", а метка времени устанавливается. Если у клиента есть существующая запись узла с тем же IP-адресом, это считается обновлением и зависит ли изменение метки времени от параметров зоны.
  • Третий способ настройки очистки записей — использовать команду dnscmd /ageallrecords . Если вы выполняете эту команду в зоне, она установит очистку и метку времени для всех записей в зоне, включая статические записи, которые не требуется выполнять.

После установки метки времени на запись она будет реплицирована на все серверы, на которых размещена зона.

Примечание.

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

Параметры очистки в зоне

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

Снимок экрана: окно свойств очистки зоны.

Примечание.

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

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

Примечание.

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

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

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

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

Интервал без обновления — это период времени, в течение которого запись ресурса не может быть обновлена. "Обновить" — это динамическое обновление, в котором запись ресурса узла не изменяется; просто коснитесь метки времени. Если клиент изменяет IP-адрес записи узла, это считается обновлением и освобождается от интервала без обновления. Целью интервала без обновления является уменьшение трафика репликации. Изменение записи означает, что изменение должно быть реплицировано.

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

Примечание.

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

Если щелкнуть сервер правой кнопкой мыши и выбрать параметр Set Aging/Scavenging for All Zones..., вы увидите снимок экрана, аналогичный приведенному выше. Этот параметр задает параметры по умолчанию, которые будут использоваться при создании новой зоны на этом сервере. Если вы не установите флажок "Применить эти параметры к существующим интегрированным зонам Active Directory", параметр не влияет на существующие зоны.

Параметры очистки на сервере

Чтобы задать очистку на сервере, щелкните правой кнопкой мыши сервер в MMC и выберите "Свойства". Затем установите флажок "Включить автоматическую очистку устаревших записей " на вкладке "Дополнительно ", как показано ниже.

Снимок экрана: свойства сервера с флажком

Значение периода очистки — как часто этот сервер выполняет очистку. Когда сервер выполняет очистку, он регистрирует идентификатор события DNS 2501, чтобы указать, сколько записей выполняется очистка. Если записи не удаляются, регистрируется идентификатор события 2502. Требуется только один сервер, так как данные зоны реплицируются на все серверы, на которые размещается зона.

Совет

Получив метку времени на самом последнем идентификаторе события 2501 или 2502 и добавив к ней период очистки, вы можете определить, когда сервер попытается сжаться.

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

Чтобы управлять тем, какой сервер выполняет очистку для зоны, можно использовать команду DNSCMD , чтобы указать, какие серверы могут выполнять очистку. Например, команда dnscmd /zoneresetscavengeservers contoso.com 192.168.1.1 192.168.1.2 позволяет использовать только DNS-серверы с IP-адресами 192.168.1.1 и 192.168.1.2 для защиты contoso.com от зоны.

Процесс очистки и окончательные проверки

Вы также можете вручную инициировать попытку очистки, щелкнув правой кнопкой мыши сервер и выбрав Scavenge Stale Resource Records. Обратите внимание, что попытки вручную не обходят клапаны безопасности.

Прежде чем удалять устаревшие записи, проверьте следующее:

  • Включена ли очистка в зоне?
  • Включена ли динамическое обновление в зоне?
  • Указан ли сервер scavenging в качестве одного из серверов очистки зоны?
  • Превышена ли отметка времени "зона после"?
    Это позволяет клиентам и репликации AD подготовиться перед началом работы.
  • Было ли это дольше интервала обновления, так как эта зона была последней реплицирована в Active Directory?
    Если очистка включена на сервере с проблемами репликации, это может помочь предотвратить ненужные записи, которые могут по-прежнему быть допустимыми на других серверах.

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

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

Ниже приведен пример настройки очистки в предварительно существующей зоне. Эта процедура предназначена для максимальной безопасности. При использовании параметров по умолчанию этот процесс может занять четыре–пять недель (две недели для этапа проверки работоспособности и двух-трех недель для этапа включения).

Этап установки

  1. Отключите очистку на всех серверах. Вы можете использовать dnscmd /zoneresetscavengeservers команду, чтобы ограничить очистку на одном сервере, а затем убедиться, что этот сервер отключил очистку.
  2. Включите очистку в зонах, которые вы хотите скавенить. Задайте интервалы обновления и без обновления по мере необходимости. Для более эффективного уменьшения интервала обновления рекомендуется уменьшить интервал no-refresh и оставить интервал обновления по умолчанию.
  3. Добавьте текущую дату и интервалы обновления без обновления. Вернитесь через несколько недель, когда это время прошло.

Этап проверки санности

Найдите все записи старше интервала обновления и интервала no-Refresh в записях DNS. Если вы видите, возникла проблема с динамическим процессом регистрации, которая должна быть исправлена перед продолжением. Тщательная проверка на этом этапе является самым важным шагом в настройке.

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

  • ipconfig /registerdns Работает ли команда?
  • Кто является владельцем записи (см . вкладку "Безопасность " в свойствах записи)?
  • Является ли запись статической, созданной администратором, а затем включена для очистки? В этом случае необходимо удалить запись, чтобы очистить владение и выполнить ipconfig /registerdns команду, чтобы обновить ее.
  • Работает ли репликация Active Directory сервера правильно?

Не продолжайте работу, если вы не можете объяснить устаревшие записи. На следующем этапе они будут удалены.

Этап включения

С помощью dnscmd /zoneresetscavengeservers команды можно включить очистку на одном сервере.

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

  1. Начните с метки времени записи.
  2. Добавьте интервал обновления.
  3. Добавьте интервал без обновления.
  4. Результатом будет ваше "право на scavenge" время. Запись не исчезнет в это время, хотя.
  5. Проверьте журналы событий DNS для идентификаторов событий 2501 и 2502, чтобы найти, когда DNS-сервер запустит очистку.
  6. На основе вашего "право на scavenge" время найдите последний идентификатор события 2501 или событие 2502 и добавьте в него период очистки сервера (на вкладке "Дополнительно " свойств сервера).
  7. Это момент времени, когда запись теста исчезнет.

Например:

  • Для зоны установлено 3-дневное интервал обновления и 3-дневный интервал без обновления.
  • Период очистки сервера равен трем дням.
  • Последний идентификатор события DNS 2501 или 2502 произошел в 6 утра 1/1.2008.
  • У вас есть запись с меткой времени 1/1.2008 в 12:00 (полдень).

Учитывая эти предположения, можно спрогнозировать, что запись будет удалена примерно в 6 утра 1.10.2008. Ниже приведена схема примера.

Схема прогноза об удалении записи.

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