Centos中修改/etc/resolv.conf又恢复到原来的状态

来源:互联网 发布:淘宝优惠券制作教程 编辑:程序博客网 时间:2024/06/05 06:47

问题:
机器系统为CentOS6,ip地址已经设好了。使用setup更改了一下外地公网的dns,保存退出。重启service network restart后发现不能解析了。用ip地址可以连,但是不能ping www.sina.com.cn
总是这样,设置一次可以,过一会或者重启一下服务器,重启一下network都不能解析了。发现/etc/resolv.conf又恢复到原来的状态,里面什么都没有了。手动加入nameserver也不行。

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

解决方法:
打开/etc/sysconfig/network-scripts/ifcfg-eth0

   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.109.2         DNS2=144.144.144.144 

结果:
这样设置后,/etc/resolv.conf里面根本就不需要设置。service network restart 后,可以发现/etc/resolv.conf里面就有两个dns的解析ip了。配置好以后重启网络,cat /etc/resolv.conf,可以看到如下参数:

    # Generated by NetworkManager   nameserver 192.168.109.2    nameserver 144.144.144.144

  
DNS解析设置成功。