dns 类型指南:如何选择 ght dns 配置

简介

域名系统,或称域名系统,是系统相互连接以在互联网上通信的不可或缺的一部分。如果没有DNS,计算机和使用它们的人将被要求仅使用称为IP地址的数字地址进行连接。

除了简单任务必须记住大量复杂数字的明显问题外,通过IP地址通信还会带来一些额外的问题。将您的网站移动到不同的托管提供商,或将您的服务器移动到不同的位置将需要您通知每个客户新的位置。

DNS服务器是组成允许我们使用名称而不是地址的系统的计算机,它们可以为许多不同的功能提供服务,每一种功能都可以帮助您通过名称访问服务器。

以前的guide中,我们讨论了域名系统的一些基本术语和概念。我们将假定您对该文章中介绍的概念有一定的了解。在本指南中,我们将讨论一些不同类型的DNS服务器设置,以及每种设置的优点、用例和属性。

域名解析查询路径

当客户端程序想要通过其域名访问服务器时,它必须找出如何将域名转换为可用于通信的实际可路由地址。它需要知道此信息才能获取信息或将信息发送到服务器。

包括大多数Web浏览器在内的一些应用程序维护着最新查询的内部缓存。这是应用程序为了找到有问题的域的IP地址而检查的第一个位置,如果它有这个功能的话。如果在这里没有找到问题的答案,它会请求系统解析器 了解域名的地址。

解析器 通常是指在DNS查询中充当客户端参与者的任何组件。系统解析器是操作系统用来查找DNS查询答案的解析库。一般来说,系统解析器通常是我们所说的** 存根解析器** ,因为它们除了搜索系统上的几个静态文件(如/etc/Hosts文件)并将请求转发到另一个解析器之外,并不具备太多的复杂性。

因此,通常情况下,查询从客户端应用程序转到系统解析器,然后传递到它具有地址的DNS服务器。 此DNS服务器称为 递归DNS服务器 。 递归服务器是一种DNS服务器,它被配置为查询其他DNS服务器,直到找到问题的答案。 它会将答案或错误消息返回给客户端(在本例中是系统解析器,然后将其传递给客户端应用程序)。

递归服务器通常也维护一个缓存。它将首先检查这个缓存,看看它是否已经有了查询的答案。如果没有,它将查看是否有控制上层域组件的任何服务器的地址。因此,如果该请求是对www.example.com的请求,并且它在其缓存中找不到该主机地址,它将查看它是否有example.com的名称服务器的地址,如果需要的话,还有com。然后,它将向它可以找到的最特定域组件的名称服务器发送查询,以便查询更多信息。

如果它找不到这些域组件中的任何一个的地址,它必须通过查询根名称服务器 从层次结构的最顶端开始。根服务器知道控制.com.net.org等区域的所有TLD(顶级域名)域名服务器的地址,它会询问根服务器是否知道towww.Example.com的地址。根服务器将递归服务器指向.comTLD的名称服务器。

然后,递归服务器跟踪对已被委派对域组件的责任的每个连续名称服务器的引用的踪迹,直到它可以聚焦于具有完整答案的特定名称服务器。它将此答案放入其缓存中以供以后查询,然后将其返回给客户端。

从本例中可以看到,有许多不同类型的服务器,它们各自扮演着不同的角色。让我们回顾一下不同类型的DNS服务器的细节。

功能差异

DNS服务器之间的一些差异纯粹是功能上的。实施DNS所涉及的大多数服务器都专门用于某些功能。您选择的DNS服务器类型将在很大程度上取决于您的需求以及您希望解决的问题类型。

仅权威的DNS服务器

仅权威的DNS服务器是这样一种服务器,它只关心回答它所负责的区域的查询。由于它无助于解析外部区域的查询,因此它通常非常快,并且可以有效地处理许多请求。

