我有一个由 Proxmox 管理的虚拟机,它运行 Ubuntu 20.04(桌面),并且还运行 docker(带有 portainer)。我无法获得任何 dns 解析,即如果我ping google.com
这样做Temporary failure in name resolution
(如果我 ping 则8.8.8.8
没问题)。但是,如果我在另一个具有相同操作系统和 Proxmox 设置的虚拟机中执行此操作,则 ping 正常。
在两个虚拟机中,该/etc/resolv.conf
文件是相同的;它只有两行(以及一条巨大的注释,指出不要编辑此文件,因为它是动态管理的):
nameserver 127.0.0.53
options edns0 trust-ad
Proxmox节点本身设置了两个DNS IP;8.8.8.8
和8.8.4.4
。在一台虚拟机上安装 docker 会破坏 DNS,这似乎很荒谬……
答案1
显然,在 /etc/systemd/resolv.conf 中,我取消了 DNSStubListener=no 行的注释。重新注释该行可以解决我所有的 DNS 问题。老实说,不知道为什么,但至少它有效。我不介意知道为什么这有效......