The Cable GuyWindows Server 2008 的 DNS 增強功能
Joseph Davies
本文章是根據 Windows Server 2008 的搶鮮版所撰寫。本文包含的所有資訊均有可能變更。
打從 Windows NT 4.0 起,Microsoft 就在各個版本的 Windows Server 中納入網域名稱系統 (DNS) 伺服器服務。DNS 是一種階層架構的分散式資料庫,其中包含各種資料類型 (例如,IP 位址) 的 DNS 網域名稱對應。Windows Server 2008 中的 DNS 伺服器服務包含新的
幕後區域載入、增強的 IPv6 支援、唯讀網域控制站 (RODC),以及裝載全域單一標籤名稱的能力。
幕後區域載入
Windows Server® 2008 中的 DNS 伺服器服務可實作幕後區域載入,讓資料擷取更快速。過去,如果企業的區域包含位於 Active Directory® 中的大量記錄,要是 Windows Server 2003 中的 DNS 伺服器服務嘗試在重新啟動時從 Active Directory 擷取 DNS 資料的話,將會發生長達一小時或更久的延遲現象。在發生這些延遲的情況下,DNS 伺服器無法為其裝載的任何區域處理 DNS 用戶端要求。
為了解決這個問題,Windows Server 2008 中的 DNS 伺服器服務會在啟動後以幕後的方式從 Active Directory 擷取區域資料,以便回應來自其他區域的資料要求。當服務開始時,它會建立一或多個執行緒來載入儲存在 Active Directory 中的區域。由於載入 Active Directory 區域分別使用個別的執行緒,因此 DNS 伺服器服務可以在進行區域載入的同時回應查詢。如果 DNS 用戶端要求已經載入區域中的資料,DNS 伺服器便可適當作出回應。若是要求的是尚未完全擷取的區域中的資料,則 DNS 伺服器會從 Active Directory 中擷取指定資料。
在區域載入期間從 Active Directory 擷取特定資料的這種能力,比使用檔案儲存區域資訊更能提供額外的好處 — 也就是 DNS 伺服器服務可以立即回應要求。當區域是以檔案儲存時,服務必須循序讀取檔案,直到找到資料為止。
增強的 IPv6 支援
本專欄曾多次討論的 IPv6 是一套全新的網際網路標準通訊協定。IPv6 的目的在於解決當前版本 — IPv4 — 的許多問題,例如位址耗竭、安全性、自動設定和擴充性需求。
IPv6 的位址長度為 128 個位元,這點與 IPv4 不同,IPv4 位址只有 32 個位元。IPv6 位址是以冒號與十六進位的形式來表示。每個十六進位的數字都佔 IPv6 位址中的 4 個位元。完整表示的 IPv6 位址包含 8 節的 32 個十六進位數字,中間以冒號區隔。舉例來說,完整表示的 IPv6 位址可以是 FD91:2ADD:715A:2111:DD48:AB34:D07C:3914。
IPv6 位址的正向名稱解析會使用 IPv6 主機 DNS 記錄,也稱為 AAAA 記錄 (念法是「quad-A」)。在反向名稱解析方面,IPv6 使用 IP6.ARPA 網域,而 32 位數 IPv6 位址中的每個十六進位數字都逆向成為反向網域階層中的個別層級。舉例來說,位址 FD91:2ADD:715A:2111:DD48:AB34:D07C:3914 的反向查詢網域名稱為 4.1.9.3.C.7.0.D.4.3.B.A.8.4.D.D.1.1.1.2.A.5.1.7.D.D.A.2.1.9.D.F.IP6.ARPA。
Windows Server 2003 中的 DNS 伺服器服務支援 IPv6 的正向與逆向名稱解析;不過這項支援尚未完全整合。譬如說,若要在 Windows Server 2003 DNS 管理員嵌入式管理單元中建立 IPv6 位址記錄 (剛才提到的 AAAA 記錄),您必須在區域上按一下滑鼠右鍵,按一下 [新增其他記錄],然後按兩下 IPv6 主機 (AAAA) 以作為資源記錄類型。若要在 Windows Server 2008 的 DNS 管理員嵌入式管理單元中新增 AAAA 記錄,請在區域名稱上按一下滑鼠右鍵,然後按一下 [新增主機] (A 或 AAAA)。在 [新增主機] 對話方塊中,您可以輸入 IPv4 或 IPv6 位址。[圖 1] 顯示範例。
[圖 1]** [新增主機] 對話方塊 **
IPv6 支援增強的另一個例子是反向 IPv6 區域。若要在 Windows Server 2003 的 DNS 管理員嵌入式管理單元中建立反向對應區域,您必須在「新增區域精靈」的 [反向對應區域名稱] 頁面中手動輸入反向區域名稱。舉例來說,DNS 反向區域名稱可以是 1.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa (就 IPv6 子網路首碼 2001:db8:0:1::/64 來說,完整的表示為 2001:0db8:0000:0001::/64)。
Windows Server 2008 的 DNS 管理員嵌入式管理單元中的 IPv6 反向區域,現在已完全整合至「新增區域精靈」中。精靈中有一頁新的內容會提示您選取 IPv4 反向對應區域或 IPv6 反向對應區域。如果選取 IPv6 反向對應區域,您只需要輸入 IPv6 子網路首碼,精靈便會自動為您建立區域。[圖 2] 顯示範例。
[圖 2]** 命名 IPv6 反向查詢區域 **(按影像可放大)
反向區域的另一項增強功能在於 DNS 管理員嵌入式管理單元顯示 IPv6 指標 (PTR) 記錄的方式。[圖 3] 顯示 Windows Server 2003 的 DNS 管理員嵌入式管理單元如何顯示 PTR 記錄。
[圖 3]** Windows Server 2003 中 IPv6 的 PTR 記錄 **(按影像可放大)
雖然此顯示內容準確地反映出 IPv6 反向網域名稱的 DNS 命名空間結構,但會增加管理 IPv6 位址的 PTR 記錄的困難度。[圖 4] 顯示 Windows Server 2008 的 DNS 管理員嵌入式管理單元如何顯示 PTR 記錄。
[圖 4]** Windows Server 2008 中 IPv6 的 PTR 記錄 **(按影像可放大)
Windows Server 2003 中的 DNS 伺服器服務支援在 IPv6 上操作,但必須使用 dnscmd /config /EnableIPv6 1 命令來手動啟用此操作。相反地,Windows Server 2008 預設便支援在 IPv6 上操作。更新後的 Dnscmd.exe 命令列工具可在命令列選項中接受 IPv6 位址。不僅如此,DNS 伺服器服務現在還可以對 IPv6 專用伺服器傳送遞迴查詢,且伺服器轉寄者清單可以同時包含 IPv4 與 IPv6 位址。
如需有關 IPv6 的詳細資訊,以及 Windows® 如何支援 IPv6 的資訊,請參閱 microsoft.com/ipv6。
唯讀網域控制站支援
Windows Server 2008 也引進了 RODC,這是一種新的網域控制站類型,包含 Active Directory 資訊的唯讀複本,而且可以執行 Active Directory 功能,但無法直接設定。RODC 比較不容易遭受攻擊,也可以放置無保保障網域控制站實體安全性的地點,或是網路可能包含惡意主機的位置。
在 RODC 方面,Windows Server 2008 中的 DNS 伺服器服務支援新的主要唯讀區域類型。當電腦變成 RODC 時,它會取代 DNS 使用的所有應用程式目錄分割的完整唯讀複本,包括網域分割、ForestDNSZones 及 DomainDNSZones。這樣可確保在 RODC 上執行的 DNS 伺服器服務針對所有儲存在非 RODC 的網域控制站的目錄分割中的 DNS 區域,都有其完整唯讀複本。您可以檢視 RODC 上的主要唯讀區域內容,但不能變更這些內容。您必須在非 RODC 的網域控制站上變更區域內容。
GlobalNames 區域
使用 GlobalNames 區域進行名稱解析
部署 GlobalNames 區域之後,當 Windows Vista 架構的 DNS 用戶端嘗試解析某個單一標籤名稱時,它會將主要 DNS 尾碼附加到此單一標籤名稱,並提交名稱查詢要求到它的 DNS 伺服器。
如果找不到這個名稱,DNS 用戶端便會根據單一標籤名稱與其 DNS 尾碼搜尋清單 (若已設定的話) 中的尾碼組合來傳送其他名稱查詢要求。如果這些名稱都未解析,用戶端便會使用單一標籤名稱要求解析。
DNS 伺服器會在 GlobalNames 區域中搜尋單一標籤名稱。如果在此出現結果,DNS 伺服器會將解析的 IPv4 位址或 FQDN 送回 DNS 用戶端。否則,DNS 用戶端電腦會將名稱轉換成 NetBIOS 名稱,並使用 NetBIOS 名稱解析技巧,包括 WINS。在 GlobalNames 區域中啟用單一標籤名稱解析,並不需要變更 DNS 用戶端服務。
Windows Server 2008 和 Windows Vista® 支援 NetBIOS over TCP/IP (NetBT) 通訊協定。NetBT 使用 NetBIOS 名稱來識別工作階段層 NetBIOS 應用程式。雖然目前依賴 Windows 通訊端架構網路應用程式和 DNS 進行名稱解析的 Windows 版本,並不要求使用 WINS 進行 NetBIOS 名稱解析,但是許多 Microsoft 客戶都在自己的網路中部署 WINS 以支援舊版 NetBT 應用程式,並為組織中的單一標籤名稱提供名稱解析。單一標籤名稱通常是指組織所用的重要、知名且廣泛使用的伺服器,例如電子郵件伺服器、中央網頁伺服器,或是企業營運應用程式的伺服器。
為了能夠在組織中單獨使用 DNS 來解析這些單一標籤名稱,您可能需要新增 A 記錄到組織的多個 DNS 網域中,好讓 Windows 架構 DNS 用戶端解析名稱,而不必理會指定的 DNS 網域尾碼或尾碼搜尋清單。
打個比方,假設 contoso.com 組織具有名為 CWEB 的中央網頁伺服器,且它是 central.contoso.com 網域的成員。當 DNS 用戶端的 DNS 網域尾碼可以指派為 wcoast.contoso.com、central.contoso.com 或 ecoast.contoso.com 時,若要實作伺服器 CWEB 的單一標籤名稱,網路系統管理員必須同時為 cweb.wcoast.contoso.com 與 cweb.ecoast.contoso.com 建立兩個額外的 A 記錄。不過別忘了,當 IPv4 位址指派變更或加入新名稱時,必須維護手動建立的單一標籤名稱的 A 記錄。
如果 contoso.com 已經針對舊版 NetBT 應用程式使用 WINS,網路系統管理員可以藉由新增單一靜態 WINS 記錄到 WINS 基礎架構中,來實作單一標籤名稱 CWEB 的名稱解析。如果 IPv4 位址改變,就只需要變更單一靜態 WINS 記錄。因為單一標籤名稱在 WINS 上比較容易管理,因此很多 Windows 架構網路都使用靜態 WINS 記錄來處理單一標籤名稱。
為了在 DNS 上提供像靜態 WINS 記錄一樣容易管理的單一標籤名稱解決方案,Windows Server 2008 中的 DNS 伺服器服務支援一個名為 GlobalNames 的新區域來儲存單一標籤名稱。此區域的複寫領域通常是一個樹系,其中會提供整個 Active Directory 樹系中的單一標籤名稱解析。此外,當您使用服務位置 (SRV) 資源記錄來發佈 GlobalNames 區域的位置時,GlobalNames 區域還可以在包含多個樹系的整個組織中支援單一標籤名稱解析。
不同於 WINS,GlobalNames 區域旨在為有限的主機名稱集提供單一標籤名稱解析,這些主機名稱通常是由 IT 部門管理的中央及關鍵組織伺服器。GlobalNames 區域不適合用來儲存桌上型電腦名稱或 IPv4 位址可能變更的其他伺服器名稱,而且也絕不支援 DNS 動態更新。它最常用來保存別名 (CNAME) 資源記錄,以便對應單一標籤名稱與完整網域名稱 (FQDN)。針對目前使用 WINS 的網路,GlobalNames 區域通常包含受 IT 管理的名稱的資源記錄,而這些名稱已經在 WINS 中靜態設定了。
只有當所有授權 DNS 伺服器都執行 Windows Server 2008 時,GlobalNames 區域才會提供單一標籤名稱解析。不過,無任何區域授權的其他 DNS 伺服器可以執行舊版的 Windows 或其他作業系統。GlobalNames 區域必須是樹系中唯一的。
為了提供最大效能及延展性,GlobalNames 區域應該與 Active Directory 整合,而且您應該設定每部授權 DNS 伺服器並保留其本機複本。您必須這麼做才能支援在多個樹系上部署 GlobalNames 區域。
如需關於 Windows 的 DNS 支援以及部署 GlobalNames 區域的詳細資訊,請參閱下列 Microsoft DNS 網頁:microsoft.com/dns。
Joseph Davies 是 Microsoft 的技術文件作家,從 1992 年開始教導和編寫 Windows 網路方面的主題。他出過五本 Microsoft Press 的書,同時也是每個月線上 TechNet Cable Guy 專欄的作家。
© 2008 Microsoft Corporation and CMP Media, LLC. 保留所有權利;未經允許,嚴禁部分或全部複製.