您可以在 DNS 中为您的服务器设置备份 IP 吗?

kjo*_*876 10 domain-name-system backup-restoration redundancy

有没有办法让 DNS 协议自然地保存一个备份 A 记录服务器地址,比如备份名称服务器或邮件服务器记录?搜索时,我只看到备份名称服务器(NS 记录)上的结果。

如果 DNS 没有办法支持备份 A 记录,那么模拟结果的最佳方法是什么,以便在主服务器没有响应的情况下将用户定向到工作服务器?

wom*_*ble 12

是的……有点。

您可以在这里做两件事:如果您在 DNS 服务器中为给定名称放置了多个 A 记录,那么它们都将提供给客户端,而这些客户端将从集合中选择一个进行连接,这意味着流量将同时“公平地”均匀地分布在所有站点中。这并不是您所描述的真正情况,但这是一种常见情况(尽管出于各种原因,我不相信它)。

另一种选择是您只在您的 DNS 服务器中放置一个 A 记录,并且 DNS 服务器(或它的附属设备,如监控脚本)会密切关注您站点的主地址,如果它失败,则 DNS 服务器的 A记录被更改到您的其他站点。这意味着一次只有一个站点会获得流量。

第二种策略的缺点是 DNS 缓存。任何获得旧站点地址的人都将成为 SOL,直到他们的包含旧地址的 DNS 缓存条目被清除。这意味着您必须保持较低的 TTL(增加 DNS 基础设施的负载,尽管这很少成为实际问题),但仍然存在“流氓”DNS 缓存的问题,它不支持 TTL。这些对任何人来说都是巨大的痛苦 谁曾经必须更改 DNS 条目,但对于需要“经常”更改 DNS 条目的人来说,情况要糟糕一百万倍(希望您的网站不会每天宕机几次,但仍然......)基本上,任何人在这些行为不端的 DNS 缓存之一的背后,您的站点会在很长一段时间内“停机”,并尝试向他们解释是他们的 DNS 缓存有问题......呃。

简而言之,我不会为网站这样做,因为有更好的方法来减轻您想到的任何风险,但是如果您需要有关如何减轻风险的建议,则需要描述该风险。

  • 您不想要 DNS 故障转移,您想要更可靠的硬件和可能的热备用服务器。 (9认同)

Jde*_*eBP 6

每个人似乎都认为你在谈论 WWW 服务器,即使你明确地写了

像备份名称服务器或邮件服务器

经常被忽视的事实是,HTTP 服务是例外而不是规范。在正常情况下,对了,还有就是对于通过DNS,使他们正确地回退从主服务器备份服务器对客户端发布信息的机制。 该机制是SRV资源记录,服务客户端用于HTTP之外的许多其他协议。 请参阅 RFC 2782。

通过SRV资源记录,客户端被告知服务器列表,具有优先级和权重,并被要求按优先级顺序尝试服务器,根据权重选择具有相同优先级的服务器,选择权重较高的服务器的频率高于权重较低的服务器那些。因此,通过SRV资源记录,服务器管理员可以告诉客户端回退服务器是什么,以及如何在一组同等优先级的服务器之间分配负载。

现在内容DNS服务器是通过自己的一种特殊类型的资源记录来定位的,NS资源记录是没有优先级和权重信息的。同样,SMTP 中继服务器通过它们自己的特殊类型的资源记录来定位MX,该记录具有优先级信息但没有加权信息。因此,对于内容 DNS 服务器,没有发布回退和负载分布信息的规定;如果正在使用MX资源记录,那么对于 SMTP 中继服务器,则没有发布负载分布信息的规定。

但是,SRV现在存在具有功能的 MTS。(第一个是eximSRV自 2005 年以来一直支持。)对于其他服务协议,不受包MXNS资源记录的影响,SRV采用更加彻底和广泛。例如,如果您有一个 Microsoft Windows 域,则可以通过SRV在 DNS 中查找来定位大量服务。在这一点上,十多年来都是如此。

问题是每个人都想到了 HTTP,当 HTTP 到目前为止,现在在 2011 年,这里是例外而不是规则。