尽管日志表明 DHCP 实际上并未更新 DNS

尽管日志表明 DHCP 实际上并未更新 DNS

这个问题是对上一个问题的后续:DHCP 无法更新 DNS

我们有一台 Windows Server 2003 SP2 计算机,它是域控制器、DNS 服务器和 DHCP 服务器。我们的 DHCP 审计日志中充满了事件 ID 错误代码 31:“DNS 更新失败”。通过创建反向 DNS 区域解决了该问题。之后,我们在 DHCP 审计日志中收到代码 32。例如:

32,07/06/09,08:24:40,DNS 更新成功,10.0.1.55,COMPUTER01.ssx.local,,

但是,如果我查看 DNS,“COMPUTER01.ssx.local”的条目不是 10.0.1.55,而是其他 IP 地址。

我再次检查了 DHCP 审计日志以及 DNS 事件日志和其他系统日志。没有错误表明 DNS 为何未实际更新。我不确定为什么 DHCP 日志会指示 DNS 更新成功,而实际 DNS 并未更新。

对于这里发生的事情有什么想法吗?

答案1

默认情况下,对于 Windows 2000+ 客户端计算机,DHCP 服务器只会更新“PTR”记录。以下是 Microsoft 的一篇文章,其中描述了其 DHCP 服务器的动态 DNS 过程:http://technet.microsoft.com/en-us/library/cc787034(WS.10).aspx

W2K 及更高版本的常规行为是客户端请求 DHCP 服务器代表客户端注册 PTR 记录,然后客户端自行注册 A 记录。DHCP 服务器可以注册 A 记录和 PTR 记录(包括无法自行进行 DDNS 注册的 Windows 2000 之前的客户端)。

要更改客户端计算机在 DNS 注册中的行为,请查看计算机配置的管理模板节点的网络子节点下的 DNS 客户端节点中的组策略。在那里,您会发现您可以强制客户端注册其 PTR 记录,而不是由 DHCP 服务器完成(如果您愿意),并且您可以在客户端注册的记录上设置 TTL。

要更改 DHCP 服务器计算机的行为以使其注册“A”记录,您可以更改 DHCP 服务器“属性”的“DNS”选项卡或 DHCP 范围上的设置。如果您已经完成此操作并将其设置为例如“始终动态更新 DNS A 和 PTR 记录”,则 DHCP 服务器应该会修改“A”记录和“PTR”记录。

因此,除非您使用该设置更改客户端计算机或 DHCP 服务器的行为,否则客户端计算机应该对其“A”记录进行更新。(这看起来就是您在问题中检查的内容——COMPUTER01.ssx.local 的“A”记录。)

如果客户端应该进行自己的更新,请在客户端上运行“ipconfig /registerdns”后,查看未正确更新的客户端之一的应用程序事件日志。

我的直觉告诉我,由于您使用的是“Active-Directory 集成”DNS 区域,并且启用了安全动态更新,因此客户端在更新其“A”记录时可能会遇到权限问题。(您可以通过查看 DNS 管理 MMC 管理单元中记录的“属性”来查看每个“A”记录上的 ACL。)客户端上的事件日志将告诉您更多信息。

相关内容