如何在 Centos 6.5 上自动生成 resolv.conf

use*_*227 8 networking dhcp centos networkmanager resolvconf

我刚刚安装了 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
Run Code Online (Sandbox Code Playgroud)

/etc/sysconfig/network

NETWORKING=yes
HOSTNAME=localhost.IM
NTPSERVERARGS=iburst
Run Code Online (Sandbox Code Playgroud)

当我重新启动计算机时,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

任何帮助表示赞赏。

JRF*_*son 3

设置NM_CONTROLLED=no并停止网络管理器守护程序并防止其在引导期间重新启动:

/sbin/service   NetworkManager stop
/sbin/chkconfig NetworkManager off
Run Code Online (Sandbox Code Playgroud)

/etc/resolv.conf现在根据您的需要填充您的文件。

否则,设置NM_CONTROLLED=yes并保持 NetworkManager 守护程序运行。在这种情况下,请在文件中添加最多两个 DNS 条目ifcfg-eth*,例如:

DNS1=10.11.12.13
DNS2=10.11.12.14
DOMAIN=mydomain.net
Run Code Online (Sandbox Code Playgroud)

/etc/resolv.conf这将为您填充该文件。