我有点搞不懂DNS转发器和DNS解析器。
对我来说,它们在某种程度上是相似的。在收到查询后,双方都将检查缓存,以确定它是否可以在将查询转发到其他DNS服务器之前立即响应到客户端。
例如,我的SOHO路由器是否被认为是转发器或解析器?如果它是转发器,那么是否知道我的路由器使用什么DNS解析器来转发查询?
希望得到最好的解释,因为我并不是一个真正的技术专家。
谢谢!
发布于 2021-04-15 22:45:54
DNS转发器将将请求转发到另一个DNS解析器,如果得到结果,它将将其存储在缓存中,以便后续请求可以一直使用缓存的结果,直到TTL (时间到现场)过期为止。DNS解析器存储其授权解析的记录数据库,这些记录可以由管理员编辑。大多数DNS解析器也将充当转发器,因此如果它们无法解析记录,它们将转发到另一个DNS服务器进行解析。但是,您可能希望DNS解析器只解析其权威名称,在这种情况下,您可以将其配置为不转发到另一个DNS解析器。
家庭路由器通常充当DNS转发器,只要结果有效(基于TTL),就会存储结果缓存。但是,一些家庭路由器还能够保存本地记录的数据库--例如,它可以保存映射到本地IP地址的计算机名称的记录--以实现本地名称解析。在这种情况下,路由器充当解析器和转发器。
发布于 2021-04-16 03:33:48
您可能希望在DNS术语上使用IETF的当前文档:https://www.rfc-editor.org/rfc/rfc8499。
它说:
转发器:RFC2308第1节将转发器描述为“用于解析查询的名称服务器,而不是直接使用权威的名称服务器链”。RFC2308进一步表示,“转发器通常要么可以更好地访问互联网,要么维护一个更大的缓存,可以在多个解析器之间共享。”这一定义似乎表明,转发器通常只查询权威服务器。然而,在当前的使用中,转发器通常位于存根解析器和递归服务器之间。RFC2308对转发器是只迭代的还是可以是全服务解析器保持沉默.
Resolver是一个过于通用的词,所以我认为您想用"DNS递归服务器“进行比较。它也是这样定义的:
递归解析器:以递归模式工作的解析器。通常,递归解析器需要缓存它收到的答案(这将使它成为一个完整的服务解析器),但是一些递归解析器可能不会缓存。
“货代”也有细微差别。有各种不同的运作方式。例如,您可以让转发器只进行转发并将结果保存在缓存中,或者另一次尝试转发,如果它失败,则自己执行。
例如,对于bind
软件,请参阅§4.2.14.2。在https://ftp.isc.org/isc/bind9/cur/9.17/doc/arm/html/reference.html上,它将forward
指令定义为:
只有当转发器列表不为空时,此选项才有意义。默认值为first,将导致服务器首先查询转发器;如果没有回答问题,则服务器将自己查找答案。如果仅指定转发器,则服务器只查询转发器。
还请注意,显示的特性是每个区域,而不是全局的:
转发也可以在每个域的基础上配置,允许以多种方式覆盖全局转发选项。特定域可以设置为使用不同的转发程序,或者仅具有不同的转发/第一行为,或者根本不转发;
https://serverfault.com/questions/1060543
复制相似问题