DOC / 1442 SysAdminHub.ru

Как настроить проверку и очистку DNS-записей в Active Directory

Как настроить проверку и очистку DNS-записей в Active Directory

Что такое DNS Aging и Scavenging

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

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

В этом механизме используются два связанных процесса:

  • DNS Aging — определение возраста динамических DNS-записей и момента, когда запись может считаться устаревшей;
  • DNS Scavenging — автоматическое удаление DNS-записей, которые были признаны устаревшими.

Совместное использование DNS Aging и Scavenging позволяет поддерживать DNS-зоны в актуальном состоянии без необходимости регулярно искать и удалять старые динамические записи вручную.

Настройка проверки и очистки DNS-записей

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

Шаг 1. Включение расширенного режима

Откройте Диспетчер DNS (DNS Manager).

В верхнем меню выберите Вид (View) и включите параметр Расширенный (Advanced).

Включение расширенного режима Advanced в Диспетчере DNS

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

Шаг 2. Проверка и обновление DNS-записей

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

Выберите нужную DNS-зону и просмотрите находящиеся в ней записи.

В нашем примере запись EX01-2019 Host (A) является динамической. Если она перестанет обновляться и пройдёт установленный период устаревания, запись сможет быть удалена механизмом автоматической очистки.

Поскольку данную запись необходимо сохранить независимо от динамических обновлений, переведём её в статическую.

Динамическая A-запись EX01-2019 в Диспетчере DNS

Щёлкните правой кнопкой мыши по нужной A-записи и выберите Свойства (Properties).

Открытие свойств A-записи в Диспетчере DNS

Снимите флажок Удалить эту запись, когда она устареет (Delete this record when it becomes stale).

Нажмите ОК.

Отключение удаления DNS-записи после её устаревания

Обновите окно Диспетчера DNS и проверьте значение временной метки (Timestamp).

Убедитесь, что запись теперь отображается как Static.

Статическая DNS-запись EX01-2019 после изменения параметров

В нашем примере A-запись EX01-2019 стала статической и не будет удалена механизмом автоматической очистки.

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

Шаг 3. Резервное копирование DNS-записей

Перед включением автоматической очистки рекомендую создать резервную копию DNS-записей. Для этого можно экспортировать все записи DNS-сервера в CSV-файл.

Если после изменения настроек потребуется проверить параметры ранее существовавшей записи, её данные останутся в сохранённом CSV-файле.

Для экспорта можно использовать следующий PowerShell-скрипт:

$Report = [System.Collections.Generic.List[Object]]::new()
$zones = Get-DnsServerZone

foreach ($zone in $zones) {
    $zoneInfo = Get-DnsServerResourceRecord -ZoneName $zone.ZoneName

    foreach ($info in $zoneInfo) {
        $timestamp = if ($info.Timestamp) { $info.Timestamp } else { "static" }
        $timetolive = $info.TimeToLive.TotalSeconds

        $recordData = switch ($info.RecordType) {
            'A'     { $info.RecordData.IPv4Address }
            'CNAME' { $info.RecordData.HostnameAlias }
            'NS'    { $info.RecordData.NameServer }
            'SOA'   { "[$($info.RecordData.SerialNumber)] $($info.RecordData.PrimaryServer), $($info.RecordData.ResponsiblePerson)" }
            'SRV'   { $info.RecordData.DomainName }
            'PTR'   { $info.RecordData.PtrDomainName }
            'MX'    { $info.RecordData.MailExchange }
            'AAAA'  { $info.RecordData.IPv6Address }
            'TXT'   { $info.RecordData.DescriptiveText }
            default { $null }
        }

        $ReportLine = [PSCustomObject]@{
            Name       = $zone.ZoneName
            Hostname   = $info.Hostname
            Type       = $info.RecordType
            Data       = $recordData
            Timestamp  = $timestamp
            TimeToLive = $timetolive
        }

        $Report.Add($ReportLine)
    }
}

