答案1
权威名称服务器是保存特定域/地址的实际 DNS 记录(A、CNAME、PTR 等)的名称服务器(DNS 服务器)。递归解析器是查询权威名称服务器以解析域/地址的 DNS 服务器。
因此,例如,如果我的网络中有一个 DNS 服务器,其中保存了 foobar.com 的 A 记录,那么我的 DNS 服务器就对 foobar.com 域具有权威性。
如果客户端需要访问 foobar.com,他们可以查询我的 DNS 服务器并得到权威的响应。
但是,如果客户端需要访问 contoso.com,并且查询了我的 DNS 服务器,则该服务器没有记录来解析该域。为了让我的 DNS 服务器解析 contoso.com,它需要使用递归查找(通过转发器或根提示)。我的 DNS 服务器将被设置为将其不具有权威性的域的查询发送到另一台 DNS 服务器。该 DNS 服务器将执行相同的操作,直到查询到达具有 contoso.com 权威性的 DNS 服务器。该 DNS 服务器将返回正确的记录,这些记录将一路传递回客户端。
这过于简单了,因为这里还有其他因素在起作用,比如缓存记录。
答案2
我有以下问题
- 什么是权威名称服务器?
- 什么是递归解析器?
请注意,“解析器”和“名称服务器”并不完全同义,在第一种情况下您询问的是名称服务器,而在第二种情况下您询问的是解析器。
一个权威域名服务器是能够从自己的数据中满足查询而无需引用其他来源的数据。除非还递归名称服务器(通常不推荐使用这种做法)将仅使用来自其自身存储的权威数据(可以来自区域主文件、从主服务器传输的数据副本、数据库、动态 DNS、内置等)或推荐(例如“我不知道那个答案,但你可以与回答这个子域问题的某某服务器交谈……”)或使用 NXDOMAIN 或类似错误来回答。
A递归名称服务器是通过向其他名称服务器询问答案来满足查询的服务器,必要时从 DNS 树的根级开始遍历树。如果它不知道答案,它将尝试为查询客户端找到答案。
A解析器是(统称)DNS 感知系统用于查询 DNS 的一组功能。
- 大多数客户端系统都有一个存根解析器,它仅以非常基本的方式知道如何查询 DNS 服务器以及如何接收答案,但不包含从根开始遵循委派链的逻辑。
- A递归解析器是一个全方位服务的解析器,它可以遍历树来找到查询的答案。
- 递归名称服务器必须包含递归解析器才能正常运行,但其他程序可能包含递归解析器无需执行名称服务器的功能。一个很好的例子是实用程序/DNS故障排除程序“dig”(由ISC作为BIND的一部分分发),它包含完整的递归解析器。
DNS 概念有时会与权威和递归之间的区别相混淆:
人们有时会将几个 DNS 概念与权威数据和递归数据之间的区分相混淆。
代表团
这一点让很多人感到困惑,特别是因为 SOA(授权起始)资源记录类型的名称包含单词“authority”,听起来好像应该与“authoritative”相关。但是,您可以为未委托给您的区域提供权威数据,而且许多人都这样做。示例包括基于 DNS 的内容阻止和为 RFC 1918 区域提供权威答案的服务器 [即,没有人委托您回答 168.192.in-addr.arpa (192.168.0.0/16) 和类似区域的 PTR 记录查询,但让您的服务器权威地回答此类查询而不是将这些区域的查询泄露给互联网并不是一个坏主意,因为没有人被委托回答这些查询。ISC BIND 和其他名称服务器为这些私有地址空间区域提供内置区域数据,以防止 in-addr.arpa 服务器受到无法引用的查询的轰炸。]
您无需被授予某个区域的权限即可使答案被视为权威。
主人与奴隶
从属服务器,即使它们的区域数据来自其他来源,仍然是权威服务器,因为它们使用来自它们自己的存储(无论何种类型)的数据来满足查询,而不是通过将查询递归地中继到其他名称服务器来满足查询。
从属服务器是权威服务器(对于它们所服务的区域而言)。
答案3
警告:以下内容过于简单:
权威服务器
权威服务器是仅响应有关只有他们控制或拥有的区域的 DNS 问题的服务器:它是一个自私的短视服务器,但也是高效的服务器。
从这种攻击性意义上讲,权威服务器不会对有关他们不控制或不拥有的其他区域的任何一般请求(问题)提供体面或有意义的答案。
总的来说,只有权威服务器才能拥有自己区域的 DNS 答案,并具有权威立场。这是理所当然的,因为他们是拥有自己区域的服务器。
这就是他们所知道和所做的一切。只需去找到这些权威服务器……不管怎样。
递归服务器
递归服务器通常从任何人或任何事物收集与 DNS 相关的问题所需的所有答案。
一些递归服务器会很狡猾,会根据地理位置、隐私或类似比喻的 ISP 以某种选择性的方式回复,这些 ISP 希望用一个好的“推销”来捕捉您所有错误命名的域名请求。
对于域名的每个部分(没有句点符号),递归服务器将非常努力地寻找与该部分域名相关联的正确权威名称服务器。域名的每个部分也称为区域。
递归服务器还会向其他权威服务器进行额外查找,以尝试获取有关主机名、域名或任何其他可能被要求的 DNS 记录类型的问题的答案。最常见的答案是“查看下一个权威服务器以获取更具体的答案”。
递归服务器按如下方式进行查找:
- 向根服务器请求顶级 (TLD) 域名部分的权威服务器,
- 从根服务器接收 TLD 区域权威服务器的 IP 地址
- 向 TLD 权威服务器询问域名的二级部分
- 从 TLD 服务器接收二级区域的权威服务器的 IP 地址
- 向二级权威服务器询问域名的三级部分
- 从二级权威服务器接收第三区域权威服务器的 IP 地址
- 向三级权威服务器询问域名四级部分
- 这次接收的不是名称服务器,而是带有包含 IP 地址的答案的 DNS(通常为“A”)记录。
他们会非常努力地为您提供完整而简洁的答案,否则就放弃尝试。
如果递归服务器恰好有他们拥有或控制的区域,他们也会这样回答(而且速度最快);他们是好人,但却受到了严重的虐待。
它们是全球 DDoS 攻击者最喜欢攻击的目标。请将这些递归服务器置于您受信任且有防火墙保护的网络中。
递归什么?
解析器是一个宽泛的术语。大多数 UNIX 用户会将解析器与内置于每个可联网操作系统(例如 libnss.so 和/etc/resolve.conf
)中的迷你 DNS 查找联系起来。
解析器负责将每个与 DNS 相关的请求从应用程序(或最终用户)转发到递归服务器,并等待获得最终完整答案后再将其转发回应用程序。
解析器收到每个请求后,首先将请求转发到文件nameserver
中列出的第一个工作服务器/etc/resolv.conf
。它们是您与互联网交互时最不可或缺的组件。
递归解析器dnsmasq
听起来它完全在同一个主机内,通过运行 DNS 递归服务器(例如或named
配置为仅递归)并让 OS 解析器指向该服务器来实现localhost:53
。
网络工程师试图将所有公司 DNS 流量引导至受防火墙保护的堡垒名称服务器,他们会不赞成使用这些递归解析器,除非正确配置它以仅向受保护的递归名称服务器进行转发。
在这些企业网络中,具有递归解析器(从根服务器开始)或仅转发到非企业递归名称服务器的个人计算机只会在其企业网络中不必要地喷洒令人讨厌的数据包噪声,并可能绊倒入侵检测系统。