CentOS DNS resolv重起无效的解决方法

作者: JavasBoy 分类: Linux 发布时间: 2012-05-08 15:08 ė111,377 views 62条评论

上上个星期重装安装了一台CentOS 6.2手动分配了一下ip地址,在/etc/resolv.conf这里设置好了DNS。之后可以上网鸟。重起机子后无后ping能网站了,打开/etc/resolv.conf发现又变回没测试之前的。

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

vim /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=202.96.209.5 #上海dns,根据实际情况更换
DNS2=202.96.209.133 #上海dns,根据实际情况更换

这样设置后/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会被冲掉,重新变成空值。

哎,不知道为啥以前装的系统没有出现这样的情况呢?

修改host文件
打开host文件

/etc/hosts

添加你需要的项,格式如下:

格式:

<IP> <HOSTNAME>.<DOMAIN> <ALIAS>

示例:

216.239.37.99 www.google.com

编辑后,你需要重新启动一下你的网络。

/etc/init.d/networking restart

本文出自 刘荣星的博客,转载时请注明出处及相应链接。

本文永久链接: https://www.liurongxing.com/centos-dns-ifcfg-resolv.html

2条评论

  1. Carson 2013年3月20日 12:53 回复

    应该是netmanger 在作怪 你停掉他应该就好了

  2. 静夜轻风 2013年3月23日 17:44 回复

    因为你在网卡eth0中配置了
    PEERDNS=yes
    所以每次系统在启动网卡时,就用这个配置文件中的DNS1和DNS2去修改resorlv.conf。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Ɣ回顶部