Dig 返回错误的 DNS 记录,但仅在特定网络上。怎么了?

phs*_*rce 0 domain-name-system

我试图通过 SSH 连接到我的服务器https://myrtlelime.com,但我注意到我不能(尽管能够在 Chrome 上访问它)。

在我的本地计算机上,运行它时得到以下输出:

$dig @ns3.he.net myrtlelime.com +short
18.204.152.241
Run Code Online (Sandbox Code Playgroud)

这是不正确的,在我的 DNS 记录中,我找不到提及此 IP 地址的内容。我从本地网络上的另一个 Linux 系统以及 Windows 和 Mac 中得到了相同的结果。

但是,如果我在我的任何服务器上运行 dig,我会得到:

$dig @ns3.he.net myrtlelime.com +short
18.204.152.241
Run Code Online (Sandbox Code Playgroud)

编辑:我认为这可能是因为我的 DNS 主机(Hurricane Electric - he.net)搞砸了,所以我将所有区域复制到 Cloudflare。奇怪的是,Cloudflare 现在也返回了同样的东西!但再次仅在我的本地网络上。

$ dig @ns3.he.net myrtlelime.com +short
47.90.8.107
Run Code Online (Sandbox Code Playgroud)

结束编辑

什么可能导致这个问题?我的 ISP 是否会在 DNS 记录到达之前以某种方式重写它们?

Håk*_*ist 5

由于您是直接查询权威服务器,因此缓存不应成为一个因素。

我看到两个主要选项:

  • ns3.he.net是任播(我认为是这种情况)并且一些任播节点不同步。但是,如果记录18.204.152.241在某个时候具有价值,那么这仅作为一种解释才有意义。
  • 您的 ISP、您或可能的其他人正在从您的网络中拦截 DNS 并提供不同的答案。

  • @phsource 要么是您的 ISP,要么是您自己在自己的网络上安装的某些硬件。 (2认同)