如何:systemd-resolve 写入错误的 resolv.conf 而不读取设置

如何:systemd-resolve 写入错误的 resolv.conf 而不读取设置

这个问题是一个阻塞问题,它确实阻止我使用笔记本电脑和访问互联网。

使用 Ubuntu 20.04.3 10 月 19 日最新更新

在 10 月 10 日最后一次更新后,我突然遇到了 DNS 解析问题。更新前我的 /etc/resolv.conf 内容如下:

名称服务器 127.0.0.53

在我的网络管理器设置中,我输入了我的 ISP 的 2 个 DNS 服务器 IP 地址:1xx.2xx.xxx.21 1xx.2xx.xxx.22

命令的结果

$ ls -al /etc/resolv.conf

lrwxrwxrwx 1 root root 32 okt 13 14:10 /etc/resolv.conf -> /run/systemd/resolve/resolv.conf

所以我做了

$ sudo rm -f /etc/resolv.conf

$ sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

却发现它没有改变任何东西:重新启动 systemd-resolve 服务后,新的 /etc/resolv.conf 的内容仍然显示

名称服务器 ::1

我设法通过反复手动保存 /etc/resolv.conf 文件并覆盖 systemd-resolve 服务写入的文件(解决方法)来完成更新。为了确保人们不会怀疑我的阅读能力:我确实理解文件顶部的警告,表明该文件定期被覆盖。

我通过定期覆盖文件 /run/systemd/resolve/resolv.conf 来维持“可用连接”,

名称服务器 1xx.2xx.xxx.21

名称服务器 1xx.2xx.xxx.22

直到我重新启动 systemd-resolve 服务并且该文件被 resolve 覆盖并且恢复为

名称服务器 ::1

我还检查了 /run/systemd/resolve/stub-resolv.conf 文件,其中包含以下内容

名称服务器 127.0.0.53
选项 edns0 trust-ad

我的问题是:

A- 我如何确保解析服务在 /etc/resolv.conf 中写入正确的文件内容 = 我确实知道这是一个符号链接

B- systemd-resolve 用于生成 /etc/resolv.conf 和 /run/systemd/resolve/resolv.conf 的参数文件在哪里,因为它肯定不会读取在 netmanager 设置中输入的配置

相关内容