当使用时nslookup
,这是通过 ssh 进入学校 Linux 服务器时的输出:
user_name@csil-cpu6:~$ nslookup -type=NS ox.ac.uk
Server: 142.58.190.5
Address: 142.58.190.5#53
Non-authoritative answer:
ox.ac.uk nameserver = dns2.ox.ac.uk.
ox.ac.uk nameserver = ns2.ja.net.
ox.ac.uk nameserver = dns1.ox.ac.uk.
ox.ac.uk nameserver = dns0.ox.ac.uk.
Authoritative answers can be found from:
dns0.ox.ac.uk internet address = 129.67.1.190
dns1.ox.ac.uk internet address = 129.67.1.191
ns2.ja.net internet address = 193.63.105.17
ns2.ja.net has AAAA address 2001:630:0:45::11
dns2.ox.ac.uk internet address = 163.1.2.190
但这是家用电脑的输出:
Sun Apr 09 15:30 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 = ns2.ja.net.
ox.ac.uk nameserver = dns2.ox.ac.uk.
ox.ac.uk nameserver = dns0.ox.ac.uk.
ox.ac.uk nameserver = dns1.ox.ac.uk.
Authoritative answers can be found from:
Sun Apr 09 17:56 user_name:/Users/user_name$
如何让我的计算机使用权威 DNS 服务器进行查找?
答案1
Twisty 的回答是正确的最严格问题的意义。
但是,您可以通过运行完整的DNS 解析器– ISP 和公共 DNS 服务器使用的那种。这种类型的解析器不依赖于单个“上游”服务器,而是从 DNS 根开始查找并追踪引荐直到找到正确的权威服务器。(即使没有“权威”标志,引荐本身也来自对该信息具有权威性的服务器。)
- 查询 . 名称服务器:“您有 www.example.com/A 吗?”“没有,但我有 com/NS”
- 查询 com. nameservers:“您有 www.example.com/A 吗?”“没有,但我有 example.com/NS”
- 查询 example.com。名称服务器:“您有 www.example.com/A 吗?”“是的,这里有一个权威答案”
(这也称为“迭代”查询,是 DNS 设计的一部分 - 这是您的 ISP 如何找到每个域的权威服务器,也是 8.8.8.8 如何找到权威服务器,等等。)
对于 Linux 系统,通常的选择是“Unbound”、ISC BIND 9、“Knot Resolver”。
请注意,这不会使 nslookup 或 ping 等工具直接查询权威服务器。它们没有这样的功能;它们依赖于递归解析器 - 无论是您的 ISP 还是同一台 PC 上的 Unbound,这都是它们唯一可以使用的类型。
答案2
计算机不可能只查询权威 DNS 名称服务器。为了做到这一点,它需要知道提前互联网上每个域名的权威名称服务器的地址。
要做到这一点,就需要创建并维护一个包含这些信息的精确数据库。但互联网的高度分散和动态特性使得这成为不可能。
假设你甚至可以编制一份准确的域名及其权威域名服务器列表,那么保持此列表的最新状态将需要报告对哪些域名具有权威性的服务器的任何更改到您是该数据库(或在您的情况下是您的计算机)的维护者,因为没有其他实际的方法来发现已经发生了这些更改。
这根本不可能发生。
DNS 系统的全部意义在于使人们能够找到特定域所托管的系统的 IP 地址,而无需维护中央数据库。DNS 中唯一“中心”的东西是根服务器,它们本身只在查找过程中提供对其他服务器的引用。借助 DNS,各个域所有者可以随意来去,随意添加和删除记录,而互联网上的其他人可以轻松找到它们。这全都归因于根服务器将请求转发到顶级域服务器,顶级域服务器又将请求转发到下一层,直到它们到达域的权威服务器。
答案3
一个权威名称服务器仅返回有关其系统上配置的域名的查询的答案。因此dns0.ox.ac.uk
并dns1.ox.ac.uk
控制 的实际 DNS 记录(A、CNAME、MX 等)ox.ac.uk
。
但是,就你的情况而言,这仅适用于ox.ac.uk
。如果你在学校网络上查找example.com
,你将收到非权威性的答案(因为dns0.ox.ac.uk
和dns1.ox.ac.uk
不控制 的记录example.com
——a.iana-servers.net
和b.iana-servers.net
控制 的记录)。
因此,除非您能够访问所有地方的每个 DNS 服务器/网络,否则您可能会收到很多非权威的答案。