Chrome 是否使用与操作系统不同的 DNS 服务器?

jci*_*sio 11 linux dns google-chrome

我在 Linux 上运行 Chrome。我有本地 DNS 将 *.myname.com 解析为 127.0.0.2(我输入“host nothing.myname.com”或“host myname.com”,我看到了正确的地址)。但是,在 Chrome 中,当我输入“myname.com”时,它会被重定向到“www.myname.com”并解决我不想要的“真实”网站。

只有当我输入“test.myname.com”而不是“www.myname.com”时,Chrome 才会将其正确解析为 127.0.0.2。我猜 Chrome 正试图用 www.anything.com 和 any.com 做一些时髦的事情。

如何解决?

PS:我使用的本地 DNS 是 dnsmasq。如果我明确地将 myname.com 放入 /etc/hosts,Chrome 会将其正确解析为 127.0.0.2,但我无法在 /etc/hosts 中使用通配符。

PPS:我可以在 chrome://net-internals/#dns 确认 Chrome 正确地将 myname.com 和 www.myname.com 转换为真正的公共 IP。

jci*_*sio 6

事实上,Chrome 使用自己的 DNS 客户端与多个 DNS 服务器(本地 DNS、路由器 DNS、IPv6 中的路由器 DNS)进行通信。我转到 chrome://flags 并禁用“内置异步 DNS”。现在它起作用了。

  • 此选项已从 Chrome 中删除,删除答案以防止混淆或否决:D (6认同)
  • 从 Google Chrome 中删除了“内置异步 DNS”标志,从而禁用了对此的“修复”。https://chromium.googlesource.com/chromium/src/+/eabf1f5baba38d46921acd6edda594f942f7d6a1(来自 http://superuser.com/a/887191/109126) (2认同)