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設置復原的情況。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM