配置 DNS 清理以清理 AD 中过时的 DNS 记录

Jacki

可以使用两个特殊的 Windows Server DNS 功能来自动清理 Active Directory 中的旧 DNS 记录:

  • DNS老化– 允许确定动态注册 DNS 记录的年龄(最后时间戳与当前时间之间的差异)
  • DNS 清理– 自动删除一段时间未更新(使用)的陈旧动态 DNS

Windows Server DNS 有两种类型的记录 –动态的静止的。动态记录有一个时间戳参数(最后更新 DNS 记录的时间)。活动 Windows 客户端会在启动时或每 24 小时更新其 DNS 记录中的时间戳。该参数允许 DNS 服务器识别长时间未更新且未使用的记录。

打开AD域控制器上的DNS服务器管理控制台(dnsmgmt.msc)并检查先进的选项中的看法菜单。

区域DNS记录中有静态记录和动态记录(时间戳中包含时间)。

静态 DNS 记录不会自动删除。此类 DNS 记录由管理员创建,或者如果删除这条记录,它们就会变得陈旧选项在其设置中被禁用。

仔细查看 DNS 区域中的动态条目。在任何不应自动删除的 DNS 记录的属性中禁用此选项。此类 DNS 记录的类型将更改为静止的

确保为所有服务器、网络设备、打印机、扫描仪和其他网络服务配置静态记录。

参见:如何以简单的方式全新安装 Windows 7

清理过程仅自动删除动态 DNS 记录。

默认情况下,Windows Server 中禁用自动清除过时 DNS 记录。

打开您的 DNS 区域属性并单击老化按钮上的一般的选项卡。

  1. 检查选项清除陈旧的资源记录
  2. 无刷新间隔参数设置 DNS 记录的时间戳不会更新的时间间隔(减少 DNS 服务器负载和 AD 复制)。但是,如果计算机的主机名已更改,则 DNS 记录将成功更新。
  3. 刷新间隔– 这是可以更新 DNS 记录时间戳的时间。

的值无刷新间隔应设置为 DHCP 服务器上设置的 IP 地址租用时间的一半。例如,如果DHCP服务器上的IP地址租用时间为12天,则此处输入6。在这种情况下,动态 DNS 记录将被视为已过时,并且将在 12 天不活动后被清理作业清除。

单击 DNS 服务器并选择为所有区域设置老化/清除,老化设置可以应用于域控制器上的所有主 DNS 区域。

目前,您仅为区域配置了 DNS 记录期限选项。除非您在 DNS 服务器设置中启用了自动清理功能,否则 DNS 记录不会被删除。

在首次开始清理 DNS 区域之前,我们建议您将 DNS 区域中的所有资源记录导出到 CSV 文件。这将允许您在必要时手动重新创建关键 DNS 记录:

Get-DnsServerResourceRecord -ZoneName 'contoso.com' | Select-Object hostname, timestamp, recordtype, @{Name="RecordData";Expression={$_.RecordData.ipv4address}}| Export-CSV -Csv "C:tempBackupDNSZoneContoso.csv" -NoTypeInformation

前往先进的DNS 服务器属性中的选项卡。

启用启用状态记录的自动清理选项并指定 DNS 记录被老化机制标记为过时后多少天应将其删除(默认为 7 天)。此后,Scavenging 机制将每天自动删除一次旧的 DNS 记录。

右键单击 DNS 服务器并选择清理陈旧的资源记录立即进行清理。或者运行命令:

Start-DnsServerScavenging -Verbose

可以使用 PowerShell 获取当前 DNS 服务器清理设置和上次清理时间:

Get-DnsServerScavenging

NoRefreshInterval : 7.00:00:00
RefreshInterval : 7.00:00:00
ScavengingInterval : 7.00:00:00
ScavengingState : False
LastScavengeTime : 4/2/2024 6:02:37 AM

大多数 AD 安装使用内置 DNS 区域,这些区域会在域控制器之间自动复制(此类区域没有经典的 PRIMARY DNS 服务器)。因此,您只需在其中一台域控制器(RODC 除外)上配置清理。如果删除或停用此类 DC,则必须在另一个域控制器上重复相同的配置。