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

  • 内容
  • 评论
  • 相关

安装了一台CentOS 6.3手动分配了一下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=218.30.19.40 #西安dns,根据实际情况更换
DNS2=61.134.1.4 #西安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.2cto.com

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

service networking restart