如果我的域有矛盾的 NS 记录:
dig +trace example.com
example.com. 172800 IN NS ns1.webfaction.com.
example.com. 172800 IN NS ns2.webfaction.com.
example.com. 172800 IN NS ns2.mydyndns.org.
我的 DNS 客户端将查询哪一个?顺序重要吗?我如何知道顺序?
答案1
在大多数情况下,向您呈现列表的顺序是随机排序的。但您(作为 dns 管理员)也可以配置顺序输出(循环)或静态输出。取决于管理员的心情。
客户端选择哪个条目也取决于客户端的开发者。
dig +trace 选择一个随机条目。
无论如何,这样做的唯一原因是负载平衡。如果所有服务器运行良好,那么实际使用哪个条目并不重要。
答案2
运行相同的命令时我看不到相同的输出。
但要回答你的问题,将随机选择一个,并且你列出的顺序无关紧要。你可以通过连续运行看到这一点:
$ dig +trace inburke.com
...
inburke.com. 3600 IN A 108.59.11.111
;; Received 45 bytes from 173.230.141.144#53(ns4.webfaction.com) in 96 ms
$ dig +trace inburke.com
...
inburke.com. 3600 IN A 108.59.11.111
;; Received 45 bytes from 178.79.142.142#53(ns2.webfaction.com) in 8 ms
答案3
我相信解析器使用循环方法来查询 DNS 主机。