Linux

為什麼 resolv.conf 正在改變

  • March 9, 2019

我正在使用紅帽 6.7

當我更新我的resolv.conf文件如下:

options attempts:2
options timeout:1
search usa.Pe.corp  tedcruz.usa.fb.corp
nameserver 10.9.145.145
nameserver 10.9.100.103
nameserver 43.11.0.14 

服務網路重新啟動後,我得到一個不同的resolv.conf文件,如下所示

options attempts:2
options timeout:1
search usa.Pe.corp 
nameserver 10.9.145.145

如何禁用/阻止文件進行resolv.conf任何更改?

為什麼網路重新啟動重新啟動後文件正在更改?

dhclient-script正在這樣做。它會檢查哪些名稱伺服器和域是可見的。有時這很有用。

根據其手冊頁,

啟動時,客戶端腳本首先定義一個 shell 函式,make_resolv_conf,稍後用於創建/etc/resolv.conf文件。要覆蓋預設行為,請在 enter 掛鉤腳本中重新定義此函式。

在定義 make_resolv_conf 函式後,客戶端腳本檢查是否存在可執行**/etc/dhcp/dhclient-enter-hooks**腳本,如果存在,它會使用 Bourne shell'.'命令內聯呼叫腳本。該腳本可以使用OPERATION下記錄的整個環境,如果需要更改腳本的行為,它可能會修改環境。如果在腳本執行期間發生錯誤,它可以將 exit_status 變數設置為非零值,並/sbin/dhclient-script在客戶端腳本退出後立即以該錯誤程式碼退出。

例如,如*如何:確保 /etc/resolv.conf 永遠不會被 DHCP 客戶端更新中所示,您可以創建或附加到*/etc/dhcp/dhclient-enter-hooks**這個虛擬函式:

make_resolv_conf(){
   :
}

引用自:https://unix.stackexchange.com/questions/276939