轻量级 Linux DNS

SyR*_*ity 5 domain-name-system datacenter centos5

谁能推荐一款适合数据中心的轻量级Linux DNS服务器?

编辑:我们通常在 10 - 20 台服务器内谈论数据中心,最多 100 台。对于更大的数量,确实可以使用 BIND。

我正在寻找更轻量级的 BIND(如果存在这样的东西)。

如果它包含在 CentOS 5.4 的通用 YUM 存储库中,那就更好了。

3di*_*nce 9

dnsmasq可能是一个不错的选择。它既可以做 dns 也可以做 dhcp。只使用主机文件,配置简单。它应该在您的发行版的默认存储库中。

编辑:让我澄清我的答案,因为它得到了一些反对票和评论。关于整个用例和规模的问题尚不清楚。因此,虽然您可能不同意 dnsmasq 在正确的情况下是一个完全有效的解决方案。OP 将不得不弄清楚什么适合他们的特定情况,因为他们的问题有点缺乏细节。

如果它用于数据中心专用 LAN 段上的内部 dns 解析,我只会推荐它作为一个可行的解决方案。假设我们不是在谈论 100 台服务器。如果您希望运行自己的公共 DNS,那么您最好准备好在至少 2 个不同地理区域的数据中心运行成熟的 DNS 解决方案。

  • “为了数据中心”……真的吗? (2认同)

pfo*_*pfo 7

http://cr.yp.to/djbdns.html查看 DJB 的 DNS(djbdns 和 tinydns)?甚至可以使用 BIND 的区域文件。

  • 尽管我讨厌它,tinydns 和 dnscache 比 bind 更轻量级,尽管它们确实需要 daemontools 并且为 DJB 牺牲了一只山羊 (3认同)

chr*_*ris 7

你需要什么样的DNS?您是否需要数据中心客户端的递归解析器?您托管的某些域的权威服务器?您想从您自己的服务器中删除依赖项(外部递归 DNS 查找)吗?

简短的回答(这是一个宗教问题,所以请带上一块盐):

  • 在每台服务器的本地主机上运行递归解析器,每台服务器都将自己用于递归 DNS。PowerDNS 制作了一个适用于 windows 和 unix 的解析器;DJB 的 dnscache 是 tinydns 包的一部分,也是 100% 防弹,但您可能需要对其进行调整,以便它可以遵循非常长的 cname 链(akamai,我在看着您)。

  • 为您拥有的地址运行单独的 DNS 服务器。同样,PowerDNS 是一种选择,由维基百科使用。它有各种不错的后端,从绑定区域文件到 postgresql 数据库。Tinydns 也很棒,但如果您来自绑定地,则有点奇怪。在您的“非本地主机”接口上运行这些 DNS 服务器,并向您的注册商发布这些地址。成为您自己领域的主人!

  • 如果您要向数据中心内的其他主机提供递归服务,请在不提供 DNS 服务的机器上运行 dnscache 或 pdns-recursor,并将解析器的 ACL 设置为仅服务来自数据中心内部的请求。互联网上的随机主机可以对 DNS 服务器进行古怪的缓存中毒攻击,因此如果您有选择,它们不应该被信任。

PowerDNS 可能最容易从软件包安装;在遥远的过去,DJB 对第三方搞砸了他的孩子特别偏执,所以他对二进制发行版有奇怪的许可证限制;这些已被删除,但对 DJB 套件的 DNS 实用程序的不良情绪仍然存在。


Geo*_*itz 5

我将nsd用于我管理的权威名称服务器。请记住,nsd 所做的一切都是充当权威名称服务器,因此我在内部使用“未绑定”(来自同一开发人员)来进行来自服务器本身的递归查询。

对于(有些无意义的)参考,一个主名称服务器服务于六个区域,每个区域可能有 20 条记录,其常驻内存占用量约为 1.1MB。

我发现 nsd 非常稳定。唯一的问题是服务器之间的区域传输可能很棘手,当然不像 2 个 BIND 服务器之间那样即插即用。我最终使用 rsync 脚本来更新/重建/重新加载我的辅助名称服务器的记录。

我尝试过的另一个选择是 MaraDNS,它的性能很好,但并不比 BIND 轻多少。