Ubuntu 22.04:LXC 中的“名称解析暂时失败”

Ubuntu 22.04:LXC 中的“名称解析暂时失败”

今天早些时候,我将 LXC 容器升级到 Ubuntu 22.04,名称解析停止工作。按名称 ping 任何内容都会失败。当然,我可以添加nameserver 8.8.8.8/etc/resolv.conf这样可以解决问题。但当然,每当我重新启动时,文件都会发出警告:DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN... 确实如此。它还指出,run "systemd-resolve --status" to see details但是... 没有这样的命令!句号。

下一个要查看的地方是/etc/network/interfaces该文件自 2015 年 6 月以来没有改变,并且包含应该使用的 DNS 服务器。

下一个要看的地方是/usr/lib/systemd/resolv.conf,对我来说,包含

nameserver 127.0.0.53
options edns0 trust-ad
search .

根据网上搜索,这似乎是正确的。它确实说明了:Run "resolvectl status" to see details这确实有效:

# resolvectl status
Global
       Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: foreign

Link 2 (eth0)
Current Scopes: none
     Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
    DNS Domain: DOMAINS

但上面的信息不足以表明问题是什么。我在任何错误日志中都找不到任何错误/var/log

困惑了。

答案1

有一个解决方法。有一个全新的配置文件位于/etc/systemd/resolved.conf,将名称服务器复制到/etc/network/interfaces这个新配置文件中,名称解析就可以正常工作了!(运行后service systemd-resolved restart

我不喜欢现在有两个配置文件保存 DNS 信息,并且必须手动同步这两个文件的想法。这只会给系统管理员带来未来的调试难题。因此,被/etc/network/interfaces忽略的核心问题仍然存在。

相关内容