我为我的一个子域设置了一个新的DNS条目(我还没有设置任何Apache虚拟主机或类似的东西呢)。 我如何检查DNS信息已经传播?
我假设我可以简单地ping my.subdomain.com并假设它可以解决,它会显示我在Alogging中指定的IP地址。 但是,我不知道我是否假设正确。 检查这些信息的最佳方法是什么?
你可以使用dig或nslookup,说你的(或者你的提供者的,如果你不运行你自己的)nameserver是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可能会给你一个想法,但只有当它传播(由远程名称服务器caching可能是一个更好的方式来描述它),您的本地dnscaching可能需要刷新。 虽然在你的情况下,这不适用,因为这是一个新的logging。 在这种情况下,它应该立即可用。 上面的方式更准确地给你一个想法,而不是只是把它打了。
如果你使用Windows,那么命令和语法可能会略有不同,但是非常相似。
您不能testingDNSlogging传播,因为DNS传播不会发生。 您可以testing的是DNS客户端或服务器是否具有caching的特定DNSlogging。
由于这是一个新的DNSlogging,因此不会发生caching。 假设您的名称服务器在父服务器上正确注册,并且名称服务器正常工作,则此DNSlogging应立即可用于任何DNS客户端或服务器。
虽然其他答案很好,但请记住传播给你的内容可能不会传播给我。 而不是使用DIG或NSlookup,并花费一个小时检查世界各地的DNS服务器,我通常使用http://www.whatsmydns.net/来看看传播是如何进行的。
确保您的委托path中权威DNS服务器正确回答的最简单方法是使用dig +trace :
; <<>> DiG 9.7.3 <<>> +trace www.google.com a ;; global options: +cmd . 80050 IN NS m.root-servers.net. . 80050 IN NS f.root-servers.net. . 80050 IN NS i.root-servers.net. . 80050 IN NS h.root-servers.net. . 80050 IN NS c.root-servers.net. . 80050 IN NS k.root-servers.net. . 80050 IN NS d.root-servers.net. . 80050 IN NS g.root-servers.net. . 80050 IN NS a.root-servers.net. . 80050 IN NS b.root-servers.net. . 80050 IN NS e.root-servers.net. . 80050 IN NS l.root-servers.net. . 80050 IN NS j.root-servers.net. ;; Received 509 bytes from 192.168.1.1#53(192.168.1.1) in 0 ms com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. ;; Received 504 bytes from 198.41.0.4#53(a.root-servers.net) in 127 ms google.com. 172800 IN NS ns2.google.com. google.com. 172800 IN NS ns1.google.com. google.com. 172800 IN NS ns3.google.com. google.com. 172800 IN NS ns4.google.com. ;; Received 168 bytes from 192.43.172.30#53(i.gtld-servers.net) in 20 ms www.google.com. 604800 IN CNAME www.l.google.com. www.l.google.com. 300 IN A 173.194.35.180 www.l.google.com. 300 IN A 173.194.35.178 www.l.google.com. 300 IN A 173.194.35.176 www.l.google.com. 300 IN A 173.194.35.177 www.l.google.com. 300 IN A 173.194.35.179 ;; Received 132 bytes from 216.239.34.10#53(ns2.google.com) in 27 ms
这将遵循代表权威为您的查询的名称服务器。 最后一个答案通常是你最关心的问题,但跟踪是有帮助的,因为它会显示谁正在为每个代表团回答问题。 如果您要更改名称服务器,那么这可能非常有用。
请记住,跟踪将直接查询授权服务器,所以没有caching。 这是最好的表示,答案正如预期的那样被返回,但这并不能很好地说明最终用户可能会遇到什么问题。 然而,由于你无法控制其他人的caching域名服务器(除了有先见之明,降低你的TTL,等待原来的TTL,做出更改,然后恢复TTL),通常情况下,事后并不值得检查。
尝试check-host.net:
http://check-host.net/check-dns?host=example.com%20
该站点允许您通过多个公用DNS服务器并行执行DNS查询。 超级方便。