我想我可能在这里遗漏了一些东西,也许有人可以启发我。
我一直读到有人说托管自己的 DNS 是个坏消息,你应该选择具有地理冗余、多个 ISP 连接等功能的可靠提供商。我们现在托管自己的 DNS,并且正在升级所有内容,因此如果有令人信服的理由,我们可能会切换到托管 DNS(即 DynDNS)。
不过我有点困惑为什么这很重要。如果我的 example.com 连接中断/断电/等等,并且那里没有冗余,那么即使我的 example.com 的 DNS 解析仍然有效,这又有什么关系呢?
如果我确实有用于 example.com 网络应用程序的冗余连接、电池备用电源和发电机,那么我可以将 DNS 放在相同的冗余基础架构上,它与 example.com 应用程序一样可靠。
是否有理由拥有更多的比它所服务的域上的应用程序更可靠吗?
答案1
您的 DNS 应该可靠的一个原因是电子邮件。假设您还托管自己的电子邮件服务器,请考虑当您的系统因任何原因离线时会发生什么。
自托管:任何尝试传递消息的系统都会发现您的域没有 DNS,并且大多数情况下(在一定程度上取决于每个系统的配置方式)都会作为永久性错误而放弃。
在更可靠的系统上进行外部托管:发送方将检测到您的系统已关闭,将其视为暂时故障并执行正常重试程序。
答案2
DNS 可靠性是必须的。拥有自托管 DNS 并没有什么错,但你应该始终将其镜像到一些大型提供商。我使用 XName.org、Afraid.org 和 puck.nether.net 作为我的域名的从属。我还向 Xname 捐赠了一些钱,这样我就可以使用品牌名称,如 ns2.mydomain.com 等。
此外,区域到期时间应该足够大(我的是一周,我相信这是 RFC 规定的最大值),这样万一您的服务器严重宕机或者您的 ISP 遇到一些需要更多时间的大麻烦,DNS 仍然存在。
最好让邮件服务器独立于您的基础设施,因为除非您 95% 以上确信不会停机,否则这至关重要。大多数邮件服务器会在 DNS 有效的情况下尝试 2 天。
出于同样的原因,我使用 Google Apps :)
答案3
这取决于您要发送的错误以及人们如何解释该错误:
由于 DNS 故障而收到“无此机器”的邮件服务器可能不会在稍后重试投递,而如果它能够将其解析为当时无法访问的 IP,它可能会将其排队以供稍后重试。此外,理想情况下,您有一个异地备份 MX,它将为您排队所有邮件,以便您的主邮件服务器在您重新上网后收到它。
在网络上,除非/直到您使用某种内容分发网络对您网站的内容进行反向代理,否则这可能无关紧要 - 在这种情况下,即使您的网站关闭,一些内容也会被缓存,因此可以显示,但如果没有 DNS 指向 CDN,它将无法访问。
答案4
DNS 也是遭受拒绝服务攻击的常见目标,其他提供商有时可以更好地应对这种攻击。
在大多数情况下,我更喜欢运行自己的 DNS,但是,如果不只是为了冗余,那么除了自己的 DNS 之外,使用外部 DNS 提供商也有很多好处。
通过运行隐身 DNS,您可以获得直接维护自己的区域的优势,同时又不会在互联网上留下痕迹。您的外部提供商将依赖您运行的 DNS,但只有他们才能通过防火墙访问您的 DNS,这是我经常使用的配置。