centos 修改resolv.conf后重启系统恢复原状  

2012-10-11 17:46:01|  分类: Linux |  标签: |举报 |字号 订阅

最近配置bind时,修改/etc/resolv.conf后,dns解析是服务器ip,但下次启动电脑时dns的ip变成外网dns.觉得奇怪上网搜索资料发现原因:

          CentOS 5.4以上版本(我用的是centos 6.2)下面直接修改/etc/resolv.conf不行。必须要在/etc /sysconfig/network-scripts/ifcfg-eth0里面最后加上dns的设置。要不然,重启后,肯定使用eth0设置中没有设 dns的相关信息,使/etc/resolv.conf恢复到原来的状态。

  打开/etc/sysconfig/network-scripts/ifcfg-eth0,为了保险起见,可以同样修改eth1的设置

  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   //你的ip地址
  GATEWAY=xxx.xxx.xxx.xxx   //网关
  DNS1=202.96.134.133   // dns我设的本机ip192.168.128.138  

        DNS2=202.96.128.166   

 

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

   # Generated by NetworkManager
   nameserver 202.96.134.133
   nameserver 2202.96.128.166 
   search localdomain

  DNS解析设置成功。
  在此要强调一点的是,直接修改/etc/resolv.conf这个文件是没用的,网络服务重启以后会根据/etc/sysconfig /network-scripts/ifcfg-eth0来重载配置,如果ifcfg-eth0没有配置DNS,那么resolv.conf会被冲掉,重 新变成空值。