CentOS6网卡重启后/etc/resolv.conf文件被还原,原因是开启了DHCP自动获取IP,和Network Manager服务,解决办法:

1.不修改ifcfg-eth0,直接在/etc/resolv.conf中添加nameserver xxx.xxx.xxx.xxx信息,同时chattr +i /etc/resolv.conf.

此方法可行,但是在重启过程中会提示以下信息: 正在决定 eth0 的 IP 信息...rm: 无法删除"/etc/resolv.conf": 不允许的操作。

2.鸟哥的linux私房菜服务器篇597页,直接在ifcfg-eth0添加PEERDNS=no。

此方法在网卡重启后可成功,但是机器重启后仍会被改,此时应该将Network Manager服务关闭。

这是因为/etc/resolv.conf文件会被Network Manager修改,即使在网卡中设置了NM_CONTROLLED="no",重启后/etc/resolv.conf如下:

# Generated by NetworkManager
search wbtaobao.cn

# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com

当将PEERDNS也开启后,网卡重启后/etc/resolv.conf会被修改成dhcp上的dns设置,会覆盖Network Manager服务的设置。

但是计算机重启后Network Manager仍会将resolv.conf覆盖.

所以最终的解决办法是将Network Manager服务关闭,将PEERDNS=no.