共用方式為


對 DNS 清除問題進行疑難排解

本文提供有關如何針對功能變數名稱系統(DNS) 清除相關問題進行疑難解答的詳細資訊。

DNS 清除問題的基本檢查

有各種案例可能會導致 DNS 清除問題。 下列常見檢查可用來確保在所有情況下都正確設定清除:

  • 若要清除才會生效,必須在三個層級上設定它:記錄、區域和伺服器。 如需詳細資訊,請參閱 DNS 清除設定。 如果遺漏任何一個層級,則不會進行清除。

    容易清除的記錄是 DNS 中以時間戳註冊的記錄,可以是下列其中一項:

    • 使用動態 DNS (DDNS) 在 DNS 中註冊的動態 IP 位址所設定的 Windows 用戶端。
    • 以靜態 IP 位址設定的 Windows 計算機,每 24 小時在 DNS 中註冊一次。

    清除不會刪除任何以手動方式新增至伺服器的記錄,做為不含時間戳的靜態記錄。

    注意

    如果記錄註冊為動態記錄,然後藉由移除其時間戳,DDNS 可能會導致靜態記錄從 DNS 中刪除。 在此情況下,您必須檢閱誰具有記錄的「刪除」存取權。

  • 請確定只有一部 DNS 伺服器已設定清除,以避免伺服器之間的衝突。

    顯示 [啟用過時記錄自動清除] 選項的螢幕快照。

  • 檢查區域過時設定,以查看區域層級老化的所有區域是否有全域過時設定。

    注意

    區域層級的過時優先順序較高。

    區域層級:

    顯示區域層級過時設定的螢幕快照。

    所有區域層級:

    顯示所有區域層級過時設定的螢幕快照。

  • 設定 RefreshNo-refreshScavenging 週期時間時,沒有要使用的標準設定,因為這取決於每個組織的設定和喜好設定。 不過,您必須確定設定遵循此方程式:

    重新整理 + 無重新 >整理 = DHCP 租用上限

重新整理和無重新整理間隔的總必須大於或等於最大動態主機設定通訊協定 (DHCP) 租用,強調 DHCP 租用期間與清除之間的重要關聯性。 本文的 Scenarios 區段示範考慮此方程式的原因。

疑難排解步驟

  1. 確保清除的正確設定對於疑難解答至關重要,因為大部分的問題都是由設定錯誤所造成。 如需詳細資訊,請參閱 DNS 清除設定錯誤

  2. 根據案例,您可能需要檢查事件標識碼 25012502 的訊號,以追蹤最後一個清除週期的出現次數:

    • 事件 2501 表示清除循環已通過,且已刪除一或多個記錄。
    • 事件 2502 表示清除循環已通過,且未刪除任何記錄。

    若要識別 DNS 伺服器上何時會發生下一個清除迴圈,您需要取得最後一個 DNS 清除週期的日期和時間,並新增清除期間。 如需詳細資訊,請參閱 如何在 DNS 伺服器上識別下一個清除周期的時機。

  3. 利用 DNS 伺服器稽核記錄來取得下列詳細資料:

    • 清除事件標識碼 521 會刪除哪些記錄。
    • 清除循環的開始:事件標識碼 552
    • 清除周期的終止:事件標識碼 554
    • Scavenge 伺服器:事件標識碼 567
  4. 請考慮手動起始清除來測試其功能。 只有在清除已在此伺服器上自動執行至少一次時,才會立即刪除記錄。 如需詳細資訊,請參閱 自動化和手動起始的 Scavenging

    顯示 [Scavenge 過時資源記錄] 選項的螢幕快照。

案例

本節列出 DNS 清除可能發生的數個常見案例。

在 DNS 中動態註冊的伺服器上以靜態方式設定的 IP 可能會刪除其記錄

假設您在環境中具有下列設定:

  • SRV1 IP = 2.2.2.2,在 DNS 上註冊,時間戳為 2024/2024 下午 6:00。
  • 重新 整理間隔 設定為 2小時
  • [ 無重新整理間隔] 設定為 2小時
  • 清除設定為 7 天
  • 最後一次清除週期發生在 2024 年 7 月 17 日下午 11:00。

根據預設,靜態設定的IP會每隔24小時自行註冊一次。 使用上述設定,記錄將於 2024 年 7 月 24 日下午 10:00 過時。 隨著下一個清除週期發生在 2024 年 7 月 24 日下午 11:00(2024 年 7 月 17 日,加上 7 天),DNS 伺服器會發現記錄已過時並加以刪除。 在此案例中,您可能會在手動註冊時從下午 11:00 到下一個工作天,或從先前註冊時間經過 24 小時之後再次註冊時,遇到此伺服器的問題。

原因是重新 + 整理無重新整理間隔小於24小時。 因此,DNS 記錄會遺失。

DNS 記錄意外刪除

如需完整案例,請參閱 DNS:Scavenging:如果以 DNSCMD 手動停用清除,則不會刪除記錄。

如果使用 DNSCMD 手動停用清除,則不會刪除 DNS 記錄

如需完整案例,請參閱 啟用階段

不會發生 DNS 清除,而且不會產生事件 2501 和 2502

DNS 伺服器無法清除過時的記錄,而正在解除委任的域控制器是原始 DC 正在復寫的伺服器。

若要針對問題進行疑難解答,請確認區域可供清除,方法是確保自系統開機后已復寫分割區(其中儲存區域)。

驗證的原因是防止長時間離線但已在其他 DC 上更新的數據。

複寫檢查:

  • 如果數據分割尚未在最後一個區域重新整理間隔中與至少一個復寫夥伴完全同步,請勿復寫區域。
  • 檢查目錄分割區,以判斷它是否已在指定的間隔內至少與一個其他夥伴複寫,因為 DNS 服務已啟動。

如果不再需要已解除委任的DC,移除DC會解決此問題。 若要列出特定網域中的所有域控制器,請執行下列命令:

nltest /dclist:<DomainName>

刪除 DNS 中 Azure 機器的記錄,導致解決問題

Azure 機器的租用為 136 年。 因此,無論使用什麼清除設定,它永遠不會比對其餘的 Windows 內部部署計算機,因為 50 年後的租用續約時間為 50%。 因此,機器不會更新其時間戳,而且會藉由清除來刪除其記錄。

解決方案是強制 Azure 機器在每個 X 間隔註冊自己,使其時間戳在重新整理間隔期間在 DNS 中更新。 若要這樣做,請套用原則 RegistrationRefreshInterval

Computer Configuration\Administrative Templates\Network\DNS Client\Registration Refresh Interval

原則會對應至登錄機碼:

HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient

設定的預設值為1800秒(30分鐘)。

這會指定 DNS 更新註冊之間的時間間隔。 若要使此值的變更生效,您必須重新啟動 Windows。

注意

如果您在 Windows 用戶端電腦上套用此原則,則必須事先啟用 Computer Configuration\Administrative Templates\Network\DNS Client\Dynamic Update 註冊重新 整理間隔 才會生效。

DNS 伺服器中有重複的記錄

如需完整案例,請參閱 DNS Scavenging 和 DHCP 租用持續時間的關聯 性。