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

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

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

修改文件/etc/sysconfig/network-scripts/ifcfg-eth0的内容:

NM_CONTROLLED="no"  //是否允许Network Manager管理,设置为no

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

但是!但是!但是!

经过本人亲测,最好还是把Network Manager这个服务彻底关闭,因为这个服务的关系总是会造成一些网卡bug,本人曾经遇到过网卡都启动失败了。

关闭方法如下:

#查看Network Manager服务状态
systemctl status  NetworkManager

#停止Network Manager服务
systemctl stop  NetworkManager

#关闭Network Manager开机启动
systemctl disable  NetworkManager

2、设置DNS内容:

修改DNS有如下两种方案,推荐第二种,第一种会存在有时当我们采用自建DNS服务时,需要在DNS配置文件设置短域名解析(search 域名),而这个只能在/etc/resolv.conf中进行设置,所以我们推荐第二种方式,直接修改/etc/resolv.conf

2.1 修改网卡设置

/etc/sysconfig/network-scripts/ifcfg-eth0中修改内容:

PEERDNS="yes"
DNS1="xxx.xxx.xxx.xxx"
DNS2="xxx.xxx.xxx.xxx"

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

2.2 直接修改/etc/resolv.conf(推荐)

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

nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

3、修改完毕重启网卡:

systemctl restart network

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

原文地址:https://www.cnblogs.com/forever521Lee/p/12011871.html

时间: 2024-08-11 11:31:38

CentOS7重启后resolv.conf被重置的解决方案的相关文章

Linux学习篇之---Ubuntu 14.04 重启后DNS配置丢失问题的解决方案

Ubuntu 14.04 重启后DNS配置丢失问题的解决方案 每次修改DNS配置文件 /etc/resolv.conf 重启后就会失效. 从网上查知,这个文件是动态创建,所以每次重启都会被重写,此文件中也有警告: 所以我们不能直接修改这个文件. 通过查资料得知两种方式: 1) vi /etc/network/interfaces dns-nameservers 8.8.8.8 2) vi /etc/resolvconf/resolv.conf.d/base nameserver 8.8.8.8

解决centos7重启后出现ata bus err

昨天把centos7装在电脑上了,还把win7系统格掉了,从此电脑上只装centos,有一种弃暗投明的感觉. 装完重启后欣赏了一番成果,一个halt命令想把系统关掉,却发现屏幕没黑,机器不转了,电源灯还亮着,于是使出撒手锏,按住电源键不动,强制关了. 第二天晚上回来开机,机器就不正常了,开机后一直ata bus err,详情见最后边的图. 怎么办,老子折腾了两三个小时,重装了三遍系统都一样结果!没办法我是小白. 最后搜了搜,万能的网友们说是硬盘故障,但是我的硬盘绝逼没坏--最后, 我用我一个更绝

linux -- Ubuntu修改静态IP地址重启后无法上网的解决

ubuntu设置静态IP地址后,上不了网 文章中也提到,如果是在/etc/resolv.conf添加DNS,由于Ubuntu 有一个 resolvconf 服务,如果重启它,那么 /etc/resolv.conf 的内容会被修改成默认的样子,文件里也有提示文字:“DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN”,所以不能直接修改 /etc/resolv.conf. 还有一点要注意的就是,/etc/resolv.c

[转]resolv.conf 配置信息重启后丢失解决方法

我要配置DNS,修改/etc/resolv.conf,修改后重启服务 service network restart ,修改/etc/resolv.conf的信息丢失,请大家看看. 修改前的配置# No nameservers found; try putting DNS servers into your# ifcfg files in /etc/sysconfig/network-scripts like so:## DNS1=xxx.xxx.xxx.xxx# DNS2=xxx.xxx.xx

resolv.conf文件重启后失效的解决办法

问题描述:我使用yum安装软件时,提示找不到域名,应该就是DNS设置的问题,在/etc/resolv.conf中添加nameserver 8.8.8.8这一行,再次使用yum时,能正常安装软件了,但是重启服务器后,resolv.conf文件就失效了,并且变成原来的样子. 解决办法:找到网卡的配置文件,在配置文件中加入DNS1=8.8.8.8,重启网络服务,即可.我这里用的是redhat6.5版本,使用的是第一块网卡,网卡配置文件的路径是/etc/sysconfig/network-scripts

如何保证修改resolv.conf后重启不恢复?

如何保证修改resolv.conf后重启不恢复? 修改/etc/resolv.conf,重启网卡后,/etc/resolv.conf恢复到原来的状态. CentOS.redhat下面直接修改/etc/resolv.conf不行.必须要在/etc /sysconfig/network-scripts/ifcfg-eth0里面最后加上dns的设置. 不然,重启后,肯定使用eth0设置中没有设 dns的相关信息,使/etc/resolv.conf恢复到原来的状态. 参考链接:ubuntu设置dns地址

CentOS 修改/etc/resolv.conf 重启network后又恢复到原来的状态?

问题描述:CentOS 修改/etc/resolv.conf 执行service network restart后,/etc/resolv.conf又恢复到原来的状态 解决方法:/etc/resolv.conf 保存 DNS 是暂时的,当重新启动 network 时,/etc/resolv.conf 恢复到了初始状态,要想更改,可尝试下边的方法. 修改 /etc/sysconfig/network-scripts/ifcfg-eth0 在其中的加入你要添加的DNS,如下图 之后保存退出,执行 s

Ubuntu关于修改resolv.conf重启失效的问题

在通常情况下,我们在ubuntu系统中可以通过resolv.conf来设置DNS地址.但重启后,resolv.conf中的地址仍然会返回为原来的内容. 这是因为resolv.conf文件其实是一个Link文件,如图: 在Ubuntu中有一个 resolvconf 的服务,这个服务用来控制/etc/resolv.conf的内容.所以一旦我们重启了系统或者该服务,那么/etc/resolv.conf文件中的内容将被还原为原来的内容.所以直接修改/etc/resolv.conf并不能解决这个问题. 解

Ubuntu更改 resolv.conf 重启失效

更改Ubuntu的 resolv.conf的时候,重启的时候,经常又给重置了.google大法找到方法. sudo apt-get install resolvconf  原来Ubuntu的resolvconf 服务重启的时候/etc/resolv.conf 的内容会被修改成默认的样子.默认的内容则来自于/etc/resolvconf/resolv.conf.d/base,将要添加的内容配置在这个文件即可在每次重启服务的时候重置nameserver, sudo gedit /etc/resolv