我为我的一个子域设置了一个新的 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 查询。超级方便。