CentOS重启后resolv.conf被重置的解决方案

近期在修改一台CentOS服务器的DNS时发现只要重启服务器DNS就会被强制还原,解决方案如下:

1、首先在网卡设置中修改NM_CONTROLLED的值:

修改文件/etc/sysconfig/network-scripts/ifcfg-eth0的内容:
NM_CONTROLLED="no"  //是否允许Network Manager管理,设置为no

默认允许Network Manager管理DNS,所以首先设置为no,然后操作DNS设置

2、设置DNS内容:

修改DNS可以有如下两种方案:

①、修改网卡设置:

在/etc/sysconfig/network-scripts/ifcfg-eth0中修改内容:
PEERDNS="yes"
DNS1="xxx.xxx.xxx.xxx"
DNS2="xxx.xxx.xxx.xxx"

这种设置方案是以网卡中设置的DNS为主,resolv.conf中按照网卡设置的DNS内容自动生成,以后想修改DNS,必须修改网卡中的设置才不会在服务器重启之后出现DNS设置失效的问题。

②、直接修改/etc/resolv.conf的值:

PS.需要注意的是,若要使直接修改的DNS内容不会在服务器重启之后丢失,需要设置网卡中PEERDNS的值为no:
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

3、修改完毕之后重启网卡:
service network restart

按照上面任意一种方案修改DNS设置之后都不会出现重启服务器DNS设置复原的情况。

相关推荐