我对 DNS 解析感到困惑。对于某个域,我们怎么可能获得 IP(A 记录),但却没有返回该域的权威 NS。例如
dig ns HDRedirect-LB3-890977680.us-east-1.elb.amazonaws.com
什么也不返回,
dig A HDRedirect-LB3-890977680.us-east-1.elb.amazonaws.com
返回
HDRedirect-LB3-890977680.us-east-1.elb.amazonaws.com. 51 IN A 52.204.129.22
HDRedirect-LB3-890977680.us-east-1.elb.amazonaws.com. 51 IN A 54.85.127.70
如果域名可以解析,它应该有一个权威的 NS,我该如何获取?
答案1
它按预期工作。这里错误的假设是所有名称都应该有NS
记录。
相反,名称服务器集是根据每个区域定义的,并且NS
仅在区域顶点有记录。
例如,如果您已经委托了其他任何子域名,但尚未委托其他任何子域名,则example.com 下的任何位置example.com
均无进一步记录。 如果您委托其他任何子域名,则该名称(根据定义,是新区域的开始)将具有记录。NS
foo.bar.example.com
NS
有几种可能的方法可以查找给定名称属于哪个区域。实际上,它通常分为两个步骤。
一种方法是从例如开始:
dig HDRedirect-LB3-890977680.us-east-1.elb.amazonaws.com NS
这里的想法是,如果这个名称恰好是区域的顶点(通常您无法提前知道),那么您将得到想要的响应。
如果它不是区域顶点,您将得到否定响应(因为在这种情况下没有记录),但该否定响应包括该部分中NS
的区域。该记录实际上会告诉您顶点在哪里。SOA
AUTHORITY
SOA
在这种情况下
;; AUTHORITY SECTION:
us-east-1.elb.amazonaws.com. 32 IN SOA ns-1119.awsdns-11.org. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 60
因此记录的所有者姓名(最左边的列)SOA
会告诉您区域的开始位置。
即dig us-east-1.elb.amazonaws.com. NS
会给你相关的名称服务器。
另一种方法是遵循委派链(例如dig +trace
),但最终还是要记住您看到的最后一个委派点。另外,如果您采用这种方法并dig +trace
具体使用,请记住默认情况下的输出非常有限,并且当它从父区域获得引荐时,与来自实际权威名称服务器的部分中的记录相比dig +trace
,并没有真正区分NS
来自部分的记录。(您可能想要添加以真正清楚地看到正在发生的事情。) 最后,如果您只看到了引荐(包含部分中的记录)并想确保您拥有权威服务器所说的记录,您将必须重新查询该特定名称。 AUTHORITY
NS
ANSWER
+all
NS
AUTHORITY
NS
答案2
dig us-east-1.elb.amazonaws.com 应该返回该子域的 SOA。
您使用“dig ns”询问的是主机是否为 NS 记录,或者更确切地说,该主机/域的 ns 是什么。soa 不一定指向该域的 NS 服务器。事实上,我认为它很少这样做。它大多数时候都指向 www 主机。
ns 是名称服务器,因此 dns 负责回答域名,soa 负责在查找域名时做出响应(整个域名的 ip 地址)
前任:
挖掘 SOA svdx.net +noall +answer
;<<>> DiG 9.9.5-3ubuntu0.13-Ubuntu <<>> SOA svdx.net +noall +answer ;; 全局选项:+cmd svdx.net。119 IN SOA ns2.dnsexit.com。admin.netdorm.com。2000060701 604800 2400 1814400 1200 <<<<<<<< ns 条目。
挖掘 NS svdx.net +noall +answer
;<<>> DiG 9.9.5-3ubuntu0.13-Ubuntu <<>> NS svdx.net +noall +answer ;; 全局选项:+cmd svdx.net。119 IN NS ns3.dnsexit.com。svdx.net。119 IN NS ns4.dnsexit.com。svdx.net。119 IN NS ns1.dnsexit.com。svdx.net。119 IN NS ns2.dnsexit.com。
挖掘 svdx.net
; <<>> DiG 9.9.5-3ubuntu0.13-Ubuntu <<>> svdx.net ;; 全局选项:+cmd
;; 答案部分:svdx.net。119 在 192.0.225.94 <<<<<<<< 不是 ns
;; 查询时间:78 毫秒 ;; 服务器:8.8.8.8#53(8.8.8.8) ;; 时间:2017 年 3 月 17 日星期五 03:39:27 EDT ;; 收到的消息大小:53