Domain-Name-System
如何在 CentOS 中保留 resolv.conf 選項,例如旋轉、超時?
CentOS 將
/etc/resolv.conf
定期清除任何手動更改。Linux 中的預設設置在合理時間內故障轉移方面很差(每次以相同的順序查詢名稱伺服器,超時 5 秒,重試 2 次)。因此,您的第一個 DNS
resolv.conf
本質上是關鍵路徑。如果它失敗了,您可以在故障轉移之前查看 10 秒。這些預設值是可以調整的(參見resolv.conf手冊頁),但是如何在 CentOS 中永久更改任何更改並通過重新啟動等保持不變?
答案可以在
/sbin/dhclient-script
:if [ -n "${RES_OPTIONS}" ]; then echo "options ${RES_OPTIONS}" >> ${rscf} fi
RES_OPTIONS
但是,您可以在哪裡設置以使腳本拾取它並不是很明顯- 可以在ifcfg-ethX
文件中設置搜尋域等某些內容,但在其他地方設置解析器選項。您想要的文件實際上是/etc/sysconfig/network
. 要設置相關選項,請在該文件中添加類似於此行的內容:RES_OPTIONS="rotate timeout:1 retries:1"
這會將超時設置為 1 秒,使用一次重試並告訴客戶端每個請求輪換其解析器,而不是每次都按順序遍歷列表。
如果您想讓更改立即生效,請發出
service network restart
命令並檢查您的新功能/etc/resolv.conf
。這是我在測試時的樣子:# cat /etc/resolv.conf ; generated by /sbin/dhclient-script search example.com options rotate timeout:1 retries:1 nameserver 10.1.1.2 nameserver 10.1.1.1