仅授权服务器具有以下属性:

  • 非常快速地响应它控制的区域的查询。 仅权威服务器将拥有关于它负责的域的所有信息,或者域内已委派给其他名称服务器的区域的推荐信息。
  • 不会响应递归查询。 仅权威服务器的定义是不处理递归请求的服务器。这使得它在DNS系统中只是一个服务器,而不是一个客户端。到达仅授权服务器的任何请求通常将来自已接收到对其的转介的解析器,这意味着仅授权服务器将具有完整的答案,或者将能够将新的转介传递到其已向其委派责任的名称服务器。
  • 不缓存查询结果。 由于权威服务器从不向其他服务器查询解析请求的信息,因此它永远没有机会缓存结果。它所知道的所有信息都已经在它的系统中了。

缓存DNS服务器

缓存DNS服务器是处理来自客户端的递归请求的服务器。操作系统的存根解析器将联系的几乎每一台DNS服务器都将是缓存的DNS服务器。

缓存服务器具有响应来自客户端的递归请求的优势。虽然仅限权威的服务器可能是提供特定区域信息的理想选择,但从客户端的角度来看,缓存DNS服务器更有用。它们使相当愚蠢的客户端接口可以访问世界上的DNS系统。

为了避免每次收到递归请求时向其他DNS服务器发出多个迭代请求对性能造成的影响,服务器会缓存其结果。这使得它能够访问广泛的域名信息基础(全世界可公开访问的域名),同时非常快速地处理最近的请求。

缓存DNS服务器具有以下属性:

  • 访问整个范围的公共DNS数据。 连接到全局委派树的可公开访问的DNS服务器提供的所有区域数据都可以由缓存的DNS服务器访问。它知道根DNS服务器,并可以在接收数据时智能地跟踪转介。
  • 向非智能客户端发送数据的能力。 几乎每个现代操作系统都通过使用存根解析器将DNS解析分流到专用递归服务器。这些解析库只是发出一个递归请求,并期望返回一个完整的答案。缓存DNS服务器具有为这些客户端提供服务的确切功能。通过接受递归查询,这些服务器承诺要么返回答案,要么返回DNS错误消息。
  • 维护最近请求的数据的缓存。 通过缓存从其他DNS服务器为其客户端请求收集结果时的缓存,缓存DNS服务器为最近的DNS数据构建缓存。根据使用服务器的客户端的数量、缓存的大小以及TTL数据本身在DNS记录上的长度,这在大多数情况下可以极大地加快DNS解析的速度。

转发域名服务器

为客户端计算机开发缓存的另一种方法是使用转发DNS服务器。这种方法通过实现一个转发服务器,将所有请求简单地传递到另一个具有递归功能的DNS服务器(如高速缓存的DNS服务器),从而在DNS解析链中添加一个额外的链接。

此系统的优势在于,它可以为您提供本地可访问缓存的优势,同时不必执行递归工作(这可能会导致额外的网络流量,并可能占用高流量服务器上的大量资源)。这还可以带来一些有趣的灵活性,通过转发到不同的服务器来拆分您的私有和公共流量。

转发DNS服务器具有以下属性:

  • 无需执行递归本身即可处理递归请求的能力。 转发DNS服务器最基本的属性是将请求传递给另一个代理进行解析。转发服务器可以具有最少的资源,并且仍然通过利用其高速缓存来提供巨大的价值。
  • 在更近的网络位置提供本地缓存。 特别是当您觉得无法构建、维护和保护完整的递归DNS解决方案时,转发服务器可以使用公共递归DNS服务器。它可以利用这些服务器,同时将主缓存位置移到离客户端计算机非常近的位置。这可以减少应答时间。
  • 增加了定义本地域空间的灵活性。 通过有条件地将请求传递到不同的服务器,转发服务器可以确保内部请求由私有服务器服务,而外部请求使用公有DNS。

组合解决方案

虽然上面的解决方案是为特定目的而构建的,但通常需要设置您的DNS服务器以结合各自的优点。