$Report | Export-Csv "C:\temp\AllDNSZonesRecords.csv" -NoTypeInformation -Encoding utf8

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

C:\temp\AllDNSZonesRecords.csv

Шаг 4. Включение Aging для DNS-зоны

Теперь настроим параметры устаревания записей для нужной DNS-зоны.

Щёлкните правой кнопкой мыши по DNS-зоне и выберите Свойства (Properties).

Открытие свойств DNS-зоны для настройки Aging

На вкладке Общие (General) нажмите Устаревание (Aging).

Открытие настроек Aging для DNS-зоны

Установите флажок Удалять устаревшие записи ресурсов (Scavenge stale resource records).

Ниже находятся два важных параметра:

  • No-refresh interval — интервал, в течение которого обновление временной метки записи блокируется;
  • Refresh interval — следующий период, в течение которого динамическая запись может обновить свою временную метку.

Например, можно использовать стандартные значения 7 дней для No-refresh и 7 дней для Refresh. В этом случае динамическая запись должна пройти оба интервала, прежде чем станет кандидатом на очистку.

Нажмите ОК два раза, чтобы сохранить настройки.

Настройка интервалов No-refresh и Refresh для DNS-зоны

Шаг 5. Включение автоматической очистки DNS-записей

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

Щёлкните правой кнопкой мыши по DNS-серверу и выберите Свойства (Properties).

Открытие свойств DNS-сервера для настройки Scavenging

Перейдите на вкладку Дополнительно (Advanced).

Установите флажок Включить автоматическую очистку устаревших записей (Enable automatic scavenging of stale records).

Укажите период автоматической очистки. Например, можно оставить стандартный интервал 7 дней.

Нажмите ОК, чтобы сохранить настройки.

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

FAQ

Что такое DNS Aging?

DNS Aging — механизм Windows DNS, использующий временные метки динамических ресурсных записей для определения их возраста. Настройки No-refresh и Refresh определяют, когда динамическая запись сможет стать кандидатом на очистку.

Что такое DNS Scavenging?

DNS Scavenging — механизм удаления устаревших динамических DNS-записей. Он работает совместно с параметрами Aging, настроенными для DNS-зоны.

Удаляет ли Scavenging статические DNS-записи?

Нет. Статические записи без временной метки не удаляются обычным механизмом Aging and Scavenging. Поэтому старые статические записи необходимо находить и удалять отдельно.

Зачем нужны No-refresh interval и Refresh interval?

No-refresh interval предотвращает слишком частое изменение временной метки динамической записи, а Refresh interval предоставляет период, в течение которого клиент может обновить эту метку. Только после прохождения этих периодов запись может стать устаревшей.

Можно ли включить Scavenging сразу после установки DNS-сервера?

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

Почему старая DNS-запись не удаляется автоматически?

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

Как удалить старые статические DNS-записи?

Статические записи можно удалить вручную через Диспетчер DNS или автоматизировать поиск и удаление с помощью PowerShell. Для этого смотрите статью Как удалить устаревшие DNS-записи с помощью PowerShell.

Итог

Мы настроили механизм DNS Aging and Scavenging, который позволяет Windows Server автоматически определять и удалять устаревшие динамические DNS-записи.

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

Важно помнить, что автоматическая очистка предназначена для динамических DNS-записей. Старые статические записи необходимо контролировать отдельно.

Для их поиска и удаления смотрите статью Как удалить устаревшие DNS-записи с помощью PowerShell.

ORIGINAL / ATTRIBUTION

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

Материал взят с https://sysadminhub.ru/. Оригинальная статья и авторство указаны по ссылке ниже.

Оригинал статьи на SysAdminHub.ru ↗

https://sysadminhub.ru/produkty-microsoft/windows-server/dns-aging-scavenging

Материал проверен 10.10.2026. При изменении программного обеспечения сверяйтесь с актуальной документацией.
← Вернуться в базу знаний