公共名称服务器实际上做了什么?


4

我试图了解公共DNS名称服务器的目的(公共,因为不是SOA;如8.8.8.8)。

我执行了一个dig +trace命令,据我所知,使用名称服务器的唯一时间是找到根域的SOA .。之后,查询层次结构中每个域的SOA。

我的假设是公共名称服务器用于:

  • 识别根域的SOA,因此不必在客户端上进行硬编码。
  • 分散流程和缓存。因此,如果域的SOA发生故障,另一台服务器可以引导客户端。
  • 减少SOA上的负载。如果另一个服务器知道recored,则不需要查询SOA。

我有3个问题:

  • 我的假设是否正确?

  • 如果这些确实是名称服务器所做的唯一事情,如果我不需要缓存并且愿意自己进行递归查询,我可以停止使用名称服务器吗?

  • 如果SOA执行过多请求,是否可以拒绝回答来自特定名称服务器的查询?

由于某些技术术语的错误使用,您的问题很难理解。例如,我认为你没有正确使用“SOA”,特别是在最后一句中。
bortzmeyer

Answers:


7

你的假设不正确。该+trace选项告诉dig查询每个域的SOA服务器; 这不是它的正常行为。正常的DNS查找将使用您配置的DNS服务器(例如公共递归DNS服务器)进行所有查找。

除非您准备仅使用IP地址,否则无法停止使用名称服务器。但您可以运行自己的递归名称服务器,可能与客户端软件在同一台计算机上运行,​​在这种情况下,您可以停止使用公共递归名称服务器。


如果不是SOA,公共服务器如何知道答案?
大卫布莱恩特

@DavidBryant如果公共服务器没有缓存结果,它将从SOA获取它。这就是递归DNS服务器所做的事情。但是您的客户端没有从SOA获得任何东西。
迈克斯科特

谢谢你的澄清。最后一个问题:我注意到,当我每秒向公共域名服务器发送大量请求时,我开始得到REFUSED/ SERVFAIL响应或者只是完全错误的响应,就像NXDOMAIN现有域名一样。这是公共服务器禁止我的结果,还是SOA禁止公共服务器?(考虑到公共服务器没有缓存响应并且每次都询问SOA)
大卫布莱恩特

这很可能是公共服务器限制您的访问。
迈克斯科特

3
无论您查询DNS服务器多少次,都不应该NXDOMAIN为现有域发送。如果DNS服务器执行此操作,则该DNS服务器出现故障。
卡斯佩德

5

作为迈克斯科特答案的一小部分......

公共名称服务器的主要用途(如您所定义)是:

  1. 让个人不必运行自己的名称服务器。

  2. 帮助(可能)加速解析域的过程。

关于你的“三个假设”的一些注释

  • 某些名称服务器仅将未知请求的查找转发到其他递归解析器(例如公共名称服务器)。由于公共名称服务器保留根提示文件以进行递归查找,这确实意味着在这些仅转发名称服务器上不需要此文件。但是,这与任何“客户”无关(据我了解你的意思)。

  • 公共名称服务器可以(可以说)帮助进行分散和缓存。同样,它们可以潜在地为整个DNS系统提供稳健性。但这些都是附带的好处。

  • 公共DNS服务器可以减少权威名称服务器上的负载,但同样,这不是绕过这些服务器的主要原因。这个想法是,与从权威名称服务器请求该信息相比,返回的缓存信息更快。


0

一个公共解析器(小心名称“名称服务器”:有两种名称服务器,解析器和权威,它们几乎没有任何共同之处)只是一个解析器,就像你的ISP或你自己运行的一个在你的网络上。与任何服务一样,它们可以比默认服务更快或更慢,或多或少可靠,具有一些额外的好或坏功能,但它们不做任何具体的操作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.