Ale*_*lex -1 domain-name-system internal-dns dns-zone
我对 DNS 解析感到困惑。对于一个域,我们怎么可能获得一个 IP(A 记录)但没有返回该域的权威 NS。例如
dig ns HDRedirect-LB3-890977680.us-east-1.elb.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
只返回
dig A HDRedirect-LB3-890977680.us-east-1.elb.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
返回
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
Run Code Online (Sandbox Code Playgroud)
如果域可以解析,它应该有一个权威的NS,我怎样才能得到它?
它按预期工作。这里的错误假设是所有名称都应该有NS记录。
相反,名称服务器集是基于每个区域定义的,NS仅在区域顶点有记录。
例如,如果您在example.com其他地方拥有并且没有委托任何子域,则NSexample.com 下的任何地方都没有更多记录。
如果您foo.bar.example.com在其他地方委托,那么该名称(根据定义是新区域的开始)将有NS记录。
有几种可能的方法来查找给定名称所属的区域。它实际上通常是一个两步过程。
一种方法是从例如开始:
dig HDRedirect-LB3-890977680.us-east-1.elb.amazonaws.com NS
Run Code Online (Sandbox Code Playgroud)
这里的想法是,如果此名称恰好是区域的顶点(通常您无法提前知道),您会得到想要的响应。
如果它不是区域顶点,您将得到否定响应(因为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
Run Code Online (Sandbox Code Playgroud)
因此,记录的所有者名称(最左侧的列)SOA告诉您区域的开始位置。
即,dig us-east-1.elb.amazonaws.com. NS会给你相关的名称服务器。
另一种方法是遵循委托链(例如dig +trace),但最终会记住您看到的最后一个委托点。另外,如果你采用这种方法,并使用dig +trace具体地说,千万记住,输出的dig +trace默认情况下是非常有限的和之间并没有真正区分NS从记录AUTHORITY部分时相比,会从一个父区域转诊NS记录中的ANSWER部分来自实际的权威域名服务器。(您可能想要添加+all以清楚地看到正在发生的事情。)
最后,如果您只看到推荐(NS在该AUTHORITY部分中有记录)并希望确保您拥有NS 权威服务器所说的记录,您将不得不重新查询该特定名称。
| 归档时间: |
|
| 查看次数: |
3184 次 |
| 最近记录: |