本文列出 DNS 記錄未顯示在 DNS 區域中的問題原因。
原始 KB 編號: 2985877
徵兆
已成功註冊的 DNS 記錄已不存在於 DNS 區域中。
原因
有多個根本原因存在,下表列出它們:
原因 | 問題 | 概要 |
---|---|---|
1 | DNS Scavenging 設定錯誤。 | 一或多個 DNS 伺服器上的清除功能已設定為具有過於積極的設定,而且過早地刪除 AD 整合 DNS 區域的 DNS 記錄。 |
2 | DNS 區域是 CNF 或 Active Directory 中的衝突問題。 | 代表 Active Directory 中 DNS 區域的容器已變成 CNF 或衝突問題。 它已由不同的容器所取代,該容器可能先是空的,或包含區域上一個實例中包含的記錄子集。 |
3 | DnsAvoidRegisterRecord 定義於組策略物件 (GPO) 中。 | 如果使用DC組策略設定未註冊的DC定位器 DNS 記錄來排除 SRV 記錄註冊,則存在程式代碼缺失。 它會修改登錄子機碼下的 hklm\software\policies\microsoft\netlogon\parameters DnsAvoidRegisterRecords 登錄設定。 |
4 | Windows Server 2008 區域傳輸刪除錯誤。 | 錯誤會導致在區域傳輸之後,從 Windows Server 2008 DNS Server 上的次要區域刪除記錄。 |
5 | 當IP位址變更時,會刪除主機 「A」 記錄。 它發生在 Windows Vista、Windows Server 2008、Windows 7 或 Windows Server 2008 R2 中。 | 當 DNS 伺服器 IP 變更時,計時錯誤會導致主機 「A」 記錄的過早刪除。 |
6 | 使用選項 81 取消註冊主機 「A」 記錄在主機 「AAAA」 註冊期間設定的 DHCP 用戶端。 | 接收 DHCP 指派位址的 Windows 7 和 Windows Server 2008 R2 型電腦在 DHCP 伺服器上定義了選項 81。 他們會在 「AAAA」 記錄註冊期間取消註冊主機 「A」 記錄。 |
7 | 除非您安裝KB2520155,否則變更 DNS 伺服器 IP 時,發生計時問題。 | 當您變更相同用戶端上的 DNS 伺服器 IP 位址之後,就會刪除 DNS 用戶端的 DNS 主機記錄。 |
8 | 記錄註冊失敗會使記錄容易受到清除程序的影響。 | 現有記錄的 DNS 動態更新通訊協定更新失敗。 因此,記錄時間戳不會更新。 它讓記錄容易受到正確設定的 DNS Scavenging 程序刪除。 |
9 | 當指定的 Windows 用戶端動態租用變更為保留時,會刪除 DNS 記錄。 | DHCP 伺服器會刪除目前由已啟用 DHCP 的 Windows 用戶端註冊的 DNS 記錄。 當客戶端的動態租用轉換為保留時,就會刪除,並啟用下列設定:
|
解決方法
原因 1:DNS 清除設定錯誤
當 DNS 記錄從 DNS 區域遺失時,清除是最常見的罪魁禍首。 即使是以靜態方式指派伺服器的計算機,也會每隔 24 小時註冊其記錄。 確認 NoRefresh 和 Refresh 間隔太低。 例如,如果這些值都小於 24 小時,則您將遺失 DNS 記錄。
TechNet: 使用 DNS 過時和清除
原因 2:DNS 區域在 Active Directory 中發生 CNF 或衝突
除了例外狀況,Active Directory 允許任何域控制器在可寫入的目錄分割區中建立物件。 當兩個域控制器在復寫視窗中建立相同的物件或容器時,目錄會套用衝突解決邏輯來判斷:
- 應該保留哪一個物件。
- 應該隔離哪些物件。
當物件的復寫造成名稱衝突時(兩個物件在相同容器內具有相同的名稱,或具有相同的容器名稱),目錄會自動重新命名其中一個物件,以具有唯一的名稱。 具體而言,“*CNF:<GUID>” 字串會附加至所建立物件的 DN 路徑。 最後一個寫入器域控制器所建立的實例會維持不變。
如果代表 DNS 區域的容器(或次級容器)變成衝突問題,則代表更完整 DNS 區域的容器可以取代為相同名稱的容器,也就是一開始較不完整或甚至空白的容器。
判斷區域應該保留哪一個複本。 刪除區域不正確的複本,這可能是非 CNF 管理 DN 路徑的複本。 視需要重新命名區域 CNF 管理複本。 然後重新啟動 DNS 伺服器服務或重載區域。
原因 3:GPO 中定義的 DnsAvoidRegisterRecord
原因 3 與使用 GPO 中的 DnsAvoidRegisterRecords 設定排除 SRV 記錄的程式碼缺失有關。 以 Windows 用戶端為目標的 DNS 伺服器每隔五分鐘會收到一次記錄更新。 dnsRecord 上的時間戳和版本號碼會持續增加。 SRV 記錄會儲存在 dnsRecord 屬性中,這是非連結的多值屬性。 接收不正確更新的域控制器或 DNS 伺服器一律會贏得衝突解決。 有些更新會遺失,而其他已刪除的記錄則神秘地回來。
與大量重新啟動相關聯的SRV記錄遺失與最後寫入器在非連結多重值屬性上的獲勝行為有相同的問題。 但是 GPO 所造成的版本變換不會移至註冊的來源。 大量域控制器的大規模重新啟動是並行註冊的原因。 某些系統管理員已藉由降低 SRV 註冊視窗來解決此問題。
此問題的一個很好的解決方案是將域控制器上的 DNS 用戶端設定為名稱解析的主要位址。 指定每個區域的本機中樞 DNS 伺服器,並讓該區域中的所有 DNS 伺服器指向一部 DNS 伺服器。 hublet DNS 伺服器全都指向階層式中樞和輪輻模型中的單一 DNS 伺服器。 所有 DNS 伺服器都可以將自己指向次要伺服器,但不能指向主要伺服器。 因為 Windows Update 觸發的重新啟動通常會在 03:00 發生,只要每個時區只有一個 hublet DNS 伺服器,您就永遠不會遇到此問題。
檢查 dnsNode 物件上包含遺漏記錄的 Active Directory 物件版本。 如果是大量,可能是您的問題。 有可能將 SRV 記錄排除至本機原則,以停止常數取消註冊。
不過,新行為有問題。 在新的行為中,SRV 記錄只會移除一次,特別是第一次套用原則。 由於記錄是非連結的多值屬性,因此會發生下列情況:
在區域 Active Directory 涵蓋範圍之前,多個域控制器會移除不同 DNS 伺服器上的 SRV 記錄。
當基礎屬性完全聚合時,要接收刪除的最後一部 DNS 伺服器是唯一保留的版本。 只有在該 DNS 伺服器上移除的記錄會從 SRV 記錄中移除。 在其他 DNS 伺服器上移除的 SRV 記錄似乎又回來了。 套用 GPO 且受影響的 SRV 記錄完全融合之後,可能需要手動清除。
原因 4:Windows Server 2008 區域傳輸刪除 Bug
此問題的解決方式是安裝 Windows Server 2008 Service Pack 2 或 KB953317。 此問題專屬於裝載 DNS 區域的 Windows Server 2008 DNS 區域。 在執行其他 Windows 版本的電腦上安裝Microsoft DNS 伺服器角色時,不會發生此情況。
原因 5:當 IP 位址變更時,主機“A” 記錄會遭到刪除
假設您在 Windows Server 2008 或 Windows Server 2008 R2 上的 TCP/IP 網路堆棧上變更 DNS 伺服器的 IP 位址。 然後重新啟動電腦。 在此案例中,在新設定的 DNS 伺服器 IP 位址上註冊主機 A 記錄之後,有時會在原始 DNS 伺服器上刪除主機 “A” 記錄。 從用戶的觀點來看,相依於名稱解析的任何專案都已中斷。
當用戶端上的 DNS 伺服器 IP 變更時,用戶端會傳送 SOA 更新,以從舊的 DNS 伺服器刪除其「A」記錄。 此外,它會傳送另一個更新,以向新的 DNS 伺服器註冊其「A」記錄。
此 DCR 的設計目的是要減少過時主機 「A」 記錄的數目。 Active Directory 整合區域中發生問題。
當用戶端上的 DNS 伺服器 IP 變更時,就會發生此問題。 變更時,用戶端會將註冊要求傳送至新伺服器,並將要求刪除至舊伺服器。 由於兩部伺服器都已同步處理,因此不會發生緩存器。 但是刪除發生在舊伺服器中,然後因為 Active Directory 而刪除這兩部伺服器。
原因 6:在主機 「AAAA」 註冊期間,使用選項 81 取消註冊主機 「A」 記錄設定的 DHCP 用戶端
如果已定義Option81且ISATAP或6to4介面存在,就會發生此問題。 DNS 動態更新通訊協定更新錯誤地將TTL設定為0,這會觸發IPv6記錄註冊的記錄刪除。
原因 7:除非您安裝KB2520155,否則變更 DNS 伺服器 IP 時,發生計時問題
發生此問題的原因是 DNS 用戶端服務發生問題。 當用戶端上的 DNS 伺服器組態資訊變更時,DNS 用戶端服務會從舊的 DNS 伺服器刪除用戶端的 DNS 主機記錄。 然後,它會將記錄新增至新的 DNS 伺服器。 DNS 記錄存在於新伺服器上,這是相同網域的一部分。 因此不會更新記錄。 但舊的 DNS 伺服器會將刪除作業複寫至新的 DNS 伺服器和其他 DNS 伺服器。 因此,新的 DNS 伺服器會刪除記錄,而且記錄會跨網域刪除。
在 Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2 計算機上安裝KB2520155 。
原因 8:現有記錄的 DNS 動態更新通訊協定更新失敗,導致清除程式刪除為過時記錄
DNS 記錄註冊失敗存在多個根本原因。
NETLOGON 事件 577X 事件會記錄 NETLOGON 服務記錄 SRV 記錄的記錄註冊失敗。
系統會記錄其他事件,以記錄主機 A 和 PTR 記錄的註冊失敗。 檢查系統記錄中是否有這些失敗。 這類事件可能會由註冊這些記錄的客戶端記錄。 或者,由代表用戶端註冊記錄的 DHCP 伺服器記錄。
原因 9:將作用中動態租用轉換為保留會刪除該用戶端的 A 和 PTR 記錄
這是依照設計的行為。 DNS 記錄 (A 記錄/PTR) 會在用戶端的下一個 DHCP 更新要求期間自動更新。