SBS 2008 DNS 在 .uk、.eu 和美國以外的其他一些 TLD 的 1 天后停止工作
在 SBS 2008 中,首次安裝或重新啟動時,DNS 查詢成功,但大約 1 天后,使用者報告他們無法訪問某些網站。檢查時,可能會注意到無法訪問的網站位於 .uk 和 .eu 頂級域 (TLD) 或美國以外的某些其他 TLD。
如果放置幾天,問題可能會自行解決,然後再過一天左右會再次出現。
如果重新啟動 DNS 伺服器服務,或者清除伺服器上的 DNS 記憶體,則問題暫時解決,但在一天左右後再次出現。
此問題的原因是在歐盟國家(以及美國以外的某些其他 TLD)中,名稱伺服器記錄通常被記憶體超過 1 天。SBS2008 對允許記憶體名稱伺服器記錄的最長時間有一個上限,預設為 1 天。此預設設置在美國執行良好,但當 .uk 和 .eu 記錄過時時,它們不會從記憶體中刪除,而是不再作為有效記錄返回。因此,它們有效地防止這些 TLD 中的 DNS 查找成功,直到記錄過期並從記憶體中刪除,或者重新啟動 DNS 伺服器服務。
解決方法是增加 DNS 伺服器中的最大生存時間 (TTL) 設置,以便它辨識早於 1 天的記錄。經驗表明,將該值設置為 4 天通常就足夠了,但最大設置為 30 天。
解決方法
此問題可以通過重新啟動 DNS Server 服務或清除 DNS 伺服器上的 DNS 記憶體來臨時解決。
永久解決方案包括 - 增加最大 DNS 記憶體 TTL 值。- 重新配置 DNS 伺服器以使用 DNS 轉發器,而不是依賴根提示。
解決方案
要永久解決,需要將 MaxCacheTTL 值更改為大於 TLD TTL 的值(預設值為 1 天,最大值為 30 天)。在 SBS2008 上沒有負面影響,因為這是資源記錄記憶體的 TTL。這只是它將儲存在 DNS 伺服器上的最大值。如果實際 TTL 更短,將使用更短的值。
- 啟動系統資料庫編輯器 (Regedit.exe)。
- 找到以下系統資料庫項:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters 3. 在編輯菜單上,點擊新建,點擊 DWORD(32 位)值,然後添加以下值:
值:MaxCacheTtl
數據類型:DWORD
數據值:0x69780(十進制的 432000 = 5 天) 4. 點擊確定。 5. 退出系統資料庫編輯器。 6. 重新啟動 DNS 伺服器。
作為額外的預防措施,請使用清除 DNS 解析器記憶體
IPCONFIG /FlushDNS
更改後,應監視伺服器以檢查問題是否再次出現。由於此值不會影響 SBS2008 上的正常行為,因此如果問題仍然存在,我們可以將此值增加到更大的值。
也可以看看