Ubuntu重启后“/etc/resolv.conf”被还原

By | 2024-01-14

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

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

以root用户登录ECS。
关闭并禁用systemd-resolved服务。
systemctl stop systemd-resolved

systemctl disable systemd-resolved

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

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

通过添加自定义的nameserver参数增加DNS配置,如下所示:

nameserver 100.125.1.250
nameserver 100.125.129.250

将/etc/resolv.conf配置文件加锁,防止被dhcp或者其他服务更改。
chattr +i /etc/resolv.conf

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

关闭并禁用systemd-resolved服务。
systemctl stop systemd-resolved

systemctl disable systemd-resolved

编辑NetworkManager配置文件,增加dns=default配置。
vim /etc/NetworkManager/NetworkManager.conf

[main]
plugins=ifupdown,keyfile
dns=default

[ifupdown]
managed=true

[device]
wifi.scan-rand-mac-address=no

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

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

检查/etc/resolv.conf中的dns相关配置。
如果与云服务器所属子网下的DNS配置一致,代表修改成功。