如何简单地将一个 IP 重新路由到另一个 IP?

如何简单地将一个 IP 重新路由到另一个 IP?

基本上,我的需求是:能够在我的 60 多个域的 DNS 区域中指定 IP 地址,并且能够将此IP重定向到另一个(并在需要时进行更改)。我不是那种“网络人”,所以一点帮助会.. 嗯... 有帮助!;-)

我需要这个,因为我正在管理两个不同的专用服务器:

  • 服务器 #1:生产,公有 IP #1
  • 服务器 #2: 紧急情况下,发生灾难时,公有 IP #2

我的所有域名 DNS 区域都指向此服务器 #1(生产),IP 地址为 #1。

当我的服务器 #1(生产)停机(发生灾难时)时,我需要将所有域名重定向到服务器 #2(紧急情况)。在这种情况下,我的计划是执行以下操作:

  1. 手动更改我的 60 多个域名的 DNS 区域,使它们指向服务器 #2 的 IP #2(紧急情况)
  2. 等待 DNS 传播延迟

有没有更好的方法可以做到这一点,让我的 DNS 区域始终指向一个 IP,并允许我在需要时仅更改一行以将此 IP 重定向到 IP #1 或 IP #2?我是否需要管理专用于此角色的“外部”Windows 服务器?(这会很昂贵)..或者任何在线服务都允许这样做?(但代价是我必须绝对避免的任何延迟)?

请注意,Windows Server 上的许多地方都使用公共 IP:IIS Web 服务器、Plesk 配置等。

附加信息:如果有帮助,我的 DNS 区域由 OVH 管理。

答案1

您需要获取另一个公共 IP(第三个)以用于 DNS 记录。该第三个 IP 将分配给活动服务器。

您需要使用一些高可用性软件来监控服务器,并在其他 IP 不可用时为其分配第三个 IP(VIP)。您需要将生产服务器配置为最喜欢的服务器(默认分配 VIP)。

对于 Linux 系统,您可以使用 keepalived 作为 HA 解决方案。对于 Windows 环境,这个帖子可能会对您有所帮助(我不是 Windows 服务器方面的专家)。

答案2

嗯 - 我认为 DNS 并不是真正的解决方法,因为记录需要传播。

我不知道大家一致认为这需要多长时间,但我通常认为 48 小时是合理的——并非每个 DNS 服务器都会接受您指定的 TTL,并且在外面存在一些相当深的层次结构,解析器依赖于解析器,解析器又依赖于距离权威服务器有一定距离的更多解析器。

您是否考虑过使用某种类似负载均衡器/CDN 的东西?

这将允许您在 DNS 中指定负载均衡器 IP 或 CDN,并能够单独处理后端配置。

但这并不符合每个人的口味,因此,一种替代方案是使用一对专用前端,为您的域名提供 CNAME,以允许两者之间进行循环。

您通常可以将 nginx 或 haproxy 转储到类似的东西上,就可以了(但如果这不是您的领域,托管前端可能会更好)。

检查 OVH 提供什么 - 这是一个常见的需求,他们很可能能够为您提供更具体的建议。

相关内容