0%

谈谈resolve.conf

/etc/resolve.conf文件大家应该很熟悉了,最近被同事问到修改该文件后后总是自动还原的问题,在这里做一个简单的记录。

情景重现

系统类型 版本
Ubuntu Server 18.04
1
2
3
echo 'nameserver 114.114.114.114' > /etc/resolve.conf
cat /etc/resolve.conf
nameserver 114.114.114.114

一段时间后…

1
2
3
4
5
6
7
cat /etc/resolve.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53

解决方案

通过查看还原后的文件内容,发现两个关键信息

  • systemd-resolve –status
  • nameserver 127.0.0.53

这说明系统将DNS解析服务由systemd的resolve服务托管,resolve.conf文件也由该服务维护。如果想使用自定义DNS服务器,很简单。

1
2
3
systemctl stop systemd-resolve
systemctl disable systemd-resolve
echo 'nameserver 114.114.114.114' > /etc/resolve.conf

后记

看文档,看提示信息。一切皆有迹可循。