![如何:systemd-resolve 写入错误的 resolv.conf 而不读取设置](https://linux22.com/image/1024646/%E5%A6%82%E4%BD%95%EF%BC%9Asystemd-resolve%20%E5%86%99%E5%85%A5%E9%94%99%E8%AF%AF%E7%9A%84%20resolv.conf%20%E8%80%8C%E4%B8%8D%E8%AF%BB%E5%8F%96%E8%AE%BE%E7%BD%AE.png)
这个问题是一个阻塞问题,它确实阻止我使用笔记本电脑和访问互联网。
使用 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 设置中输入的配置