我试图通过 SSH 连接到我的服务器https://myrtlelime.com,但我注意到我无法访问它(尽管可以通过 Chrome 访问它)。
在我的本地计算机上运行它时我得到以下输出:
$dig @ns3.he.net myrtlelime.com +short
18.204.152.241
这是不正确的,查看我的 DNS 记录,我找不到任何关于此 IP 地址的信息。我从本地网络上的另一个 Linux 系统以及 Windows 和 Mac 中得到了相同的结果。
但是,如果我在任何服务器上运行 dig,我会得到:
$ dig @ns3.he.net myrtlelime.com +short
47.90.8.107
编辑:我认为这可能是因为我的 DNS 主机(Hurricane Electric - he.net)搞乱了一些东西,所以我将所有区域复制到 Cloudflare。奇怪的是,Cloudflare 现在也返回了相同的内容!但再次仅在我的本地网络上。
$ dig @piper.ns.cloudflare.com myrtlelime.com +short
18.204.152.241
结束编辑
什么原因可能导致此问题?我的 ISP 是否会在 DNS 记录到达之前以某种方式重写它们?
答案1
由于您直接查询权威服务器,因此缓存不应该成为一个因素。
我看到两个主要选择:
ns3.he.net
18.204.152.241
是任播(我相信是这种情况)并且一些任播节点不同步。不过,只有当记录在某个时刻具有值时,这才有意义。- 您的 ISP、您或其他某个人正在拦截您网络中的 DNS 并提供不同的答案。
答案2
我首先想到的是 DNS 缓存问题...每当 DNS 记录的“所有者”更改它时,都需要一些时间通过网络传播更改,因为 DNS 服务器会缓存最后的响应以减少网络负载。
;; ANSWER SECTION:
p2.myrtlelime.com. 300 IN A 47.90.8.107
300 是 TTL,以秒为单位 - 因此这是一个相当短的缓存时间...但一些错误实施的 DNS 服务器/ISP 会缓存这些条目的时间比 TTL 更长。我会刷新您 PC 上的所有 DNS 缓存,如果没有任何帮助,请切换到谷歌的公共 DNS 服务器...
答案3
18.204.152.241 是 AWS EC2 实例(位于 us-east-1)(使用以下方式检查https://bgp.he.net/)
另外,Chrome 扩展程序 IPvFoo 会告诉您 URL 在 Chrome 中解析的 IP 地址。
也许这有助于缩小您的问题范围。