文章編號: 832223 - 上次校閱: 2011年11月15日 - 版次: 1.0

在部署 Windows Server 2003 或 Windows Server 2008 R2 型的 DNS 伺服器之後,某些 DNS 名稱查詢會失敗

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
全部展開 | 全部摺疊

徵狀

在部署 Windows Server 2003 或 Windows Server 2008 R2 型的 DNS 伺服器之後,某些網域的 DNS 查詢可能會不順利解析。

發生的原因

之所以發生這個問題,是因為 DNS (EDNS0) 功能所支援的 Windows Server 2003 DNS 擴充機制。

EDNS0 允許較大的使用者資料包通訊協定 (UDP) 封包大小的使用。不過,有些防火牆程式可能不會允許 UDP 封包大於 512 個位元組。如此一來,這些 DNS 封包可能被防火牆封鎖。

解決方案

若要解決這個問題,更新防火牆程式,以辨識並允許 UDP 封包大於 512 個位元組。如需有關如何執行這項操作的詳細資訊,請連絡您的防火牆程式廠商。

如您的硬體製造商的相關資訊,請造訪下列網站:
http://support.microsoft.com/gp/vendors/en-us (http://support.microsoft.com/gp/vendors/en-us)
Microsoft 提供可協助您尋找技術支援的第三方連絡資訊。這份連絡資訊可能會變更恕不另行通知。Microsoft 不保證此第三方連絡資訊的正確性。

其他可行方案

若要解決這個問題,請關閉 Windows Server 2003 和 Windows 服務 2008 R2 DNS 伺服器上的 [EDNS0] 功能。若要這樣做,請遵循下列步驟:

Windows Server 2003 的
  1. 從 Windows Server 2003 支援工具安裝 Dnscmd.exe 程式。若要安裝 Windows 支援工具,以滑鼠右鍵按一下 Suptools.msi 在 Windows Server 2003 光碟片,然後按一下 [Support\Tools] 資料夾 安裝.在 Windows 支援工具安裝精靈 」,以完成 Windows 支援工具安裝步驟。
  2. 在命令提示字元中,輸入下列命令,並按 ENTER:
    dnscmd /config 0 /enableednsprobes
    附註 鍵入 0 (零),並不是字母"O"之後"enableednsprobes",在這個命令。

    會出現下列資訊:
    Registry property enableednsprobes successfully reset.
    Command completed successfully.
執行這個命令之後,Windows Server 2003 DNS 不會再通告它的 EDNS0 功能。如此一來,Windows Server 2003 DNS 伺服器將不會傳送大於 512 位元組的 UDP 封包。

為 Windows Server 2008 R2
  • 根據預設,Windows Server 2008 R2 DNS 伺服器上安裝 DNSCMD。在命令提示字元中,輸入下列命令,並按 ENTER:
    dnscmd /config 0 /enableednsprobes

    附註 0 (零),並不是字母"O"後面鍵入"enableednsprobes",在這個命令。

其他相關資訊

某些防火牆的某些功能來檢查特定的 DNS 封包的參數。這些防火牆功能可能會確定 DNS 回應小於 512 個位元組。如果您擷取的網路流量的不成功的 DNS 查詢時,您可能會發現 DNS 要求 EDNS0。與下列類似的畫面格會收到未收到回應:
Additional records
        <Root>: type OPT, class unknown
            Name: <Root>
            Type: EDNS0 option
            UDP payload size: 1280
在這個案例中,防火牆可能會卸除所有的 EDNS0 延伸 UDP 框架。

這篇文章中的資訊適用於:
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Datacenter without Hyper-V
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Enterprise without Hyper-V
  • Windows Server 2008 R2 Foundation
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 R2 Standard without Hyper-V
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
關鍵字:?
kbprb kbmt KB832223 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:832223? (http://support.microsoft.com/kb/832223/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。