本文讨论如何在 Windows 中禁用 DNS 更新。 默认情况下,客户端计算机已启用 DNS 更新。
原始 KB 数: 246804
总结
Windows 支持每个 RFC 2136 的域名系统(DNS)更新。 默认情况下,为 Windows DNS 客户端启用此行为。
根据在特定计算机上运行的配置和服务,不同的组件执行 DNS 更新。 没有集中方式(例如工具或注册表项)来管理所有组件的 DNS 更新行为。 本文介绍每个组件以及如何修改该特定组件的行为。
本文还讨论了如何在 Windows 中禁用 DNS 更新。 默认情况下,运行 Windows Server 的计算机已启用 DNS 更新。
简介
以下组件执行 DNS 更新:
- 动态主机配置协议 (DHCP) 客户端服务
这些更新适用于所有基于 Windows 的计算机。 - DNS 服务器服务
这些更新适用于基于 Windows 的 DNS 服务器。 - Net Logon 服务
这些更新适用于基于 Windows 的域控制器。 - 远程访问客户端
这些更新适用于基于 Windows 的远程访问客户端。 - DNS 客户端
这些更新适用于基于 Windows 的 DNS 客户端。
注意
通过修改本文中列出的注册表项来更改其中一个组件后,必须停止并重启受影响的服务。 有时,必须重新启动计算机。 这些实例已指出。
DHCP 客户端服务
重要
此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,按以下步骤操作时请务必谨慎。 作为额外保护措施,请在修改注册表之前先将其备份。 如果之后出现问题,您就可以还原注册表。 有关详细信息,请参阅 如何在 Windows 中备份和还原注册表。
无论适配器是使用 DHCP 还是手动或静态方法配置适配器,DHCP 客户端服务都会对网络适配器执行 DNS 更新。 本部分介绍如何启用和禁用以下查找注册:
- 所有适配器的正向和反向
- 所有适配器的反向
- 每个适配器的高级 TCP/IP 属性控制
- 每个适配器向前和反向
- 每个适配器反向
- 其他设置
所有适配器的正向和反向
若要禁用 DHCP 客户端服务对所有适配器执行的转发(A 资源记录)和反向(PTR 资源记录)注册,请使用以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DisableDynamicUpdate
范围:0 - 1
默认值:0
注意
当此注册表值设置为 1 时,“在 DNS 中注册此连接的地址”复选框(位于每个网络接口的 TCP/IP 高级属性的 DNS 选项卡上)将不会受到影响。 如果在启用策略之前选中了该复选框,则启用策略后仍会选中该复选框。 策略创建的注册表设置是影响所有接口的全局设置,而不是特定于适配器的设置。 此全局设置不会显示在数据类型REG_DWORD中。
此密钥禁用此计算机上的所有适配器的 DNS 更新注册。 通过 DNS 更新,每当发生地址更改时,DNS 客户端计算机都会自动注册和更新其资源记录。
值 | 含义 |
---|---|
0 | 启用 DNS 更新注册 |
1 | 禁用 DNS 更新注册 |
注意
若要使 DNS 更新在任何适配器上运行,必须在系统级别和适配器级别启用 DNS 更新。 若要禁用特定适配器的 DNS 更新,请将 DisableDynamicUpdate 值添加到接口名称注册表子项,并将其值设置为 1。 若要在计算机中的所有适配器上禁用 DNS 更新,请将 DisableDynamicUpdate 值添加到以下子项,然后将其值设置为 1:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
将此注册表值设置为 1 时, “在 DNS 中注册此连接的地址”复选框不会反映对此注册表项所做的更改。 (此复选框位于每个网络接口的 TCP/IP 高级属性的 DNS 选项卡。如果在注册表更改之前选中了该复选框,此注册表更改后将保持选中状态。 此注册表设置不是特定于适配器的设置,而是影响所有接口的全局设置。 用户界面中不会显示此全局设置。
Windows 不会将此项添加到注册表。 可以通过编辑注册表或使用编辑注册表的程序来添加它。
若要使此值的更改生效,必须重启 Windows。
所有适配器的反向
如果想要向前查找(A 资源记录)注册,但不希望反向查找(PTR 资源记录)注册,请使用以下注册表子项来禁用 PTR 资源记录的注册:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DisableReverseAddressRegistrations
数据类型:REG_DWORD
范围:0 - 1
默认值:0
此密钥禁用此 DNS 客户端对 PTR 资源记录的 DNS 更新注册。 PTR 资源记录将 IP 地址与计算机名称相关联。 此条目适用于无法或未配置为执行 DNS 更新的主 DNS 服务器(对于反向查找区域具有权威性)的企业。 它减少了不必要的网络流量,并阻止记录失败尝试注册 PTR 资源记录的事件日志错误。
值 | 含义 |
---|---|
0 | 注册 PTR 资源记录 |
1 | 不注册 PTR 资源记录 |
注意
Windows 不会将此项添加到注册表。 可以通过编辑注册表或使用编辑注册表的程序来添加它。
若要使此值的更改生效,必须重启 Windows。
每个适配器的高级 TCP/IP 属性控制
可以使用 DNS 选项卡上的以下特定于适配器的高级 TCP/IP 设置 更改每个适配器执行的 DNS 注册:
- 此连接的 DNS 后缀
- 在 DNS 中注册此连接的地址
- 在 DNS 注册中使用此连接的 DNS 后缀
DNS 默认设置中的 注册此连接的地址会注册此适配器上配置的第一个 IP 地址的 A 和 PTR 资源记录。 清除此复选框,使 DHCP 客户端服务无法为此适配器注册 A 和 PTR 资源记录。
默认情况下, 清除 DNS 注册 设置中的“使用此连接的 DNS 后缀”。 每台计算机都有一个主 DNS 后缀。 使用 ipconfig /all 命令查看此后缀。
此外,每个适配器还可以具有单独配置的 DNS 后缀。 可以手动配置特定于适配器的 DNS 后缀,也可以使用 DHCP 选项 15 作为 DHCP 租约过程的一部分进行配置。
选中此复选框可让 DHCP 客户端服务为 PrimaryDnsSuffix 主机名以及以下完全限定的域名(FQDN):主机名注册 A 和 PTR 资源记录。 dns_suffix_for_this_adapter
每个适配器向前和反向
若要禁用 DHCP 客户端服务为特定适配器执行的 A 和 PTR 资源记录注册,请使用以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<Interface name>\DisableDynamicUpdate
数据类型:REG_DWORD
范围:0 - 1
默认值:0
这会禁用此适配器上的 DNS 更新注册。 通过 DNS 更新,每当发生地址更改时,DNS 客户端计算机都会自动注册和更新其资源记录。
值 | 含义 |
---|---|
0 | 启用 DNS 更新注册 |
1 | 禁用 DNS 更新注册 |
注意
若要使 DNS 更新在任何适配器上运行,必须在系统级别和适配器级别启用它。 若要禁用特定适配器的 DNS 更新,请将 DisableDynamicUpdate 值添加到接口名称注册表子项,然后将其值设置为 1。 若要在计算机中的所有适配器上禁用 DNS 更新,请将 DisableDynamicUpdate 值添加到以下注册表子项,然后将其值设置为 1:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Windows 不会将此项添加到注册表。 可以通过编辑注册表或使用编辑注册表的程序来添加它。
若要使此值的更改生效,必须重启 Windows。
每个适配器反向
没有基于每个适配器禁用 PTR 资源记录注册的机制。
其他设置
本部分列出了 DHCP 客户端服务在与 DNS 更新相关的其他参数时使用的参数。
默认情况下,DNS 记录会每隔 24 小时动态和定期重新注册一次。 可以使用以下注册表子项修改更新间隔:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DefaultRegistrationRefreshInterval
数据类型:REG_DWORD
范围:0x0 - 0xFFFFFFFF秒
默认值:0x15180(86,400 秒 = 24 小时)
这指定 DNS 更新注册更新之间的时间间隔。 若要使此值的更改生效,必须重启 Windows。
用于动态注册的默认生存时间(TTL)值为 20 分钟。 可以使用以下注册表子项修改 TTL 值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DefaultRegistrationTTL
数据类型:REG_DWORD
范围:0x0 - 0xFFFFFFFF秒
默认值:0x4B0(1,200 秒 = 20 分钟)
范围:影响所有适配器
这指定 DNS 注册的 TTL。
Windows 不会将此项添加到注册表。 可以通过编辑注册表或使用编辑注册表的程序来添加它。
若要使此值的更改生效,必须重启 Windows。
默认情况下,仅动态注册第一个 IP 地址。 可以使用以下注册表项修改为配置了多个 IP 地址的适配器动态注册的 IP 地址数,或者逻辑上是多宿主的:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Adapters\<Interface name>\MaxNumberOfAddressesToRegister
数据类型:REG_DWORD
范围:0x0 - 0xFFFFFFFF
默认值:0x1
范围:仅影响此适配器
此设置确定可在 DNS 中为此适配器注册的最大 IP 地址数。
如果此项的值为 0,则无法为此适配器注册 IP 地址。
若要使此值的更改生效,必须重启 Windows。
默认情况下,会尝试非安全 DNS 注册。 可以使用以下注册表子项来修改此行为:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\UpdateSecurityLevel
数据类型:REG_DWORD
范围:0x0 |0x10 |0x100
默认值:0x0
范围:影响所有适配器
这决定了 DNS 客户端是使用安全动态更新还是标准动态更新。 Windows 支持动态更新和安全动态更新。 借助安全的动态更新,权威名称服务器仅接受来自已授权客户端和服务器的更新。
值 | 含义 |
---|---|
0 (0x0) | 仅在拒绝非安全动态更新时发送安全动态更新。 |
16 (0x10) | 仅发送非安全的动态更新。 |
256 (0x100) | 仅发送安全的动态更新。 |
Windows 不会将此项添加到注册表。 可以通过编辑注册表或使用编辑注册表的程序来添加它。
若要使此值的更改生效,必须重启 Windows。
默认情况下,DNS 客户端尝试将原始注册替换为将 DNS 名称关联到其自己的 IP 地址的记录。 可以使用以下注册表子项来修改此行为:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DisableReplaceAddressesInConflicts
数据类型:REG_DWORD
范围:0 - 1
默认值:0
范围:影响所有适配器
这可以防止 DNS 客户端在动态更新期间发现地址冲突时覆盖现有资源记录。 当 DNS 客户端发现现有 A 资源记录将其 DNS 名称与不同计算机的 IP 地址相关联时,会发生地址冲突。
默认情况下,DNS 客户端尝试将原始注册替换为将 DNS 名称关联到其自己的 IP 地址的记录。 但是,可以使用此条目将 DNS 定向回注册过程。 未记录事件查看器中的错误。
此条目专为不使用安全动态更新的区域而设计。 它可防止未经授权的用户更改客户端计算机的 IP 地址注册。
值 | 含义 |
---|---|
0 | DNS 客户端使用 A 资源记录覆盖其自己的 IP 地址的现有 A 资源记录。 |
1 | DNS 客户端退出注册过程。 不会将错误写入事件查看器日志。 |
Windows 不会将此项添加到注册表。 可以通过编辑注册表或使用编辑注册表的程序来添加它。
若要使此值的更改生效,必须重启 Windows。
DNS 服务器服务
如果服务具有特定名称的权威性(SOA),DNS 服务器服务将注册主机名 A 资源记录,该服务正在侦听的所有适配器。
当运行 DNS 服务器服务的服务器具有多个适配器时,可以自动发布不需要的地址。 常见方案包括发布 AutoNet 地址和发布不可访问地址的专用或外围网络(DMZ)接口的断开连接或未使用的网络适配器。
如果网络负载均衡服务安装在 DNS 服务器上,则 DNS 服务器服务将同时注册虚拟网络适配器地址和专用网络适配器地址。 DNS 服务器正在侦听的适配器可以使用 DNS 管理单元进行更改。 在 “服务器属性”中 ,单击“适配器 ”选项卡。
如果 DNS 服务器侦听和服务的 IP 地址列表与发布或 DNS 服务器服务注册的 IP 地址列表不同,请使用以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters\PublishAddresses
数据类型:REG_SZ
范围: <IP 地址> [<IP 地址>]
默认值:空白
此值指定要为计算机发布的 IP 地址。 DNS 服务器仅为此列表中的地址创建 A 资源记录。 如果此项未显示在注册表中,或者其值为空,则 DNS 服务器会为每个计算机的 IP 地址创建 A 资源记录。
此条目专为具有多个 IP 地址的计算机而设计。 使用此条目,只能发布可用地址的子集。 通常,此条目用于防止 DNS 服务器在计算机具有公司网络地址时返回专用网络地址以响应查询。
DNS 仅在启动时读取其注册表项。 可以使用 DNS 控制台更改 DNS 服务器运行时的条目。 如果通过编辑注册表更改条目,则在重新启动 DNS 服务器之前,更改才会生效。
DNS 服务器不会将此项添加到注册表。 可以通过编辑注册表或使用编辑注册表的程序来添加它。
Net Logon 服务
默认情况下,即使 DNS 中正确注册了某些 SRV、CNAME 和资源记录,Net Logon 服务也会每小时注册某些 SRV、CNAME 和 A 资源记录。 Net Logon 服务尝试注册的记录列表存储在 %systemroot%\System32\Config\Netlogon.dns 文件中。 此日志文件列出为此域控制器注册所需的记录。
Net Logon 服务不提供一种机制来控制每个适配器执行的注册。 本部分介绍如何启用和禁用以下项:
- 所有注册
- 净登录服务 A 注册
所有注册
若要禁用 Net Logon 服务执行的所有注册,请使用以下注册表子项。 (需要重启 Net Logon 服务,但首选重新启动计算机。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\UseDynamicDns
数据类型:REG_DWORD
范围:0 - 1
默认值:1
此值确定此域控制器上的 Net Logon 服务是否使用 DNS 更新。 Net Logon 服务可以使用 DNS 更新来注册标识域控制器的 DNS 名称。 每当授权区域服务器请求更新时,DNS 更新在区域的主服务器上提供区域数据的自动更新,例如 DNS 名称。 DNS 补充了添加和更改区域记录的静态手动方法。 动态更新协议在 RFC 2136 中定义。
值 | 含义 |
---|---|
0 | Net Logon 服务不使用 DNS 更新。 必须在 DNS 中手动注册 Netlogon.dns 文件中指定的记录。 |
1 | Net Logon 服务使用 DNS 更新注册标识此域控制器的名称。 |
如果 DNS 服务器不支持 DNS 更新,或者删除与网络登录服务的 DNS 记录定期注册关联的网络流量,则可以禁用 Net Logon 服务的 DNS 更新的使用。
仅域控制器支持此条目。 Windows 不会将此项添加到注册表。 可以通过编辑注册表或使用编辑注册表的程序来添加它。
若要有效更改此值,请删除 %systemroot%\System32\Config\netlogon.dnb 文件,然后重启 Net Logon 服务。
净登录服务 A 注册
默认情况下,域控制器上的 Net Logon 服务每小时注册 SRV、域 A 和全局目录 A 资源记录。 SRV 记录映射到 FQDN,A 资源记录映射到 IP 地址。
默认情况下,如果客户端将域名解析为无法访问的 IP 地址,则默认情况下,Net Logon 服务为所有适配器注册域 A 资源记录以及后续重新注册可能会有问题。
以下注册表子项启用或禁用域控制器的 Net Logon 服务注册 A 资源记录。 Windows 不需要域 A 资源记录,但它们已注册,以受益于不支持 SRV 记录的轻型目录访问协议 (LDAP) 实现。
此 RegisterDnsARecords 注册表值禁用由 Net Logon 服务执行的所有 A 资源记录注册。 这些记录包括gc._msdcs。DnsForestName 记录。 注册gc._msdcs。DnsForestName 记录是必需的,如果 RegisterDnsARecords 注册表值设置为禁用,则必须手动执行。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\RegisterDnsARecords
数据类型:REG_DWORD
范围:0 - 1
默认值:1
此值确定此域控制器是否注册域的 DNS A(IP 地址)记录。 如果此域控制器是全局目录资源,则此条目还确定域控制器是否注册全局目录 DNS A 资源记录。
值 | 含义 |
---|---|
0 | 不注册 DNS A 资源记录。 不支持 SRV 记录的 LDAP 实现将无法在此域控制器上找到 LDAP 服务器。 |
1 | 注册 DNS A 资源记录。 |
注意
仅当它出现在域控制器的注册表中时,才使用此条目。 如果 DNS 未完成更新,则可以将此值设置为 0,因为它无法更新 A 资源记录。 当更新尝试未成功时,DNS 将停止更新。
Windows 不会将此项添加到注册表。 可以通过编辑注册表或使用编辑注册表的程序来添加它。
若要使此值的更改生效,必须重启 Net Logon 服务。
远程访问客户端
若要配置单个远程访问服务连接设置,请使用高级 TCP/IP 属性,如“每个适配器 - 高级 TCP/IP 属性控制”部分中所示。
如何在 Windows 中禁用 DNS 更新
默认情况下,运行 Windows 的客户端计算机已启用 DNS 更新。 若要为所有网络接口禁用域名系统(DNS)动态更新协议注册,请使用以下方法之一:
方法 1
单击“开始”,再单击“运行”,键入“regedit& ”,然后单击“确定”。
找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
键入 connections,然后按 Enter。
在“编辑 DWORD 值”对话框中,在“值”数据框中键入 1,然后单击“确定”。
注意
默认情况下,DNS 更新处于启用状态(0)。
退出 注册表编辑器。
方法 2
单击“开始”,再单击“运行”,键入“regedit& ”,然后单击“确定”。
找到并单击以下注册表子项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Dnscache\Parameters
在 “编辑 ”菜单上,指向 “新建”,单击 “DWORD 值”,然后键入 RegistrationEnabled。
右键单击 RegistrationEnabled,单击“修改”,在“值”数据框中键入 0,然后单击“确定”。
退出 注册表编辑器。
有关如何配置 DNS 动态更新以及如何将 DNS 更新与 DHCP 集成的详细信息,请参阅 如何在 Windows Server 中配置 DNS 动态更新。