我应该运行自己的 DNS 递归程序还是本地缓存守护程序?

Rya*_*yan 6 security domain-name-system linux nameserver

我在 AWC EC2 上,因为我的服务器将对第三方域进行大量查询,我正在考虑以下选项

  • 在所有服务器上安装 nscd
  • 使用默认的 ec2 名称递归
  • 安装我自己的名字递归器
  • 只需使用 8.8.8.8

我对安装集中式递归器犹豫不决,因此它是单点故障,并且会受到如下攻击:http : //support.godaddy.com/help/article/1184/what-risks-are-related-with-recursive-dns -查询

  1. 现在是否普遍使用名称服务器支持递归 DNS 查询,如上述文章建议的那样?

  2. 在安全性和性能方面,我正在考虑安装nscd,有什么缺点吗?

chr*_*ic- 5

nscd 不仅仅是缓存 DNS 请求;它还缓存用户名和组的查找以及其他一些不太常见的用途。它是 Linux 系统上的标准(它作为 glibc 的一部分打包)并且可能已经安装,并且它使用的内存很少,所以没有理由不运行它。它将提供良好的缓存行为,而无需任何进一步的配置。

由于 EC2 对外部流量收费,并且到 8.8.8.8(Google 解析器)的流量将比数据中心内部的流量慢得多,因此您应该更喜欢 EC2 DNS,除非您有非常具体的理由不这样做。如果愿意,您可以将 Google DNS(8.8.8.8 和 8.8.4.4)设置为 Amazon DNS 的备份,但是当该区域的其余部分工作时,它们不太可能会关闭。

我对您的 EC2 虚拟机的建议:

  • 使用 nscd,它应该是默认设置的(/usr/sbin/nscd;你应该检查你的发行版的运行配置以确保服务在启动时启动)。
  • 使用 Amazon DNS 服务器作为您的默认值。
  • 如果您愿意,可以添加 Google 服务器作为备份。您如何执行此操作将根据您的分布而有所不同。如果您不确定,请检查 /etc/resolv.conf,这是 glibc (nscd) 查看的文件,通常会有一条注释告诉您它是如何配置的。服务器按照在 resolv.conf 中列出的顺序进行检查,因此如果由于某种原因 Amazon 无法正常工作,首先添加 Amazon IP,然后添加 Google IP 将使 nscd 回退到 Google。

来源:nscd(8) 和 resolv.conf(5) 的手册页