转自http://hi.baidu.com/iamcyh/blog/item/4cfa1c021e9630f208fa9300.html

解决方法:

在 /etc/sysconfig/network-scripts/ifcfg-eth 文件中加入 PEERDNS 选项。可以是 0, 1, 2 等等,代表不同网卡的配置文件。例如,系统上第一张网卡是eth0的话,那它的配置文件就是 /etc/sysconfig/network-scripts/ifcfg-eth0 。

然后在文件中把 PEERDNS 改为 'no'. 例如:

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
PEERDNS=no这个选项可令 /etc/resolv.conf 在系统重启后不会被重写。

此法无效的话还要在eth0中添加dns信息:

/etc/ resolv.conf文件中的 namesever 在重启RedHat5或重启service network restart 后丢失,我按文件的说明到/etc/sysconfig/network-scripts/ ifcfg-eth0 添加DNS后解决。但是我不知道到底是什么在重启的时候重写了/etc/ resolv.conf文件。

/etc/ resolv.conf文件如下:

nameserver 59.51.78.210
nameserver 59.51.78.211
nameserver 192.168.0.1
search domain
domain domain
# Generated by NetworkManager

# 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
===============================================
/etc/sysconfig/network-scripts/ ifcfg-eth0 的内容:

# Intel Corporation 82540EM Gigabit Ethernet Controller
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HWADDR=08:00:27:cc:64:86
NETMASK=255.255.255.0
IPADDR=192.168.0.155
GATEWAY=192.168.0.1
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=no

#我在这添加了DNS后,/etc/ resolv.conf文件内容保存下来了
DNS1=202.96.128.86
DNS2=202.96.128.166
DNS3=8.8.8.8