如何在Centos 6.5上自動產生resolv.conf

如何在Centos 6.5上自動產生resolv.conf

我剛剛安裝了CentOS 6.5並配置了以下檔案:

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=aa:bb:dd:dd:ee:ff
TYPE=Ethernet
UUID=adfddfaf-9sda-adse-dfs4-asdfsdfdfg97
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp

/etc/sysconfig/network

NETWORKING=yes
HOSTNAME=localhost.IM
NTPSERVERARGS=iburst

當我重新啟動電腦時,ifconfig eth0顯示 IP 位址,但resolv.conf檔案為空。裡面說的都是search IMnameservers文件中沒有列出。

但是,啟動後,如果我dhclient -r釋放 IP 位址,然後鍵入dhclient eth0以取得 IP 位址,resolv.conf則會使用我的 DNS 名稱伺服器正確填充。

為什麼我的設定檔不會自動發生這種情況?我認為dhcp在我的文件中啟用ifcfg-eth0應該可以解決這個問題。

CentOS 文件說設定NETWORKING=yes在啟動時啟動網路:http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-dhcp-configuring-client.html

任何幫助表示讚賞。

答案1

設定NM_CONTROLLED=no並停止網路管理員守護程序並防止其在引導期間重新啟動:

/sbin/service   NetworkManager stop
/sbin/chkconfig NetworkManager off

現在/etc/resolv.conf根據您的需求填入您的文件。

否則,設定NM_CONTROLLED=yes並保持 NetworkManager 守護程序運作。在這種情況下,請在檔案中新增最多兩個 DNS 項目ifcfg-eth*,例如:

DNS1=10.11.12.13
DNS2=10.11.12.14
DOMAIN=mydomain.net

這將為/etc/resolv.conf您填充該文件。

答案2

NM-SETTINGS-IFCFG-RH ()手冊頁:

PEERDNS - 初始化腳本將 PEERDNS=no 解釋為「永遠不要觸碰 resolv.conf」。 NetworkManager 將其解釋為「切勿將自動(DHCP、PPP、VPN 等)名稱伺服器新增至 resolv.conf」。

向特定 /etc/sysconfig/network-scripts/ifcfg- 檔案提供 PEERDNS=yes 行以自動更新 /etc/resolv.conf 檔案。

    PEERDNS=yes

此外,如果您若要使用 NetworkManager 控制接口,請新增以下行:

    NM_CONTROLLED=no

但是,無論介面是否由 NetworkManager 控制,第一行都應該足夠了。

相關內容