如何在 Windows XP 和 Windows Server 2003 中停用用戶端 DNS 快取

文章翻譯 文章翻譯
文章編號: 318803 - 檢視此文章適用的產品。
如需本文的 Microsoft Windows 2000 版本,請參閱 245437
警告:不當使用 [登錄編輯程式] 可能會導致嚴重的問題,甚至必須重新安裝作業系統。Microsoft 並不保證可以解決您不當使用 [登錄編輯程式] 所導致的問題。請自行承擔使用 [登錄編輯程式] 的一切風險。
全部展開 | 全部摺疊

在此頁中

結論

Windows 內含用戶端「網域名稱系統」(DNS) 快取。用戶端 DNS 快取功能可能會產生一個假象,就是未發生從 DNS 伺服器到 Windows 用戶端電腦的 DNS「遞迴」。當您以 ping 命令來搜尋相同的 A 記錄網域名稱時,用戶端可能是使用相同的 IP 位址。此行為不同於 Windows 2000 之前的 Microsoft 作業系統。此類作業系統並未具備用戶端 DNS 快取功能。本文將告訴您如何停用 DNS 快取。

注意 本文所指的是 DNS 的用戶端部分。請勿將此資訊用於變更 DNS 伺服器。

其他相關資訊

如果要停止 DNS 快取,請執行以下其中一項命令:
  • net stop dnscache

    - 或 -
  • scservername stop dnscache
若要在 Windows 中永久停用 DNS 快取,請使用「服務控制器」工具或「服務」工具,將 DNS Client 服務啟動類型設為「停用」。請注意,Windows DNS Client 服務的名稱也可能會顯示為 Dnscache。

注意 如果停用 DNS 解讀器快取,用戶端電腦的整體效能將會降低,而 DNS 查詢的網路流量則會增加。

DNS Client 服務是藉由將先前解析的名稱存入記憶體,使 DNS 名稱解析效能達到最佳化。如果 DNS Client 服務已關閉,電腦仍能透過網路的 DNS 伺服器來解析 DNS 名稱。

當 Windows 解讀器收到查詢的正值或負值回應時,會將此回應加入到快取中,因而建立 DNS 資源記錄。解讀器在查詢任何 DNS 伺服器之前,一律會先檢查快取。如果快取中存有 DNS 資源記錄,解讀器將使用來自快取的記錄,而不會查詢伺服器。此行為會加快查詢作業並減少 DNS 查詢的網路流量。

您可以使用 Ipconfig 工具來檢視和清除 DNS 解讀器快取。如果要檢視 DNS 解讀器快取,請在命令提示字元中鍵入 ipconfig /displaydns。Ipconfig 會顯示 DNS 解讀器快取的內容,包括從 Hosts 檔案預先載入的 DNS 資源記錄,以及任何最近查詢過且由系統解析的名稱。經過一段時間後,解讀器會捨棄快取中的記錄。此時間是在與 DNS 資源記錄相關的存留時間 (TTL) 中指定。您也可以手動清除記錄。清除快取內容後,電腦必須再次針對先前所解析的任何 DNS 資源記錄來查詢 DNS 伺服器。如果要刪除 DNS 解讀器快取中的項目,請在命令提示列中鍵入 ipconfig /flushdns

使用登錄控制快取時間

重要:本文包含修改登錄的相關資訊。修改登錄之前,請務必將它備份起來,並瞭解如何在發生問題時還原登錄。如需有關如何備份、還原和編輯登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
256986 Microsoft Windows 登錄說明
正值或負值回應放入快取的時間長度,主要取決於下列登錄機碼中的項目值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters
正值回應的 TTL 是下列較小的值:
  • 解讀器收到的查詢回應中指定的秒數
  • MaxCacheTtl
    登錄設定的值。

注意
  • 正值回應的預設 TTL 是 86,400 秒 (1 天)。
  • 負值回應的 TTL 則是
    MaxNegativeCacheTtl
    登錄設定中指定的秒數。
  • 負值回應的預設 TTL 是 900 秒 (15 分鐘)。
如果不想快取負值回應,請將
MaxNegativeCacheTtl
登錄設定設為 0。

如果要設定用戶端電腦上的快取時間:
  1. 啟動 [登錄編輯程式] (Regedit.exe)。
  2. 找到並按一下下列登錄機碼:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
  3. [編輯] 功能表上,指向 [新增],按一下 [DWORD 值],再新增下列登錄值:
    數值名稱:
    MaxCacheTtl

    資料類型:REG_DWORD
    預設值:86400 (秒鐘)
    數值資料:如果您將用戶端 DNS 快取中的最大 TTL 值降為 1 秒,就會呈現用戶端 DNS 快取已停用的樣貌。

    數值名稱:
    MaxNegativeCacheTtl

    資料類型:REG_DWORD
    預設值:900 (秒鐘)
    數值資料:如果不想快取負值回應,請將此值設為 0。
  4. 輸入您想要使用的值,再按一下 [確定]
  5. 結束 [登錄編輯程式]。

子網路優先順序

Windows XP DNS 解讀器也會使用「子網路優先順序」。如果解讀器從 DNS 伺服器收到多重 IP 位址對應 (A 資源記錄),而且部分記錄具有來自電腦直接連接之網路的 IP 位址,解讀器就會優先放置這些資源記錄。此行為可藉由強制電腦連至較近的網路資源,進而減少子網路之間的網路流量。

雖然子網路優先順序不會減少子網路間的網路流量,但在某些情況下,您或許會希望遞迴功能是依照 RFC 1794 中所說明的方式來運作。如果確實如此,您可以藉由在下列登錄機碼中,加入具有 0 值 (REG_DWORD 資料類型) 的
PrioritizeRecordData
登錄項目,停用用戶端上的「子網路優先順序」功能:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DnsCache\Parameters
如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
297510 HOW TO: Modify Time to Live on Domain Name System Records
286834 The DNS Client Service Does Not Revert to Using the First Server in the List
如需詳細資訊,請參閱《Windows 2000 DNS 白皮書》(英文)。如果要檢視此白皮書,請造訪下列其中一個 Microsoft 網站: 如需詳細資訊,請參閱《Microsoft Windows XP Professional Resource Kit 說明文件》(英文) 中的<DNS 快取、網路優先順序及安全性>章節。

屬性

文章編號: 318803 - 上次校閱: 2007年10月12日 - 版次: 2.3
這篇文章中的資訊適用於:
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows XP Professional
關鍵字:?
kbhowto kbinfo kbnetwork KB318803
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com