问题描述:解决CentOS 7.4重启后/etc/resolv.conf被重置的问题
云资源的服务器/etc/resolv.conf文件原先的配置如下:
解决方法:/etc/resolv.conf保存DNS是暂时的,当重新启动network时,/etc/resolv.conf恢复到了初始状态,要想更改,可尝试下边的方法。
一、修改/etc/sysconfig/network-scripts/ifcfg-eth0
在其中的加入你要添加的DNS,如下图
之后保存退出,执行server network restart,则在/etc/resolv.conf中会自动添加你刚才在ifcfg-eth0中添加的DNS信息(如下图),且重启仍有效。
二、修改网卡配置,增加“PEERDNS=no”
保存退出,执行server network restart,原先的这两个“
search openstacklocal
nameserver 114.114.114.114
”参数没有了,在/etc/resolv.conf中会自动添加只有你刚才在ifcfg-eth0中添加的DNS信息(如下图),且重启仍有效。
三、不需要dns话,只要增加“PEERDNS=no”参数,重启网络卡后resolv.conf文件为空,如下图:
至此结束
番外:
在Linux中,DNS的配置文件位于/etc/resolv.conf,里面主要有三个字段,分别是nameserver, domain, search
我们简单看一下以下例子:
# Generated by NetworkManager domain example.com search example.com nameserver 192.168.1.100
这里domain和search是一个作用,在俩这同时存在时,前者失效。
当访问的域名不能被DNS解析时,resolver会将该域名加上search指定的参数,重新请求DNS,直到被正确解析或试完search指定的列表为止。
peerdns字段的作用域分两种情况:
为yes时:1 如果在网卡(ifcfg-eth0)中设置了DNS地址,或者开启了dhcp client(proto为dhcp)时,此项默认为yes,所以每次NetworkManager进行重写时,
都会获取dhcp client抓到的dns信息对nameserver和search字段进行重写。
为no时: 不会对/etc/resolv.conf进行重写