我正在考慮將 8.8.8.8 新增到適配器 DNS 伺服器清單的末尾作為備份,以防萬一一切當我想到我真的不知道如何處理二級和三級 DNS 伺服器時,失敗了。
- 什麼情況下使用下一個DNS伺服器?
- 如果名稱未解析,是否會檢查下一個伺服器?
- 如果名稱未解析,我可以將我的電腦設定為查詢多個伺服器嗎?
我還擔心透過新增不在我的 Intranet 上的 DNS 伺服器,我可能無法解析本機名稱。
- 如果第一台 DNS 伺服器發生故障,第二台 DNS 伺服器將使用多久?
- 當我的機器檢查主 DNS 伺服器是否已啟動時,它是否會停止我目前的 DNS 查詢?
- 多個 DNS 伺服器如何影響效能?如果我的適配器清單中有四個 DNS 伺服器,其中三個已失效,那麼它是否會等待三個逾時才能得到答案?
我也不確定這個問題是否特定於作業系統。不同的作業系統對此有不同的處理方式嗎?
我的目標是在 DHCP 透過腳本分發的內容之上將 8.8.8.8 附加到 DNS 伺服器。我不斷遇到愚蠢的 DNS 問題,由於我無法控制的 DHCP 配置錯誤,我的機器最終出現了偽造/無法訪問/根本沒有 DNS 伺服器的情況。我已經厭倦了它,但我想知道添加這個故障保護是否會導致比它解決的問題更多的問題。
答案1
答案肯定是特定於作業系統的,因為沒有什麼是特定的。預防某個作業系統的行為不同。沒有什麼必要的關於多個伺服器的 DNS 用戶端查詢將阻止作業系統實作以不同於我在此描述的方式處理 DNS 查詢。
也就是說,Linux 如何查找 DNS 名稱的範例應該代表如何最多現今常用的作業系統可以做到這一點。
這裡是一篇很好的文章,詳細描述了該行為,以及設定您所要求的內容的方法。
一般的想法是,預設情況下,只有當主 DNS 伺服器逾時或指向不可路由的 IP 位址時,才會依序使用輔助/第三 DNS 伺服器。即使主 DNS 伺服器說“該網域無法解析”,它也不會繼續詢問下一個名稱伺服器。它治療任何對查詢的有效回應作為原因不是移動到清單中的下一個 DNS 伺服器。
一種可能的合理設定方法是設定您的路由器或 LAN 盒(以網際網路閘道為準),以便先解析本機位址,但仍使用 Google DNS 或 OpenDNS 而不是 ISP 的 DNS 伺服器8.8.8.8
。當然還有網關盒應該它本身正在運行一個名稱伺服器,並且應該配置為回答私有子網路上本機主機名稱的 DNS 查詢 - 但如果它無法針對本機子網路進行解析,它應該立即轉至 Google DNS。這是兩全其美的。
另一種方法是為不同的網路介面設定不同的名稱伺服器。預設情況下,Windows 允許您這樣做;上面連結中的文章描述了一種透過使用forward
和forwarders
指令來配置 BIND9 DNS 伺服器實作來實現此目的的方法。