我们在办公室互联网连接上托管一个 Web 服务器(便宜!)。DNS 服务器是外部的,不由 ISP 提供。
当连接中断时,我们希望有一个备用解决方案。基本思路是使用不同的 ISP(独立的最后一英里)和不同的 IP 号码建立第二个互联网连接。
如何才能最大限度地减少网站用户的停机时间?如果将 DNS TTL 设置为几分钟,然后在出现问题时(自动或手动)切换到备份 IP 号码,我们能达到什么效果?
答案1
为了实现这一目标,需要克服几个问题:
IP 范围 - 通常,您会从每个 ISP 获得不同的 IP 地址。当您失败时,您需要入站连接才能到达第二组 IP。为了获得最大的弹性,请获取 /24“独立于提供商”的 IP 块(或更大),并安排您的(昂贵)路由器与您的 ISP 进行 BGP4 通信。
DNS 条目 - 除非您有自己的 IP 范围(请参阅上面的第 1 点),否则您需要随时更改 DNS 条目。但是,许多(损坏的)客户端会忽略您发布的任何 TTL,并继续尝试访问旧的 IP 范围。DNS 专家的共识是DNS 不是实现冗余的正确方法。
出站流量 - 您的服务器需要知道从哪个互联网连接发送返回数据包。如果两个连接都进入同一个路由器/防火墙,这可能会更容易,但这也会成为单点故障。
答案2
如果您已经拥有多个提供商,则只需要一种故障转移方法。最简单的方法是按照所述操作,并使用 DNS 更改转到活动 IP 地址。
我曾成功佩普林克,特别是20W的,相对便宜。
正如另一个答案中提到的,BGP 路由更加复杂(并且昂贵),并且要求上游提供商允许 BGP 通告,而许多最后一英里提供商并不这样做。
答案3
答案4
Peplink 余额 210或更高版本具有内置 DNS 服务器。它允许您自动负载平衡和故障转移入站流量。TTL 值由您决定。我的首选值为 360 秒。
要了解它的工作原理,请尝试添加一个域并在其演示站点。