我读过很多关于 DNS 和修复的帖子,但问题并没有解决。我有一个私有虚拟网络,多个虚拟机连接到一个带互联网的路由器。它们都有互联网,可以成功 ping 通 IP。其中一些使用 Ubuntu 的默认网络设置。其中两个在使用类似 的服务器名 ping 时出现问题ping google.com
。我注意到有很多方法可以解决这个问题,最成功的方法是用 进行跟踪,resolvectl
如果没有公共 DNS,请添加它。这是发生问题时 resolvectl 的输出(我没有在发生问题的网络或系统中更改任何内容):
Global
Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Link 2 (ens3)
Current Scopes: DNS
Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS
DNSSEC=no/unsupported
DNS Servers: 192.168.10.3 192.168.10.4 192.168.10.2
因此我/etc/netplan/50-cloud-init.yaml
通过添加名称服务器进行了修改,如下所示:
network:
version: 2
ethernets:
ens3:
dhcp4: true
match:
macaddress: fa:16:3e:64:11:20
mtu: 1450
set-name: ens3
nameservers:
addresses: [4.2.2.4, 8.8.8.8]
此后netplan apply
,的输出resolvectl
添加了这一行:
DNS Servers: 4.2.2.4 8.8.4.4 192.168.10.3 192.168.10.4 192.168.10.2
此修改没有帮助,所以我尝试使用并添加了resolvectl dns ens3 4.2.2.4 8.8.4.4
该行。通过此操作,其中一个虚拟机可以 ping 名称服务器(重新启动后可能会丢失),而另一个虚拟机仍然无法访问。我应用并失败的其他解决方案是通过添加编辑文件。我真的找不到任何其他可以提供帮助的解决方案。请记住,使用 ip ping 可以正常工作。欢迎任何建议。Current DNS Server: 4.2.2.4
/etc/systemd/resolved.conf
DNS=4.2.2.4