如何测试DNS信息是否已经传播?

如何测试DNS信息是否已经传播?

我为我的一个子域设置了一个新的 DNS 条目(我还没有设置任何 Apache 虚拟主机或类似的东西)。如何检查 DNS 信息是否已传播?

我假设我可以简单地ping my.subdomain.com假设如果它可以解析,它将显示我在 A 记录中指定的 IP 地址。但是,我不知道我的假设是否正确。检查此信息的最佳方法是什么?

答案1

您可以使用 dig 或 nslookup,假设您的(或如果您没有运行自己的,则是您的提供商的)名称服务器是 ns1.example.com。

使用 nslookup:

nslookup - ns1.example.com

在提示符下输入:

my.example.com

如果它解析的结果符合您的预期,那么它就可以正常工作。它应该会给出类似以下内容的结果:

Name:   example.com
Address: 192.0.43.10

它可能仍需要一段时间才能传播到互联网的其他部分,这超出了你的控制范围。

使用 dig:

[email protected] my.example.com

你应该看到类似这样的内容:

;; ANSWER SECTION:
example.com.        172800  IN  A   192.0.43.10

仅使用 ping 可能会给您一个想法,但只有当它已经传播(由远程名称服务器缓存可能是更好的描述方式)并且您的本地 DNS 缓存可能需要刷新时才会这样。虽然在您的情况下这并不适用,因为这是一条新记录。在这种情况下,它应该立即可用。与仅 ping 它相比,上述方法可以更准确地为您提供想法。

如果您使用 Windows,那么命令和语法可能会略有不同,但非常相似。

答案2

您无法测试 DNS 记录传播,因为 DNS 传播不会发生。您可以测试的是 DNS 客户端或服务器是否缓存了特定的 DNS 记录。

由于这是一条新的 DNS 记录,因此不可能发生缓存。假设您的名称服务器已在父服务器上正确注册,并且您的名称服务器正常工作,则此 DNS 记录应立即可供任何 DNS 客户端或服务器使用。

答案3

虽然其他答案都很好,但请记住,传播给你的内容可能不会传播给我。我通常使用 DIG 或 NSlookup 来检查世界各地的 DNS 服务器,而不是使用 DIG 或 NSlookup 来检查世界各地的 DNS 服务器。http://www.whatsmydns.net/看看传播的进展如何。

答案4

尝试 check-host.net:

http://check-host.net/check-dns?host=example.com%20

该网站允许你通过多个公共 DNS 服务器并行执行 DNS 查询。超级方便。

相关内容