近期在修改一台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设置复原的情况。