DNS服务器可以被配置为充当用于选定数量的本地客户端的递归缓存服务器,同时仅应答来自其他客户端的迭代的权威请求。 这是一种常见的配置,因为它允许您响应域的全局请求,同时还允许您的本地客户端利用服务器进行递归解析。

虽然某些DNS软件是专门为履行特定角色而设计的,但像BIND这样的应用程序非常灵活,可以用作混合解决方案。虽然在某些情况下,尝试在一台服务器中提供太多服务可能会导致性能下降,但在许多情况下,尤其是在基础设施较小的情况下,最有意义的做法是维护一个单一的一体化解决方案。

关系差异

虽然DNS服务器配置之间最明显的差异可能是功能上的,但关系差异也是极其重要的。

主备服务器

考虑到DNS在使服务和整个网络可访问方面的重要性,对区域具有权威的大多数DNS服务器都将具有内置冗余。这些服务器之间的关系有不同的术语,但通常情况下,服务器在其配置中可以是 ,也可以是** 备用** 。

主服务器和备用服务器对它们所处理的区域都具有权威性。主服务器在分区上的权力不比次服务器多。主服务器和辅助服务器之间的唯一区别因素是它们从哪里读取区域文件。

主服务器从系统磁盘上的文件中读取其区域文件。这些通常是区域管理员添加、编辑或传输原始区域文件的位置。

辅助服务器通过区域传输从区域的主服务器之一接收它有权使用的区域。一旦有了这些区域,它就会将它们放在缓存中。如果它必须重新启动,它会首先检查其缓存,以查看其中的区域是否为最新。如果不是,它向主服务器请求更新的信息。

服务器不会降级为它们所处理的所有区域的主要或次要服务器。主要或次要状态是在逐个区域的基础上分配的,因此服务器可以是某些区域的主服务器,也可以是其他区域的备用服务器。

DNS区域通常至少有两个名称服务器。负责Internet可路由区域的任何区域都必须至少有两个名称服务器。通常,维护更多的名称服务器是为了分散负载并增加冗余。

公有VS私有服务器

通常,组织在内部和外部都使用DNS。 然而,在这两个领域应该提供的信息往往是截然不同的。

组织可能会维护一个仅供外部使用的权威DNS服务器,以处理其处理的域和区域的公共DNS查询。对于其内部用户,组织可以使用单独的DNS服务器,该服务器包含公共DNS提供的权威信息以及有关内部主机和服务的其他信息。它还可能为其内部客户端提供其他功能,如递归和缓存。

虽然我们在上面的),彼此之间不了解通常是可取的。 从安全的角度来看,公共服务器没有私人对应方的记录尤其重要。 这意味着不要在公共区域文件中列出具有NS记录的私有名称服务器。

还有一些额外的考虑因素需要牢记在心。虽然让您的公共服务器和私有服务器共享它们在传统的主要-次要关系中共有的区域数据可能会更容易,但这可能会将有关您的私有基础设施的信息泄露给外界。

除了将私有服务器本身排除在区域文件之外(本质上是一个可公开搜索的实体)之外,在公共服务器的配置文件中删除对私有服务器的任何引用通常也是一个好主意。这意味着删除传输、通知和主要配置详细信息,以便公共服务器的安全不会意味着您的内部名称服务器突然暴露。

这意味着为每个文件维护单独的区域文件,这可能是额外的工作。然而,这可能是绝对隔离和安全所必需的。

结论

在这个阶段,您可能已经意识到,在选择您的DNS配置方面有相当大的灵活性。

您的选择将在很大程度上取决于您组织的需求,以及您的主要优先事项是为选定的客户端(缓存或转发)提供更快的DNS解析,还是为您的域和区域提供到整个Internet的服务(权威服务器)。综合办法很常见,归根结底,需要考虑到解决过程的两个方面。

在接下来的指南中,我们将演示如何开始使用其中的一些配置。我们将从教授如何设置缓存或转发server.]开始稍后,我们将介绍如何通过设置一对权威的纯dns servers.]为您的域名提供服务

Published At
Categories with 技术
comments powered by Disqus