一段时间以来,我一直面临一个问题:在 Linux 上,无论是 Manjaro 还是 Arch,在几台计算机上,DNS 查找时间都非常长。连接到一个新网站(即banana.com
)需要长达 5 秒钟(它停留在resolving host...
),但刷新几乎是即时的。
无论如何,在 Windows 上它几乎是即时的。
cat /etc/resolv.conf
在 Linux 和Windows 上执行结果ipconfig /all
表明两者都有相同的 DNS 服务器:
$ cat /etc/resolv.conf
nameserver 192.168.0.1
nameserver 2607:f2c0::1
nameserver 2607:f2c0::2
ipconfig /all
.... (skipping stuff)
DNS Servers . . . . : 2607:f2c0::1
2607:f2c0::2
192.168.0.1
我也尝试在路由器设置中使用 OpenDNS/Cloudfare DNS/Google DNS。我没有运行 VPN。
我该如何修复这个缓慢的 DNS 解析问题?
答案1
许多 DNS 解析器按顺序使用列出的 DNS 服务器。我注意到您的两个系统以不同的顺序排列它们。尝试在 Linux 机器上将 IPv6 地址放在 IPv4 地址之前/etc/resolv.conf
,看看是否能解决问题。
使用 DNS 故障排除工具(如dig
或 )nslookup
专门针对 192.168.0.1 服务器,查看它是否启动并及时回复 DNS 查询:dig @192.168.0.1 www.example.com
。
我怀疑 192.168.0.1 是您本地 NAT 网关路由器的 LAN 私有 IP 地址,并且其 DNS 服务无法正常运行。