Answers:
DNS实际上是一个相当复杂的主题。因此,请理解我在这里所说的非常“广泛的笔触”。要了解不同类型的DNS服务,您首先必须了解DNS查询的结构。
概括起来(并简化),DNS查询使用一个主机名...说myserver1.example.com
...,并要求在系统设置中配置的DNS服务器(您的“本地DNS服务器”)为其提供与该主机名匹配的IP地址。然后事情可以通过两种方式之一进行。如果本地DNS服务器知道与该主机名匹配的IP地址,则只需回答正确的答案即可。
但是,如果它不知道正确的答案,则必须要求Internet上的其他DNS服务器提供答案。为了找出它应该询问哪个DNS服务器(哪个DNS服务器对该主机名具有权威性),它查询DNS“根”服务器。这些是“顶级域名”,如权威服务器.com
,.info
等它要求根服务器有什么权威DNS服务器是,在我们的例子情况下,域example.com
。根服务器向您的本地DNS服务器发送对“ example.com”具有权威性的所有服务器的IP地址,然后您的本地DNS服务器向这些权威性服务器查询ip地址是否匹配myserver1.example.com
。
因此,权威DNS服务器是最终决定什么查询与哪个结果匹配的服务器,而转发DNS服务器是在没有自己的答案时将查询转发到权威dns服务器的服务器。那么,转发DNS服务器本身如何才能得到答案?通过缓存过去的结果。在这种情况下,第一个查询将花费很长时间(以计算机时间为单位)才能获得结果,但是以后对同一主机名的任何查询都将非常非常快地获得结果。考虑到要加载单个网页,浏览器必须经常查找十二个主机名……通常与上次访问该站点时所查找的主机名相同。在本地拥有一台或多台缓存域服务器可以使您已经对用户的互联网响应速度更快。
因此,在以上示例中,我们的转发DNS服务器也是缓存DNS服务器。这些也可以是贵公司的权威DNS服务器。在这种情况下,他们也不需要转发对您自己的DNS服务器具有权威性的主机名的请求...他们只需回答就可以了。
但!这很重要。永远不要只使用一台权威DNS服务器进行操作。实际上,许多注册服务商只会拒绝允许其用于公开可见的权威DNS服务器。这不是由于性能问题,而是由于Internet如此依赖DNS基础结构中的冗余需求。辅助服务器在所有方面都与其他任何DNS服务器一样,不同之处在于,它尝试保留对另一台(主)服务器进行同步的授权记录。这意味着当您去更新记录时,您将在主要的权威服务器上进行,并且更改将迅速传播到您可能拥有的任何次要的权威服务器上。速度有多大取决于所讨论的DNS服务器的配置。
一个转发DNS服务器足以处理250个用户的负载。仅在出现故障的情况下,拥有第二台转发DNS服务器是一个好主意……以免打扰工作日。将转发服务器配置为仅转发来自本地网络的查询非常重要。从概念上讲,这些服务器甚至无法从Internet进行访问,但是在某些情况下需要这样做。在这种情况下,重要的是要确保互联网的免费下载程序不会消耗您公司的资源。理想情况下,您还将配置这些服务器以缓存一段时间的结果。
至于权威DNS ...好吧...这取决于您要完成的工作。如果您试图使网络上的各台机器可以通过主机名而不是IP地址相互查找,那么首先需要为分配给希望通过这种方式访问的每个设备分配静态IP地址。对于便携式设备,这将特别困难。有多种方法可以使记录自动更新以匹配DHCP分配的IP ...但是可靠性大幅度下降,并且相应地增加了必要的维护。对于250位用户而言可能太过分了。
然后,您将需要两个权威服务器...主服务器和辅助服务器。它们可以是与转发/缓存服务器相同的服务器...,但是要特别小心配置DNS服务器,以免对源自Internet的查询提供权威性的响应。这不仅是节省资源甚至安全的问题,而且还避免了使用本地网络之外无用的信息污染Internet的DNS基础结构。
网络中要尝试通过您自己的权威DNS服务器或转发/缓存DNS服务器查找主机名的每个设备都需要将这些DNS服务器配置为其主要和辅助DNS。实际上,对于权威的DNS服务器来说,既可以简化配置并确保对发送到仅本地的DNS服务器的基于Internet的主机名没有任何毫无意义的查询,反之亦然,这也是理想的选择。
您还需要开发自己的主机名方案。忠告...避免.local
用作您的TLD。它与Apple设备常见的分散DNS服务(例如mDNS(多播DNS))发生冲突。最佳做法是使用你公司的域名,并创建(一subomain subdomain.domain.tld
)下,所有本地主机被分配(myserver1.myoffice1.company.com
,myworkstation256.myoffice1.company.com
,等)。
现在,如果您希望权威的DNS服务器公开托管公司域名(用于您的网站等)的DNS,那么您需要进行一些深入的研究。在几乎所有情况下,您都最好为托管托管(包括托管DNS托管)付费。这有很多优点。从改进的冗余(大多数主机具有5个或更多面向Internet的dns服务器)到更好的物理放置(主机可以将DNS服务器放置在不同的数据中心以进一步提高冗余度并减少尝试访问您站点的人员的等待时间)到更高级的配置,应有尽有(例如使用geoip功能将查询定向到物理上最接近的dns服务器)。
希望能回答您的问题。