CentOS中修改/etc/resolv.con不自动恢复

服务器 struggling 2759次浏览 0个评论

在虚拟机下搭建DNS服务器时,对于自己设定的域进行解析前,先要修改/etc/resolv.conf 指向自己,但是修改完数分钟后,resolv.conf文件会自动修改为以前的数据,网上找到好多答案,归类为以下;

一,

<code>
/etc/resolv.conf文件自动恢复的解决方法:

service NetworkManager stop #后台进程关闭

chkconfig NetworkManager off #配置关闭,永久生效。
</code>

关于这种方法,网上查了下,这个文件会被NetworkManager接管,建议关掉它。

二,

直接修改/etc/resolv.conf这个文件是没用的,网络服务重启以后会根据/etc/sysconfig /network-scripts/ifcfg-eth0来重载配置,如果ifcfg-eth0没有配置DNS,那么resolv.conf会被冲掉,重新变成空值。所以要将/etc/sysconfig/network-scripts/ifcfg-eth0修改为以下样子:

<code>
  DEVICE=eth0
  BOOTPROTO=none
  HWADDR=00:xx:19:xx:xx:xx
  ONBOOT=yes
  TYPE=Ethernet
  USERCTL=no
  IPV6INIT=no
  PEERDNS=yes
  NETMASK=255.255.255.0
  IPADDR=xxx.xxx.xxx.xxx
  GATEWAY=xxx.xxx.xxx.xxx
  DNS1=192.168.1.1               #根据实际情况更换,我改为本机的ip了

[root@struggle ~]# service network  restart
</code>

重启服务后,resolv.conf文件便会生效。

试了这种方法后,文件会生效,但是还会再变的。所以还是不行。

但是试了后都不行,最后找打了答案:

因为使用 DHCP 时,系统会主动的使用 DHCP 服务器传来的数据进行系统配置文件的修订。因此,你必须告知系统,不要使用 DHCP 传来的服务器设定值。 此时,你得要在 /etc/sysconfig/network-scripts/ifcfg-eth0 等相关档案内,增加一行:PEERDNS=no,然后重新启动网络即可。


DevOps-田飞雨 》》转载请注明源地址
喜欢 (1)or分享 (0)
发表我的评论
取消评论
*

表情 贴图 加粗 链接 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址