我有一个运行 DNS 和 DHCP 服务器的 Windows 2012 域控制器。默认设置似乎是仅在 DHCP 客户端请求时动态更新 DNS A 和 PTR 记录。
(这在Scope Properties
->下DNS
)
选择是否有缺点始终动态更新 DNS A 和 PTR 记录?
那和动态更新不请求更新的 DHCP 客户端的 DNS A 和 PTR 记录(例如,运行 Windows NT 4.0 的客户端)?
答案1
选择始终动态更新 DNS A 和 PTR 记录有什么缺点吗?
这取决于你想做什么。
默认情况下,Windows 机器将直接与 DNS 对话并更新其自己的A
记录,并要求 DHCP 更新PTR
记录。
通过启用始终动态更新 DNSA
和PTR
记录您告诉 DHCP 更新这两条记录,即使客户端只要求它更新PTR
。
这与“...对于不请求更新的 DHCP 客户端...”有什么区别?
NT 4.0 的示例如今已不再那么重要,因此请考虑具有 Windows 和 Mac(或 Linux)客户端的混合环境。
Windows 机器处理其动态 DNS 更新(或者它们要求 DHCP 这样做)。
但 Mac/Linux 客户端则不然。此选项允许 DHCP 为这些没有或无法请求动态 DNS 更新的机器创建记录。
需要考虑的一些事项:
- 您应该为 DHCP 创建一个专用的、非特权的 AD 用户帐户,以用于动态 DNS 更新,并将其添加到 DnsUpdateProxy 组(如果 DHCP 在域控制器上运行时,这一点尤其重要)。
- 即使您设置了保留,DHCP 也始终会注册客户端报告的名称。如果客户端报告的名称与您在保留中设置的名称不同,则保留的名称将被覆盖。
- 通过 DHCP 设置的动态 DNS 记录将带有时间戳。您应该正确设置 DNS 清理以删除这些记录,即使您已将 DHCP 设置为在租约到期时删除记录(最好启用此功能,但很多情况下不会发生这种情况)。
答案2
关于 DnsUpdateProxy 组的使用,我的理解是只有 DHCP 服务器才应该是该组的成员,而不是动态 DNS 更新用户。用户帐户应该添加到 DHCP 服务器配置中,而不是添加到 DnsUpdateProxy 组。
DnsUpdateProxy 组适用于 DNS 客户端。用户不是客户端,它是客户端(DHCP 服务器)在仅启用安全更新时用于对 DNS 进行动态更新的一种机制。客户端仍为 DHCP 服务器。
当 DHCP 服务器位于 DC 上时,除了使服务器成为组成员并将用户添加到 DHCP 配置之外,您还需要将 OpenACLOnProxyUpdates 设置为关闭。如果您不这样做,您将增加漏洞,因为 DnsUpdateProxy 组的成员身份赋予了 DNS 记录过多的权限。
一些学派认为,DC 上的 DHCP 不应成为 DnsUpdateProxy 的成员,而应仅将 DNS 更新用户分配给 DHCP。对于较旧的 Windows Server 来说,这可能是正确的,但对于 2012R2 及更高版本,我从技术文档中得到的感觉是,服务器仍应位于 DnsUpdateProxy 组中,但由于是 DC,该组成员的权限会暴露漏洞。
因此,如果您在启用了安全动态 DNS 更新的 DC 上启用了 DHCP,则还应该在运行 DHCP 的 DC 上运行此命令,这样其 DNS 将不允许“外部”更新更改 DHCP 拥有的记录:
dnscmd /配置/OpenAclOnProxyUpdates 0
底线 - DnsUpdateProxy 组不适用于任何用户对象 - 它只应用于 DHCP 服务器对象(DHCP 客户端),主要用于在非 DC 服务器上拥有 DHCP 服务器的“最佳实践”,以赋予动态更新 DNS 所需的权限。将安全更新用户添加到该组毫无意义。