我该如何理解 的输出dig
?
DNS 服务器存储资源记录的数据库。
是否dig
返回某个DNS服务器数据库中的资源记录?如果是,返回哪个 DNS 服务器数据库的资源记录dig
?
例如,dig
似乎没有返回DNS服务器数据库中的资源记录a.edu-servers.net
。
$ dig @a.edu-servers.net robot.cs.washington.edu
; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> @a.edu-servers.net robot.cs.washington.edu
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2401
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 3, ADDITIONAL: 7
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;robot.cs.washington.edu. IN A
;; AUTHORITY SECTION:
washington.edu. 172800 IN NS marge.cac.washington.edu.
washington.edu. 172800 IN NS hanna.cac.washington.edu.
washington.edu. 172800 IN NS holly.s.uw.edu.
;; ADDITIONAL SECTION:
marge.cac.washington.edu. 172800 IN A 140.142.5.13
marge.cac.washington.edu. 172800 IN AAAA 2607:4000:200:43::13
hanna.cac.washington.edu. 172800 IN A 140.142.5.5
hanna.cac.washington.edu. 172800 IN AAAA 2607:4000:200:42::5
holly.s.uw.edu. 172800 IN A 173.250.227.69
holly.s.uw.edu. 172800 IN AAAA 2607:4000:301:1::69
;; Query time: 46 msec
;; SERVER: 192.5.6.30#53(192.5.6.30)
;; WHEN: Mon Feb 11 16:27:09 EST 2019
;; MSG SIZE rcvd: 253
答案1
$ dig @a.edu-servers.net robot.cs.washington.edu
您要求为您a.edu-servers.net
查找 A 记录。robot.cs.washington.edu
;; WARNING: recursion requested but not available
但它基本上是说“我不会为你做所有的工作。但是,我可以告诉你这么多......”
;; AUTHORITY SECTION:
washington.edu. 172800 IN NS marge.cac.washington.edu.
washington.edu. 172800 IN NS hanna.cac.washington.edu.
washington.edu. 172800 IN NS holly.s.uw.edu.
“……据我所知,玛吉、汉娜和霍莉拥有该washington.edu
域的官方用语。如果他们不知道该域中的某些内容,那么该域就不存在。如果有子域,他们就不会知道直接控制,他们会指引你前进。”
;; ADDITIONAL SECTION:
marge.cac.washington.edu. 172800 IN A 140.142.5.13
marge.cac.washington.edu. 172800 IN AAAA 2607:4000:200:43::13
hanna.cac.washington.edu. 172800 IN A 140.142.5.5
hanna.cac.washington.edu. 172800 IN AAAA 2607:4000:200:42::5
holly.s.uw.edu. 172800 IN A 173.250.227.69
holly.s.uw.edu. 172800 IN AAAA 2607:4000:301:1::69
“以下是您如何通过 IPv4 和 IPv6 联系他们。”
答案2
在此命令中,您使用@a.edu-servers.net
服务器来解析robot.cs.washington.edu
域的子域washington.edu
,但这并不a.edu-servers.net
意味着权威解决有关该问题的疑问。在递归名称服务器的世界中,它的工作方式是,如果您的系统没有缓存记录并且a.edu-servers.net
没有,则首先查询根服务器.
以找出谁负责回答有关.edu
域的问题,然后响应谁负责回答谁域的答案washington.edu
。
这导致了答案
washington.edu. 172800 IN NS marge.cac.washington.edu.
washington.edu. 172800 IN NS hanna.cac.washington.edu.
washington.edu. 172800 IN NS holly.s.uw.edu.
其中有 3 个域名服务器负责回答有关washington.edu.
域名的问题。这就是它变得重要的地方 - 它依赖于名称服务器来提供资源记录,例如 SOA、TXT 等。相关答案:
在 RFC 没有严格要求的情况下,是否希望提供 AUTHORITY 部分取决于各个名称服务器的实现。 BIND 是默认显示此信息的服务器实现之一,但它还提供了用于禁用该行为的最小响应选项。
现在,根据我的最少经验,我通过 VPS 提供商提供的域名服务器获得了比 OpenDNS 等公共域名服务器更多的信息,所以我的猜测是,这还取决于查询的来源(住宅 IP 地址或其他地址),但到目前为止我还没有找到对这个想法的证实。