当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何在 Active Directory 中设置 DNS 老化和清理

作者:精品下载站 日期:2024-12-14 20:36:46 浏览:14 分类:玩电脑

如何在 Active Directory 中设置 DNS 老化和清理


过时的记录不应属于您的 Active Directory DNS。手动检查每个区域中的 DNS 记录并删除旧的 DNS 记录不是您应该做的。相反,启用 DNS 老化和清理来自动为您完成此操作。在本文中,您将了解如何在 Active Directory 中设置 DNS 老化和清理。

什么是 DNS 老化和清除?

DNS 老化和清理是 Microsoft 的一项功能,可识别并删除过时的 DNS 资源。

DNS 记录的年龄是服务器的最后时间戳与当前时间之间的差值。 DNS 清理使用此值来检查是否需要删除记录。识别出符合条件的陈旧资源记录后,它将继续从 DNS 服务器中删除它们。

注意:默认情况下不启用 DNS 老化和清理功能。

如何配置 DNS 老化和清理

要在 Active Directory 中设置 DNS 老化和清理,请执行以下步骤:

重要提示:仅在主 DNS 服务器上进行此项设置。不要在所有 DNS 服务器上都设置它。如果主 DNS 服务器离线,则必须在另一台 DNS 服务器上配置 DNS 老化和清理。

步骤 1. 启用高级视图

  1. 启动 DNS 管理器

  2. 点击菜单中的查看

  3. 启用高级设置

[玩转系统] 如何在 Active Directory 中设置 DNS 老化和清理

高级设置将允许您访问在后续步骤中默认隐藏的多个项目。

步骤 2. 更新 DNS 记录

如果 DNS 记录具有静态地址,则不会通过 DNS 老化和清理将其删除。浏览 DNS 管理器中的记录,并根据需要将时间戳更新为静态。

重要提示:过时的静态 DNS 记录将不会清除,只有过时的动态 DNS 记录才会自动清除。

  1. 点击区域

  2. 浏览 DNS 记录

在此示例中,EX01-2019 Host (A) 记录显示为动态地址,一旦要清理,它将删除该记录。但我们不希望这样,我们必须将其更改为静态

[玩转系统] 如何在 Active Directory 中设置 DNS 老化和清理

  1. 右键单击A 记录,然后选择属性

[玩转系统] 如何在 Active Directory 中设置 DNS 老化和清理

  1. 清除当该记录过时时删除该记录

  2. 单击确定

注意:如果您没有看到当记录过时时删除该记录复选框,则表示您没有启用高级设置上一步。

[玩转系统] 如何在 Active Directory 中设置 DNS 老化和清理

  1. 刷新窗口并检查时间戳

  2. 验证记录是否更改为静态

在我们的示例中,EX01-2019A 记录 显示为静态。

[玩转系统] 如何在 Active Directory 中设置 DNS 老化和清理

现在您已经查看了所有记录并根据需要进行了编辑,一切都已为下一步做好准备。

步骤 3. 备份 DNS 记录

出于备份目的,最好将所有 DNS 记录导出到 CSV 文件。如果记录被删除并且您必须在 Windows DNS 中添加记录,您可以轻松地在 CSV 文件中查找该记录。

运行以下 PowerShell 脚本将所有 DNS 服务器区域记录保存到 CSV 文件。

$dnsRecords = @()
$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 }
        }
        $dnsRecords += [pscustomobject]@{
            Name       = $zone.ZoneName
            Hostname   = $info.Hostname
            Type       = $info.RecordType
            Data       = $recordData
            Timestamp  = $timestamp
            TimeToLive = $timetolive
        }
    }
}
$dnsRecords | Export-Csv "C:\temp\AllDNSZonesRecords.csv" -NoTypeInformation -Encoding utf8

步骤 4. 启用 DNS 老化

  1. 转到要启用 DNS 老化和清理的区域

  2. 右键单击区域

  3. 点击属性

[玩转系统] 如何在 Active Directory 中设置 DNS 老化和清理

  1. 在常规选项卡上,单击老化

[玩转系统] 如何在 Active Directory 中设置 DNS 老化和清理

  1. 启用清除陈旧资源记录

  2. 指定无刷新间隔

  3. 指定刷新间隔

注意:要了解两个间隔的设置时间,请检查您的 DHCP 租约并将其除以二。如果数量不均匀,请将无刷新间隔设置为低于刷新间隔。

例如,如果您的 DHCP 租约为 8 天,您希望将无刷新间隔和刷新间隔设置为 4 天。如果您的 DHCP 租约为 7 天,您需要将无刷新设置为 3 天,将刷新间隔设置为 4 天

  1. 确定两次

[玩转系统] 如何在 Active Directory 中设置 DNS 老化和清理

步骤 5. 启用 DNS 清理

  1. 右键单击 DNS 服务器

  2. 点击属性

[玩转系统] 如何在 Active Directory 中设置 DNS 老化和清理

  1. 转到高级选项卡

  2. 选中复选框启用自动清理过时记录

  3. 保持7天

  4. 单击确定

[玩转系统] 如何在 Active Directory 中设置 DNS 老化和清理

就是这样!

阅读更多内容:如何删除(降级)域控制器 »

结论

您学习了如何在 Active Directory 中配置 DNS 老化和清理。这是一项出色的 DNS 功能设置,因此它将清理 DNS 中旧的和未使用的记录。请记住,只有动态 IP 地址才会被删除(如果适用),而静态 IP 地址不会被删除。这是您必须手动执行的操作,或者使用 Remove-DNSRecords PowerShell 脚本自动执行任务。

您喜欢这篇文章吗?您可能还喜欢更改 Windows Server 中 DNS 记录的 TTL。不要忘记关注我们并分享这篇文章。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