本文列出了 DNS 记录未显示在 DNS 区域中的问题的原因。
原始 KB 数: 2985877
现象
已成功注册的 DNS 记录不再存在于 DNS 区域中。
原因
存在多个根本原因,下表中列出了这些原因:
原因 | 问题 | 摘要 |
---|---|---|
1 | DNS 清理配置错误。 | 一个或多个 DNS 服务器上的 Scaveng 功能配置为具有过于激进的设置,并且过早地删除 AD 集成的 DNS 区域的 DNS 记录。 |
2 | DNS 区域在 Active Directory 中存在 CNF 或冲突。 | 表示 Active Directory 中 DNS 区域的容器已成为 CNF 或冲突管理。 它被另一个容器替换,该容器可能首先为空或包含区域上一实例中包含的记录的子集。 |
3 | 在组策略对象(GPO)中定义的 DnsAvoidRegisterRecord。 | 如果使用 DC 组策略设置未注册的 DC 定位符 DNS 记录排除 SRV 记录注册,则存在代码缺陷。 它修改注册表子项下的 hklm\software\policies\microsoft\netlogon\parameters DnsAvoidRegisterRecords 注册表设置。 |
4 | Windows Server 2008 区域传输删除 bug。 | 该 bug 导致记录在区域传输后从 Windows Server 2008 DNS 服务器的次要区域中删除。 |
5 | 更改 IP 地址时,将删除主机“A”记录。 它发生在 Windows Vista、Windows Server 2008、Windows 7 或 Windows Server 2008 R2 中。 | 当 DNS 服务器 IP 发生更改时,计时 bug 会导致主机“A”记录的过早删除。 |
6 | 在主机“AAAA”注册期间配置了选项 81 取消注册主机“A”记录的 DHCP 客户端。 | 基于 Windows 7 和 Windows Server 2008 R2 的计算机接收 DHCP 分配的地址在 DHCP 服务器上定义了选项 81。 在“AAAA”记录注册期间取消注册主机“A”记录。 |
7 | 除非安装了KB2520155,否则更改 DNS 服务器 IP 时导致计时问题。 | 更改同一客户端上的 DNS 服务器 IP 地址后,将删除 DNS 客户端的 DNS 主机记录。 |
8 | 记录注册失败会使记录容易受到清理过程的影响。 | 现有记录的 DNS 动态更新协议更新失败。 因此,记录时间戳不会更新。 它使记录容易受到正确配置的 DNS Scavenging 进程删除。 |
9 | 当给定的 Windows 客户端动态租约更改为预留时,将删除 DNS 记录。 | DHCP 服务器会删除当前由已启用 DHCP 的 Windows 客户端注册的 DNS 记录。 当客户端的动态租约转换为预留时,将删除,并启用以下设置:
|
解决方法
原因 1:DNS 清理配置错误
当 DNS 记录从 DNS 区域丢失时,清理是最常见的罪魁祸首。 即使是具有静态分配服务器的计算机也每隔 24 小时注册一次基于 Windows 的计算机。 验证 NoRefresh 和刷新间隔是否太低。 例如,如果这些值都小于 24 小时,则你将丢失 DNS 记录。
TechNet: 使用 DNS 老化和清理
原因 2:DNS 区域为 CNF 或在 Active Directory 中发生冲突
除了例外,Active Directory 允许任何域控制器在可写目录分区中创建对象。 当两个域控制器在复制窗口中创建相同的对象或容器时,目录会应用冲突解决逻辑来确定:
- 应保留哪个对象。
- 应隔离的对象。
当对象复制导致名称冲突(两个对象在同一容器中具有相同名称或具有相同容器名称)时,目录会自动重命名其中一个对象,使其具有唯一名称。 具体而言,“*CNF:<GUID>”字符串将追加到所创建对象的 DN 路径。 最后一个编写器域控制器创建的实例保持不变。
如果表示 DNS 区域(或从属容器)的容器变得冲突混乱,则表示 DNS 区域的更完整副本的容器可以用相同名称(起初)的容器替换,该名称小于完整甚至为空。
确定区域的副本应保留。 删除区域的错误副本,这可能是非 CNF 管理 DN 路径的副本。 根据需要重命名区域 CNF 管理的副本。 然后重启 DNS 服务器服务或重新加载区域。
原因 3:GPO 中定义的 DnsAvoidRegisterRecord
原因 3 与使用 GPO 中的 DnsAvoidRegisterRecords 设置排除 SRV 记录的代码缺陷相关。 以 Windows 客户端为目标的 DNS 服务器每五分钟接收一次记录更新。 dnsRecord 上的时间戳和版本号不断增加。 SRV 记录存储在 dnsRecord 属性中,这是一个非链接的多值属性。 接收错误更新的域控制器或 DNS 服务器始终会赢得冲突解决。 某些更新丢失,而其他已删除的记录则神秘地恢复。
与大规模重启相关的 SRV 记录丢失与非链接多值属性上的最后写入者获胜行为存在相同的问题。 但是,由 GPO 引起的版本变动不会转到注册的来源。 大量域控制器的大规模重启是并发注册的原因。 某些管理员通过降低 SRV 注册窗口来解决此问题。
解决此问题的一个好解决方案是,在域控制器上将 DNS 客户端点现成 DNS 服务器地址配置为名称解析的主要地址。 为每个区域指定本地中心 DNS 服务器,并让该区域中的所有 DNS 服务器指向一个 DNS 服务器。 hublet DNS 服务器都指向分层中心辐射模型中的单个 DNS 服务器。 所有 DNS 服务器都可以将自身作为辅助服务器,但不能指向主服务器。 由于Windows 更新触发的重启通常发生在 03:00,只要每个时区只有一个 hublet DNS 服务器,就永远不会遇到此问题。
检查包含缺失记录的 dnsNode 对象上的 Active Directory 对象版本。 如果数量很大,可能是你的问题。 一种可能性是将 SRV 记录的排除移动到本地策略,以停止常量取消注册。
但是,新行为存在问题。 在新行为中,SRV 记录仅删除一次,特别是首次应用策略。 由于记录是非链接的多值属性,因此可能会出现以下情况:
多个域控制器在 Active Directory 覆盖区域之前删除不同 DNS 服务器上的 SRV 记录。
当基础属性完全聚合时,接收删除的最后一个 DNS 服务器是唯一保留的版本。 仅从 SRV 记录中删除了在该 DNS 服务器上删除的记录。 在其他 DNS 服务器上删除的 SRV 记录似乎又回来了。 在所有域控制器应用 GPO 且受影响的 SRV 记录完全融合后,可能需要手动清理。
原因 4:Windows Server 2008 区域传输删除 bug
此问题通过安装 Windows Server 2008 Service Pack 2 或 KB953317来解决。 此问题特定于托管 DNS 区域的 Windows Server 2008 DNS 区域。 在运行其他版本的 Windows 的计算机上安装 Microsoft DNS 服务器角色时,不会发生此情况。
原因 5:更改 IP 地址时删除主机“A”记录
假设你在 Windows Server 2008 或 Windows Server 2008 R2 上的 TCP/IP 网络堆栈上更改 DNS 服务器的 IP 地址。 然后重启计算机。 在这种情况下,在新配置的 DNS 服务器 IP 地址(Active Directory 集成 DNS)上注册主机 A 记录后,主机“A”记录的删除在原始 DNS 服务器上发生。 从用户的角度来看,依赖于名称解析的一切内容将中断。
在客户端上更改 DNS 服务器 IP 时,客户端会发送 SOA 更新,以从旧 DNS 服务器中删除其“A”记录。 它还发送另一个更新,以将其“A”记录注册到新的 DNS 服务器。
此 DCR 旨在减少过时主机“A”记录的数量。 Active Directory 集成区域中出现问题。
在客户端上更改 DNS 服务器 IP 时,会出现此问题。 更改后,客户端会将注册请求发送到新服务器,并删除对旧服务器的请求。 由于两台服务器都已同步,因此不会发生注册。 但删除操作发生在旧服务器中,然后由于 Active Directory,这两个服务器都会被删除。
原因 6:在主机“AAAA”注册期间配置了选项 81 取消注册主机“A”记录的 DHCP 客户端
如果定义了 Option 81 并且存在 ISATAP 或 6to4 接口,则会出现此问题。 DNS 动态更新协议更新错误地将 TTL 设置为 0,这会触发 IPv6 记录注册的记录删除。
原因 7:更改 DNS 服务器 IP 时导致计时问题,除非安装KB2520155
由于 DNS 客户端服务中存在问题,因此会发生此问题。 在客户端上更改 DNS 服务器配置信息时,DNS 客户端服务将从旧的 DNS 服务器中删除客户端的 DNS 主机记录。 然后,它将记录添加到新的 DNS 服务器。 DNS 记录存在于新服务器上,该服务器是同一域的一部分。 因此,记录不会更新。 但旧的 DNS 服务器将删除操作复制到新的 DNS 服务器和其他 DNS 服务器。 因此,新的 DNS 服务器将删除该记录,并在域中删除该记录。
在 Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2 计算机上安装KB2520155 。
原因 8:对现有记录的 DNS 动态更新协议更新失败,导致清理过程将其删除为过期记录
DNS 记录注册失败存在多个根本原因。
NETLOGON 事件 577X 事件记录为 NETLOGON 服务记录 SRV 记录的记录注册失败。
为主机 A 和 PTR 记录的注册失败记录记录其他事件。 检查系统日志中是否存在这些故障。 注册这些记录的客户端可能会记录此类事件。 或者,DHCP 服务器可能会记录这些服务器,这些服务器代表客户端注册记录。
原因 9:将活动动态租约转换为预留会删除该客户端的 A 和 PTR 记录
此行为是特意这样设计的。 DNS 记录(A 记录/PTR)将在客户端的下一个 DHCP 续订请求期间自动更新。