【问题标题】:Mismatched NS records at DNS serverDNS 服务器上的 NS 记录不匹配
【发布时间】:2015-11-03 14:20:22
【问题描述】:

我在 DNS 名称服务器配置和 DNS NS 记录不一致时遇到了一些问题。

例如域名 zzpeter.nl:
执行whois zzpeter.nl 时的名称服务器是 dns1.movenext.nl 和 dns2.movenext.net。
但是在执行dig ns zzpeter.nl 时,它会返回 ns1.un Developed.com 和 ns2.un Developed.com。

您可以在执行dig +trace ns zzpeter.nl 时真正看到发生了什么:

; <<>> DiG 9.8.3-P1 <<>> +trace ns zzpeter.nl
;; global options: +cmd
.           9078    IN  NS  e.root-servers.net.
.           9078    IN  NS  g.root-servers.net.
.           9078    IN  NS  d.root-servers.net.
.           9078    IN  NS  m.root-servers.net.
.           9078    IN  NS  k.root-servers.net.
.           9078    IN  NS  j.root-servers.net.
.           9078    IN  NS  c.root-servers.net.
.           9078    IN  NS  l.root-servers.net.
.           9078    IN  NS  b.root-servers.net.
.           9078    IN  NS  f.root-servers.net.
.           9078    IN  NS  i.root-servers.net.
.           9078    IN  NS  a.root-servers.net.
.           9078    IN  NS  h.root-servers.net.
;; Received 228 bytes from 8.8.8.8#53(8.8.8.8) in 10 ms

nl.         172800  IN  NS  ns5.dns.nl.
nl.         172800  IN  NS  ns-nl.nic.fr.
nl.         172800  IN  NS  nl1.dnsnode.net.
nl.         172800  IN  NS  sns-pb.isc.org.
nl.         172800  IN  NS  ns4.dns.nl.
nl.         172800  IN  NS  ns2.dns.nl.
nl.         172800  IN  NS  ns3.dns.nl.
nl.         172800  IN  NS  ns1.dns.nl.
;; Received 485 bytes from 192.36.148.17#53(192.36.148.17) in 17 ms

zzpeter.nl.     7200    IN  NS  dns1.movenext.nl.
zzpeter.nl.     7200    IN  NS  dns2.movenext.net.
;; Received 103 bytes from 193.176.144.5#53(193.176.144.5) in 5 ms

zzpeter.nl.     3600    IN  NS  ns1.undeveloped.com.
zzpeter.nl.     3600    IN  NS  ns2.undeveloped.com.
;; Received 79 bytes from 80.247.175.10#53(80.247.175.10) in 2 ms

我可以从 dig 跟踪调用中获取已配置的名称服务器并将它们作为人类进行处理,但是否还有一种方法可以以我可以通过编程方式处理的方式检索在注册商处配置的名称服务器?

dig ns zzpeter.nlnslookup -type=ns zzpeter.nlhost -t ns zzpeter.nl 都返回不正确的 undeveloped.com 名称服务器...

【问题讨论】:

    标签: dns nameservers


    【解决方案1】:

    注册商/注册管理机构在其数据库中保存的内容位于 DNS 之外,并且没有标准的获取方式。但是您真正想到的并不是那样,而是在父区域中配置的名称服务器。您可以通过询问父区域的名称服务器来简单地获得这些。这正是dig +trace 输出的倒数第二步中发生的情况。

    查找任意域名的父区域并不像人们最初想象的那么简单。如果您不介意 Perl,您可以在 Zonemaster 模块中找到挑选父端和子端名称服务器的代码。您可以从CPANGithub 获得这些信息。或者你可以像这样使用它:

    perl -MZonemaster -E 'say for @{Zonemaster->zone("zzpeter.nl")->glue}'
    

    【讨论】:

      猜你喜欢
      • 2022-07-11
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 2010-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多