跳过djbdns。尽管djb是英雄,但他继承了数学家对软件的傲慢态度。就启动/停止而言,它的行为不像其他软件,这可能很好地证明了管理后台程序的巧妙技巧。但是,如果您不定期使用文档,则必须提取文档,因为所有内容都非常不同。如果您在其他人也维护的系统上进行设置,则需要为其编写清晰的文档-他们需要全文阅读才能进行简单的操作。从init中运行东西很可爱,甚至很聪明。但这也是令人讨厌,令人惊讶和不规范的。
此外,由于坚持仅遵守标准而不是软件互操作性,我遇到了djbdns引起的严重问题。对这些问题进行故障排除是浪费大量时间,因为它取决于DNS数据包中的细微差异。
同样,在某些情况下,djbdns也会具有奇怪的行为,这将导致人们使用djb以外的工具(例如,使用nslookup)对DNS服务器进行故障排除,以获得令人惊讶的结果。您将浪费时间来解释“实际上,我只是使用了这个模糊的DNS服务器djbdns。问题是您的诊断工具正在向您发送一条奇怪的消息,但是它工作正常。如果查看此数据包捕获,您可以知道,这与几个月前djbdns无法与您的DNS服务器正确互操作的问题无关,也与我们几周前不在办公室的问题有关队友一个小时重新启动DNS服务器。”
各地的qmail类似问题。
如果您要提问并有时间消磨时间,设置djbdns具有一定的教育意义。您还可以通过阅读djb的网站来学到很多东西。
有两套安全问题。允许攻击者访问系统的安全漏洞-djbdns几乎绝对没有任何这些。几年前,bind在很短的时间内发现了许多令人尴尬的内容,这也暴露了一个糟糕的设计。我希望在过去的多年中,它已经被完全重写。如果您确实希望在这方面安全,请在虚拟机(例如Xen)下运行它。还要考虑一下,如果您在具有目标模式的SELinux的Linux系统上运行,则将有一个绑定设置,并且可能不会为djbdns打扰。bind + SELinux系统可能更安全。
另一个问题是防止缓存中毒的安全性。我的猜测是,djbdns发行时会更好,而由于受到更多关注,bind现在可能会更好。除非“正确配置”,否则这可能是您听觉不牢固的原因。您至少应该研究并理解此问题。在此过程中,您可能会发现两台DNS服务器都存在哪些配置风险。
对于大多数用户而言,重负载下的行为是胡说八道。注意将性能用作评估软件的标准,而这很少是性能瓶颈。您并没有为庞大的用户群托管缓存DNS服务器,因为那里的请求率很高。您正在运行权威DNS,以提供可能在同一系统上运行的服务。这些服务比DNS贵数千倍。您的Internet链接甚至可能不足以沉重地负担DNS服务器的负担,但是如果您在所提供的服务上承受如此沉重的负担,则DNS可能不会成为瓶颈。