我偶然发现 Windows 机器的一个奇怪行为,这似乎在从 Vista/2008 到 8.1/2012 R2 的所有 Windows 版本之间相当一致;而使用 Windows XP 或 Windows Server 2003 时则不会发生这种情况。
问题是这样的:当网络适配器配置为 DHCP 并且 DHCP 服务器没有代表其客户端注册 DNS 记录(因为它不能,或者因为它没有配置为这样做)时,那么正向 A 记录已注册,但反向 PTR 记录未注册。
更多细节:
- 正向和反向 DNS 区域均与 AD 集成并接受动态更新。
- 所有计算机都加入域。
- 所有计算机都使用正确的内部 DNS 服务器,无论是静态配置还是从 DHCP 获取配置。
- 网络适配器中启用了“在 DNS 中注册此连接的地址”。
- 当计算机具有静态 IP 地址时,一切都很好;正向和反向记录都会自动注册。
- 当同一台计算机配置了 DHCP 时,会注册正向记录,但不会注册反向记录。
- 所有操作系统版本 >= 6.0 的计算机都会发生这种情况,而且绝对与单台机器无关。
- 无论多少都
ipconfig /registerdns
不会改变任何事情。 - 没有任何地方记录任何错误。
为什么会发生这种情况?如何解决?
不,配置 DHCP 服务器来执行 DNS 注册在这里不是一个选项。
答案1
解决方案是检查Use this connection's DNS suffix in DNS registration
网络接口的 TCP/IP 设置:
虽然看起来很奇怪,但这是确保 Windows 为 DHCP 网络连接注册 A 和 PTR 记录的唯一解决方案;否则,它将只注册 A 记录。
答案2
几年前我遇到过同样的问题,以下组策略设置就是我解决它的方法。这可能有点过头了,但由于上述答案没有从组策略角度涵盖所有内容,因此这里就不多说了。
Computer Configuration\Administrative Templates\Network\DNS Client
- 连接特定的 DNS 后缀:已启用,并设置为 mydomain.org
- 使用连接特定的 DNS 后缀注册 DNS 记录:已启用
- 注册 PTR 记录:已启用
- 动态更新:已启用
答案3
Windows 2000 .. 将选项 81 及其完全限定域名发送到 DHCP 服务器,并请求 DHCP 服务器代表其注册指针资源记录 (PTR RR)。动态更新客户端注册地址资源记录 (A RR)。.. 可以配置 DHCP 服务器以指示客户端允许服务器向 DNS 注册这两个记录。
静态配置的(非 DHCP)客户端自己向 DNS 服务器注册 A RR 和 PTR RR。
文章还提到Changing registry entries changes the behavior of the dynamic update DNS client.
,因此可能存在注册表解决方法...
编辑:
根据下面 TheCleaner 链接的文章,我在评论中提到的 GPO 不会做你想做的事(是的,MS 和闭源软件)。但选中“在 DNS 中注册此连接的地址”和“在 DNS 注册中使用此连接的 DNS 后缀”复选框可以使其工作。我没有方便的测试环境来尝试它...
答案4
在 Windows 2008 及更高版本中,DHCP 范围中有一个选项,用于设置 DHCP 服务器以使用 DHCP 客户端的主机 (A) 和 PTR) 记录自动更新权威 DNS 服务器。您必须启用 DNS 动态更新并选择“始终动态更新 DNS A 和 PTR 记录,并在删除租约时丢弃 A 和 PTR 记录”选项。