調整 Linux 故障轉移到 resolv.conf 中列出的備份 DNS 伺服器所需的時間

調整 Linux 故障轉移到 resolv.conf 中列出的備份 DNS 伺服器所需的時間

目前我正在使用普通的 linux 配置resolv.conf......類似:

nameserver 123.123.123.123
nameserver 8.8.8.8

當 123.123.123.123 發生故障時,DNS 查詢變得不可能緩慢,我假設 Linux 每次都會重試第一個查詢。有沒有辦法讓linux在這方面變得更聰明?健康檢查什麼的?或者我誤解了應該如何resolv.conf運作?

答案1

除了尤懷特的精彩回應之外,還有一些附錄。

您可以將其添加到/etc/resolv.conf

options timeout:1 attempts:1 rotate

預設值為時間:5 次嘗試:2

/etc/resolv.conf發生的情況是,如果不存在旋轉選項,解析器庫將嘗試使用從上到下列出的名稱伺服器。如果存在旋轉,則它會進行循環選擇。如果解析器轉到列表底部並且伺服器在 X 秒內沒有回應(考慮 X 是超時參數),那麼它將再次重複循環選擇的整個過程 Y-1 次(其中 Y 是嘗試的價值)。

然而,需要謹慎的是避免 dig 和朋友測試這些 resolv.conf 選項。因為他們避免使用解析器庫並直接詢問名稱伺服器。 getent ports 是更好用的指令。請注意,任何使用 glibc 解析器的內容都必須遵守/etc/resolv.conffile.

答案2

這是透過描述的man resolv.conf

請嘗試其中一種超時選項,將預設值從 5 秒降低到 1 秒...

options timeout:1
nameserver 123.123.123.123
nameserver 8.8.8.8

但實際上,DNS 具有如此多的可用彈性,因此可以在沒有較低解析度超時的情況下生存。是否可以選擇更好的公共 DNS 或運行您自己的內部解析器?

相關內容