我剛剛安裝了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 IM
。nameservers
文件中沒有列出。
但是,啟動後,如果我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 控制,第一行都應該足夠了。