如何在 Windows 中啟用或停用 DNS 更新

本文討論如何在 Windows 中停用 DNS 更新。 根據預設,用戶端計算機已啟用 DNS 更新。

適用於:Windows 10、Windows Server 2012 R2、Windows Server 2016、Windows Server 2019
原始 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 用戶端服務會執行網路適配器的 DNS 更新,不論配接器是使用 DHCP 設定,還是使用手動或靜態方法來設定。 本節說明如何啟用和停用下列查閱註冊:

  • 所有適配卡的正向和反轉
  • 所有適配卡的反向
  • 每個配接器的進階 TCP/IP 屬性控制件
  • 每個配接器的正向和反轉
  • 每個配接器的反向
  • 其他設定

所有適配卡的正向和反轉

若要停用轉送 (資源記錄) 和反轉 (PTR 資源記錄) DHCP 用戶端服務為所有適配卡執行的註冊,請使用下列登錄子機碼:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DisableDynamicUpdate

範圍:0 - 1
預設值:0

注意事項

當此登錄值設定為 1 時,位於每個網路介面 TCP/IP 進階屬性之 [DNS] 索引標籤上的 [在 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。

所有適配卡的反向

當您想要向前查閱 (資源記錄) 註冊,但不要 (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 主機名的 A 和 PTR 資源記錄,並針對下列完整功能變數名稱 (FQDN) :主機名。 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 位址數目,或邏輯上為多重主機的 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 用戶端會以自己的IP位址的 A 資源記錄覆寫現有的 A 資源記錄。
1 DNS 用戶端會退出註冊程式。 不會將錯誤寫入 事件檢視器 記錄檔。

Windows 不會將此專案新增至登錄。 您可以藉由編輯登錄或使用編輯登錄的程式來新增它。

若要讓此值的變更生效,您必須重新啟動 Windows。

DNS 伺服器服務

如果服務是特定名稱的授權 (SOA) ,DNS 伺服器服務會註冊主機名 服務正在接聽之所有適配卡的資源記錄。

當執行 DNS 伺服器服務的伺服器有多個適配卡時,可以自動發佈不需要的位址。 常見的案例包括已中斷連線或未使用的網路適配器,這些網路適配器會發佈 AutoNet 位址,以及發佈無法連線位址的 DMZ (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 登入服務

根據預設,Net Logon 服務會每小時註冊特定 SRV、CNAME 和 A 資源記錄,即使部分或所有記錄都已在 DNS 中正確註冊也一樣。 Net Logon 服務嘗試註冊的記錄清單會儲存在 %systemroot%\System32\Config\Netlogon.dns 檔案中。 此記錄檔會列出必須為此域控制器註冊的記錄。

Net Logon 服務不會提供機制來控制它根據每個適配器執行的註冊。 本節說明如何啟用和停用下列專案:

  • 所有註冊
  • 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 更新。 Netlogon.dns 檔案中指定的記錄必須在 DNS 中手動註冊。
1 Net Logon 服務會使用 DNS 更新來註冊識別此域控制器的名稱。

如果您的 DNS 伺服器不支援 DNS 更新,或是移除與定期註冊 Net Logon 服務 DNS 記錄相關聯的網路流量,您可能會停用 Net Logon 服務的 DNS 更新使用。

此專案僅在域控制器上受到支援。 Windows 不會將此專案新增至登錄。 您可以藉由編輯登錄或使用編輯登錄的程式來新增它。

若要讓此值的變更生效,請刪除 %systemroot%\System32\Config\netlogon.dnb 檔案,然後重新啟動 Net Logon 服務。

Net Logon 服務 A 註冊

根據預設,域控制器上的 Net Logon 服務會每小時註冊 SRV、網域 A 和全域編錄 A 資源記錄。 SRV 記錄會對應至 FQDN,而資源記錄會對應至 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 因為無法更新 A 資源記錄而未完成更新,您可能會將此值設定為 0。 當更新嘗試失敗時,DNS 會停止更新。

Windows 不會將此專案新增至登錄。 您可以藉由編輯登錄或使用編輯登錄的程式來新增它。

若要讓此值的變更生效,您必須重新啟動 Net Logon 服務。

遠端存取用戶端

To configure individual Remote Access Service connection settings, use Advanced TCP/IP properties, as in the "Per adapter - advanced TCP/IP properties controls" section.

如何在 Windows 中停用 DNS 更新

根據預設,執行 Windows 的用戶端電腦會啟用 DNS 更新。 若要停用所有網路介面的域名系統 (DNS) 動態更新通訊協議註冊,請使用下列其中一種方法:

方法 1

  1. 依序按一下 [開始] 和 [執行],輸入 regedit,然後按一下 [確定]

  2. 找出並按一下下列登錄子機碼:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  3. [編輯] 功能表中,指向 [新增],然後按一下 [DWORD 值]

  4. 輸入 roles,然後按下 ENTER。

  5. 在 [編輯 DWORD 值] 對話方塊的 [值資料] 方塊中輸入 1,然後按兩下 [確定]

    注意事項

    根據預設,DNS 更新會 (0) 啟用。

  6. 結束登錄 編輯器

方法 2

  1. 依序按一下 [開始] 和 [執行],輸入 regedit,然後按一下 [確定]

  2. 找出並按一下下列登錄子機碼:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Dnscache\Parameters

  3. 在 [ 編輯] 功能表上,指向 [ 新增],單擊 [DWORD 值],然後輸入 RegistrationEnabled

  4. 以滑鼠右鍵按兩下 RegistrationEnabled,按兩下 [修改],在 [值數據] 方塊中輸入 0,然後按兩下 [確定]

  5. 結束登錄 編輯器

如需如何設定 DNS 動態更新以及如何整合 DNS 更新與 DHCP 的詳細資訊,請參閱 如何在 Windows Server 中設定 DNS 動態更新