1. 程式人生 > >Centos中修改/etc/resolv.conf又恢復到原來的狀態

Centos中修改/etc/resolv.conf又恢復到原來的狀態

轉自: http://lsscto.blog.51cto.com/779396/762240

機器系統為CentOS6,ip地址已經設好了。使用setup更改了一下外地公網的dns,儲存退出。重啟service network restart後發現不能解析了。用ip地址可以連,但是不能ping www.sina.com.cn

  總是這樣,設定一次可以,過一會或者重啟一下伺服器,重啟一下network都不能解析了。發現/etc/resolv.conf又恢復到原來的狀態,裡面什麼都沒有了。手動加入nameserver也不行。

  後來到網上查詢,發現有人與我同樣的問題。原來在CentOS5.4下面直接修改/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
  GATEWAY=xxx.xxx.xxx.xxx
  DNS1=202.96.209.5     

        DNS2=202.96.209.133  

  這樣設定後,/etc/resolv.conf裡面根本就不需要設定。service network restart 後,可以發現/etc/resolv.conf裡面就有兩個dns的解析ip了。配置好以後重啟網路,cat /etc/resolv.conf,可以看到如下引數:

   # Generated by NetworkManager
   nameserver 202.96.209.5
   nameserver 202.96.209.133
   search localdomain

  DNS解析設定成功。
  在此要強調一點的是,直接修改/etc/resolv.conf這個檔案是沒用的,網路服務重啟以後會根據/etc/sysconfig /network-scripts/ifcfg-eth0來過載配置,如果ifcfg-eth0沒有配置DNS,那麼resolv.conf會被沖掉,重 新變成空值。

  不過對於其他的CentOS系統是否也是這樣的,要是遇到同樣的問題。就這樣設一下試試