將 Windows DNS 整合到現有的 DNS 命名空間

本文說明如何將 Windows DNS 整合到已實作 DNS 命名空間的組織中,其中具有 Active Directory 網域名稱的區域授權 DNS 伺服器不支援 RFC 2136 (動態更新) 。

適用:Windows Server 2012 R2
原始 KB 編號: 255913

摘要

Windows 功能變數名稱系統 (DNS) 的其中一項功能,就是支援 RFC 2136) 中記載的動態主機更新 (。 若要利用這項功能,可以在沒有其他 DNS 伺服器的環境中部署 Windows DNS,也可以部署在已實作非動態 DNS 伺服器的環境中 (,例如 BIND 4.9.7 和更早版本等) 。 當您在已實作 BIND 伺服器的環境中部署 Windows DNS 時,您有數個整合選項:

  • 將區域從非動態授權 DNS 伺服器移轉至執行 Windows DNS 的伺服器。
  • 在父系 DNS 網域下委派子 DNS 網域。 對於名稱與區域根目錄不相同的 Active Directory 功能變數名稱,請將子域委派給 Windows DNS。 例如,如果 Active Directory 網域的名稱是 dev.reskit.com ,且包含此名稱的區域是 reskit.com,則委派 dev.reskit.com 給執行 DNS 的 Windows 伺服器。
  • 將域控制器所使用的每個子域 (DC) 定位器記錄, (SRV 記錄) 委派給 Windows 伺服器。 這些子域為 _msdcs.reskit.com_sites.reskit.com_tcp.reskit.com_udp.reskit.com。 此選項會用於 Active Directory 功能變數名稱 (例如 reskit.com ,) 與區域根目錄名稱相同 (例如 reskit.com ,) ,無法直接委派給執行 DNS 的 Windows 伺服器。 或者,用戶端可以是稱為的Active Directory網域成員,但可以在名為 reskit.comdynamic.reskit.comDNS 區域中註冊。

本文記載上述第四個選項,說明如何將 Windows DNS 整合到已實作 DNS 命名空間的組織中,其中具有 Active Directory 網域名稱的區域授權 DNS 伺服器不支援 RFC 2136 (動態更新) 。 本文也會討論當具有 Active Directory 網域名稱的區域 DNS 伺服器授權不支援動態 DNS 更新時,網域成員使用與 Active Directory 網域名稱不同的主要 DNS 後綴,以允許 Windows 計算機動態註冊 DNS 記錄的案例。

其他相關資訊

若要將 Windows DNS 整合到以非動態 DNS 伺服器為基礎的現有命名空間,您可以將定位器記錄所使用的子域委派 (SRV 記錄) ,以便根據 RFC 2136) 使用動態更新 (。 依照下列步驟執行:

  1. 在具有 Active Directory 網域名稱的區域授權的非動態 DNS 伺服器上,將下列區域委派給執行 DNS 的 Windows 2000 伺服器:

    _Udp。 DNSDomainName
    _Tcp。 DNSDomainName
    _網站。 DNSDomainName
    _msdcs。 DNSDomainName

    例如,如果根區域稱為 reskit.com,請將 、_tcp.reskit.com_sites.reskit.com_msdcs.reskit.com 委派_udp.reskit.com給以 Windows 為基礎的伺服器。

    您也必須委派兩個額外的子域:

    ForestDnsZones。 ForestDNSName
    DomainDnsZones。 DNSDomainName

  2. 在 Windows 伺服器上,建立在步驟 1 中委派的轉送區域,並啟用動態更新的區域。

    若要建立新的區域:

    1. 在 Windows 伺服器上啟動 DNS 管理員。

    2. 展開 DNS 管理員內的適當 DNS 伺服器。

    3. 以滑鼠右鍵按兩下 [正向對應區域] 資料夾,然後按兩下 [新增區域]。

    4. 當 [新增區域精靈] 啟動時,按兩下 [下一步],選取 [主要區域],然後選取 [在Active Directory 中儲存區域] 複選框,然後按 [下一步]。

    5. 針對AD整合區域,選取區域數據應移至何處、網域或樹系中的所有 DNS 伺服器,或選取至網域中的所有 DCS (Windows 2000) 中的僅限選項。

    6. 在名稱方塊中輸入區域的名稱。 例如,輸入 _msdcs.reskit.com。

    7. 按 [下一步]。 檢閱精靈的摘要之後,按兩下 [完成]。

    若要讓區域接受動態更新:

    1. 在執行 DNS 的 Windows 伺服器上使用 DNS 管理員,以滑鼠右鍵按兩下新區域,按兩下 [屬性],然後按兩下 [一般] 索引標籤。
    2. 在 [允許動態 匯報] 方塊中,按兩下 [僅限安全 匯報 (建議) 或 [是]。 只有當伺服器升級為域控制器之後,才能使用 [唯一安全 匯報] 選項。 重複此程式,直到步驟 1 中所述的所有四個區域都已建立並允許動態更新為止。 這可讓域控制器定位器記錄在 DNS 中動態註冊和取消註冊。
  3. 此外,您可以建立並設定單一區域或數個區域,以允許用戶端和伺服器以動態方式向 Windows 伺服器註冊自己。 例如,稱為的 dynamic.reskit.com 區域可用來透過動態更新來註冊網路上的所有客戶端和伺服器。 若要設定這類區域:

    1. 在對父區域具有權威性的非動態 DNS 伺服器上, (例如, reskit.com) ,將新區域委派給執行 DNS 的 Windows 伺服器。 例如,委派 dynamic.reskit.com。 Windows 伺服器的區域。
    2. 在 Windows 伺服器上,為上述 dynamic.reskit.com () 委派的區域建立正向對應區域。
    3. 在 Windows 伺服器上,啟用動態更新的區域 () 。
  4. 當 Windows 域控制器啟動時,Netlogon 服務會嘗試在授權區域中註冊數筆 SRV 記錄。 因為在步驟 1 和 2 中已將要註冊 SRV 記錄的區域委派 (,) Windows 伺服器進行動態更新,所以這些註冊將會成功。 此外,DC 會嘗試註冊 A 記錄 (的) 列在根區域 (的 Netlogon.dns 檔案中,例如 reskit.com) 。 在此情況下,因為根區域位於非動態 DNS 伺服器上,所以這些更新將不會成功。 DC 上的系統記錄檔中會產生下列事件:

    事件類型:警告
    事件來源:NETLOGON
    事件類別目錄:無
    事件標識碼:5773
    日期: <DateTime>
    時間: <DateTime>
    使用者:N/A
    計算機:DC
    描述:
    此 DC 的 DNS 伺服器不支援動態 DNS。 將檔案 %SystemRoot%\System32\Config\netlogon.dns 中的 DNS 記錄新增至 DNS 伺服器,以提供該檔案中參考的網域。

    若要更正此行為:

    1. 每個 Windows DC 都有 Netlogon.dns 檔案,位於其 %SystemRoot%\System32\Config 資料夾中。 此檔案包含 DNS 記錄清單,DC 會在 Netlogon 服務啟動時嘗試註冊這些記錄。 在進行下列變更之前,最好先建立此檔案的複本,以便您擁有DC嘗試向 DNS 伺服器註冊的原始記錄清單。 請注意,每個 DC 都會有不同的記錄,因為這些記錄是每個 DC 上每個網路適配器的特定記錄。 檢查 Netlogon.dns 檔案,以識別檔案中的所有 A 記錄。 您可以依照 「IN」 類別描述元後面的記錄類型來識別 A 記錄。 例如,下列兩個專案是 A 記錄:

      reskit.com. 600 IN A 10.10.10.10
      gc._msdcs.reskit.com. 600 IN A 10.10.10.10

      Netlogon.dns 檔案中的 A 記錄數目取決於 DC 擁有的適配卡數目、每個配接器已設定的 IP 位址數目,以及 DC 的角色。 DC 快取器:

      • 網域名稱的每個IP位址各有一筆 A 記錄。
      • 如果 DC 也是 GC) 伺服器 (全域編錄,則會註冊gc._msdcs。 其每個IP位址的 DnsForestName
    2. 由於非動態 DNS 伺服器不會接受域控制器嘗試以動態方式註冊 A 記錄,因此必須在本文範例中的授權 DNS 伺服器 (手動設定 A 記錄,區域的 DNS 伺服器授權 reskit.com) 。 例如,新增對應至網域名稱的 A 記錄 (Windows reskit.com 部署不需要) ,而且只有在不支援 SRV DNS 記錄的第三方 LDAP 用戶端搜尋 Windows DC 時才需要。

      在 Windows 伺服器上,在適當的區域中建立步驟 A 中識別的 GC 伺服器特定 A 記錄。 例如,在 _msdcs.reskit.com 區域中建立 GC 伺服器的 A 記錄。

      在具有區域根目錄授權的非動態 DNS 伺服器上,在根區域中建立 A 記錄 (例如, reskit.com) 步驟 A 中識別的非 GC 伺服器特定 A 記錄。例如,在區域中建立的 reskit.comreskit.com A 記錄。

    3. 下列登錄機碼應該用來停用DC,以防止嘗試註冊 Netlogon.dns 檔案中看到的 A 記錄。 將 REG_DWORD RegisterDnsARecords 值設定為 0 (零) 底下:

      HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

  5. 若要更正此行為:一旦您已備妥 Active Directory 樹系和網域,您應該整合 Active Directory 與執行 DNS 之 Windows 伺服器所負責的 DNS 網域。 此外,您應該重新設定已設定為接受動態更新的區域,只接受安全的動態更新。