我认为这个问题与我的 DNS 服务器有关,但我似乎无法弄清楚。我在 Hyper-V 虚拟机中运行 Arch,该虚拟机使用“旧网络适配器”连接到主机的无线网络适配器。
当我运行ping 216.58.192.164
www.google.com 的 IP 地址时,我得到以下输出和成功的 ping(如预期):
PING 216.58.192.164(216.58.192.164) 56(84) bytes of data.
当我运行时ping www.google.com
,我得到以下输出和 100% 丢包率:
Ping www.google.com(ord36s01-in-x04.ie100.net (2607::f8bo::4009::80c::2004)) 56 data bytes
我的主机 PC(运行 Windows 10)上的互联网连接工作正常。
我还注意到主机 PC 有不同的 DNS 服务器集。它使用 Google 的 8.8.8.8 和 8.8.4.4,而 Arch 虚拟机使用我的 ISP(时代华纳有线)。但是,即使我更改为 Google DNS 服务器,问题仍然存在。
任何帮助将不胜感激。
编辑:
当我运行时ping 8.8.8.8
,我得到以下输出并成功 ping:
PING 8.8.8.8(8.8.8.8) 56(84) bytes of data
当我运行时nslookup stackexchange.com 8.8.8.8
,我得到以下信息:
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: stackexchange.com
Address: 151.101.1.69
Name: stackexchange.com
Address: 151.101.65.69
Name: stackexchange.com
Address: 151.101.129.69
Name: stackexchange.com
Address: 151.101.193.69
答案1
我已经使用 Rui F Ribeiro 的答案解决了这个问题这里。
我打开/etc/gai.conf
并将以下内容添加到最后一行:
precedence ::ffff:0:0/96 100
然后我创建了一个文件/etc/sysctl.conf
并将其添加net.ipv6.conf.all.disable_ipv6=1
到最后一行。我然后就跑了sudo sysctl -p
。然后一切都很顺利。