记录 2 个静态 IP 的 DNS - 容错

记录 2 个静态 IP 的 DNS - 容错

我在 DMZ 中有一个 Web 服务器,可以通过 2 个不同的公共静态 IP 地址访问,这两个 IP 地址由 2 个不同的 ISP 通过 2 个不同的互联网连接提供。

我想创建一个记录,比如说“myserver.contoso.com”,在正常情况下(循环)对两个 IP 进行负载平衡。

然而,主要目标是,如果一个互联网上行链路(即一个公共静态 IP)中断,服务器仍然可以访问。

我该怎么做才能实现这个目标?

更新 仅供参考:我创建了一个 DNS 记录“pippo.disney.com”,其中包含 2 个记录“A”,TTL 为 5 分钟,一切正常!希望这对将来的某些人有用 :) 谢谢!

答案1

您可以创建两条A记录,每条记录都设置为站点的两个公共 IP 之一。但是,如果其中一个 ISP 出现故障,这不会阻止客户端缓存(并尝试访问)其中一条记录。

依赖于客户端平台,客户端将缓存两个记录并第一次命中第一条记录,然后是第二条记录,然后是第一条记录,依此类推。

一些客户端会在每次连接之间轮换记录,而一些客户端则倾向于使用收到的第一个地址。

答案2

只需为您的主机名添加两个 A 记录,每个 IP 一个。我认为它会默认轮换它们,但这取决于 DNS 提供商。

您可以将 BIND 配置为不轮换它们,但我不确定在缓存查找(从个人本地 DNS 服务器)中如何处理它们。

然而,在现实生活中,我认为这没什么大不了的。我认为如果第一次连接失败,现代浏览器会尝试下一次查找,从而在浏览器级别提供一种冗余形式。它可能还会缓存这一点。

相关内容