nslookup DNS 查询不会显示权威答案

mod*_*Neo 8 dns nslookup

我正在尝试根据我的分配说明获取欧洲服务器的权威 DNS 服务器。我查了查怎么做,得到了两种不同的方法。

一种是:

nslookup -type=soa ox.ac.uk
Run Code Online (Sandbox Code Playgroud)

另一个是:

nslookup -type=ns ox.ac.uk
Run Code Online (Sandbox Code Playgroud)

两者都给我这个权威答案部分:

Authoritative answers can be found from:
Run Code Online (Sandbox Code Playgroud)

起初我认为这可能是牛津方面的一项安全功能,也许他们对 nslookup 隐藏了他们的 DNS 地址,以避免对这些服务器的攻击。但我了解到这是一个愚蠢的结论,我在谷歌给我的“欧洲大学”的每所大学都尝试了这些命令,但他们都没有回答我的权威答案。是我输入了错误的命令,是我的电脑出问题了,还是我的 ISP 出问题了?

完整的命令和输出在这里:

Sat Apr 08 23:06 user_name:/Users/user_name $nslookup -type=soa ox.ac.uk
Server:     192.168.1.254
Address:    192.168.1.254#53

Non-authoritative answer:
ox.ac.uk
    origin = nighthawk.dns.ox.ac.uk
    mail addr = hostmaster.ox.ac.uk
    serial = 2017040772
    refresh = 3600
    retry = 1800
    expire = 1209600
    minimum = 900

Authoritative answers can be found from:

Sat Apr 08 23:06 user_name:/Users/user_name $nslookup -type=NS ox.ac.uk
Server:     192.168.1.254
Address:    192.168.1.254#53

Non-authoritative answer:
ox.ac.uk    nameserver = dns2.ox.ac.uk.
ox.ac.uk    nameserver = dns1.ox.ac.uk.
ox.ac.uk    nameserver = dns0.ox.ac.uk.
ox.ac.uk    nameserver = ns2.ja.net.

Authoritative answers can be found from:
Run Code Online (Sandbox Code Playgroud)

I s*_*ica 6

要使用 nslookup 从域中获得有保证的权威(和最新)答案,您应该直接查询权威服务器。例如,要获取域的权威 DNS 名称服务器ox.ac.uk,请在 nslookup 中运行:

> set query=ns
> ox.ac.uk
Run Code Online (Sandbox Code Playgroud)

set query=ns命令告诉 nslookup 我们想知道哪些 DNS 服务器对该域具有权威性。您将获得包含ox.ac.uk域的权威名称服务器的输出:

ox.ac.uk    nameserver = dns2.ox.ac.uk.
ox.ac.uk    nameserver = dns1.ox.ac.uk.
ox.ac.uk    nameserver = dns0.ox.ac.uk.
ox.ac.uk    nameserver = ns2.ja.net.
Run Code Online (Sandbox Code Playgroud)

现在,这些结果来自您的系统当前配置使用的任何 DNS 服务器,这意味着这些记录可能会被缓存。如果您真的想确保获得最新信息,则需要直接查询域的权威名称服务器之一,如下所示:

在 nslookup 中运行:

> server dns2.ox.ac.uk
Run Code Online (Sandbox Code Playgroud)

这告诉 nslookup 将后续 DNS 查找发送到指定的服务器,该服务器对该域具有权威性。(上面查询中列出的任何一台 DNS 服务器都应该工作。)现在从名称服务器记录查询模式切换回“任何”记录模式:

> set query=any
Run Code Online (Sandbox Code Playgroud)

并针对您想要的任何记录发出查询。在这种情况下,我们将查询域本身:

> ox.ac.uk
Run Code Online (Sandbox Code Playgroud)

结果包括域的权威名称服务器:

服务器:dns1.ox.ac.uk
地址:129.67.1.191

ox.ac.uk 互联网地址 = 129.67.242.154 ox.ac.uk 互联网地址 = 129.67.242.155 ox.ac.uk 域名服务器 = dns0.ox.ac.uk ox.ac.uk 域名服务器 = dns1.ox.ac.uk ox.ac.uk 域名服务器 = dns2.ox.ac.uk ox.ac.uk 域名服务器 = ns2.ja.net

primary name server = nighthawk.dns.ox.ac.uk responsible mail addr = hostmaster.ox.ac.uk serial = 2017040772 refresh = 3600 (1 hour) retry = 1800 (30 mins) expire = 1209600 (14 days) default TTL = 900 (15 mins)
Run Code Online (Sandbox Code Playgroud)

主名称服务器是“主”的DNS服务器。这通常是域管理员执行 DNS 记录更新的地方。其余的名称服务器是“从属”DNS 服务器。他们的工作是简单地保留主服务器提供的区域文件的副本。拥有多个 DNS 服务器可确保在其中一台服务器出现故障时仍可访问该区域。

任何一个列出的 DNS 服务器都应该能够(权威地)响应 DNS 查询,除非域管理员以其他方式对其进行了配置。