Ubuntu系统ECS重启后“/etc/resolv.conf”被还原怎么办?

问题描述

在重启Ubuntu系统的ECS或者重启网络相关服务后,手动修改的/etc/resolv.conf文件被刷新,nameserver字段被还原了127.0.0.53,导致解析域名。

图1 问题现象

根因分析

Ubuntu系统相关版本默认使用systemd-resolved服务维护DNS,重启云服务器或者重启网络相关服务会导致/etc/resolv.conf文件被刷新成systemd-resolved服务维护的127.0.0.53地址。

处理方法

说明:

在处理前,建议先禁用systemd-resolved服务。

方法一:手动修改/etc/resolv.conf文件。

  1. 以root用户登录ECS。
  2. 关闭并禁用systemd-resolved服务。

    systemctl stop systemd-resolved

    systemctl disable systemd-resolved

  3. 默认的/etc/resolv.conf是软链接,删除重建为普通文件。

    rm -rf /etc/resolv.conf

  4. 编辑/etc/resolv.conf,增加相关DNS配置。

    vim /etc/resolv.conf

    通过添加自定义的nameserver参数增加DNS配置,如下所示:(100.125.1.250、100.125.129.250) 改为自己的DNS

    nameserver 100.125.1.250
    nameserver 100.125.129.250
  5. 将/etc/resolv.conf配置文件加锁,防止被dhcp或者其他服务更改。

    chattr +i /etc/resolv.conf

方法二:使用NetworkManager根据dhcp获取的DNS信息(vpc子网中配置的DNS信息)维护/etc/resolv.conf文件。

  1. 关闭并禁用systemd-resolved服务。

    systemctl stop systemd-resolved

    systemctl disable systemd-resolved

  2. 编辑NetworkManager配置文件,增加dns=default配置。

    vim /etc/NetworkManager/NetworkManager.conf

    [main]
    plugins=ifupdown,keyfile
    dns=default
    
    [ifupdown]
    managed=true
    
    [device]
    wifi.scan-rand-mac-address=no
  3. 默认的/etc/resolv.conf是软链接,删除重建为普通文件。

    rm -rf /etc/resolv.conf

  4. 重启NetworkManager,刷新/etc/resolv.conf文件。

    systemctl restart NetworkManager

posted @ 2024-01-23 17:53  printertool  阅读(131)  评论(0编辑  收藏  举报