• 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设置复原的情况。

  • 相关阅读:
    资产 = 负债 + 所有者权益
    并发编程四(3) 线程同步
    并发编程四(2) 线程同步
    并发编程四(1) 线程同步
    并发编程(三) 线程互斥
    并发编程(二)multiprocessing.dummy.Pool
    并发编程(一)

    mysql 存储过程演示造数据
    vue系列 箭头函数和this
  • 原文地址:https://www.cnblogs.com/forever521Lee/p/12011871.html
Copyright © 2020-2023  润新知