2 个默认网关用于连接转换?

2 个默认网关用于连接转换?

我有一个任务,就是在不停机的情况下从根本上改变与我们基础设施(公司网站)的连接,我已经想出了一个我认为可能可行的计划。因此,基本设置是所有机器都位于同一子网 (172.16.0.0/14),所有机器的旧路由器和当前默认网关为 172.16.1.1,新连接已设置为 172.18.1.1(注意,它们位于同一子网中)。

这个想法是为所有机器(所有 Linux)分配第二个默认网关,临时指向新的路由器/连接,然后切换 DNS 以指向新连接上的新公共 IP,然后等待所有连接都进入那里。然后删除指向旧路由器/连接的原始默认网关。

有人认为这可行吗?或者有其他方法可以完成此切换,而不必尝试争辩说我们需要为此停机一段时间?我真的不想为此在所有这些机器(大约有 100 台)上配置多个路由表。

答案1

一个选项可能是设置一台新机器 ServerA,它上面有两个网关,一个是默认网关,另一个是辅助网关。重新配置所有其他服务器以路由到 ServerA,让它从那里转发。然后在 ServerA 上切换默认网关。所有其他服务器仍将转到 ServerA,它将通过正确的网络进行路由。然后您可以慢慢切换其他服务器。可能无法完全消除停机时间,但肯定会减少停机时间。当您完成所有操作后,您可以删除 ServerA。

答案2

如果公共 IP 已连接到服务器,则可以使用源策略路由选择正确的网关来响应数据包。例如,如果旧网关 172.16.1.1 的公网 IP 为 198.51.100.0/24,而新网关 172.16.1.2 的公网 IP 为 203.0.113.0/24,则在服务器上配置以下内容:

echo 12 isp2 >> /etc/iproute2/rt_tables
ip route add default via 172.16.1.2 table isp2
ip rule add from 203.0.113.0/24 lookup isp2

这将使用新的公共 IP 通过 172.16.1.2 路由流量,同时通过 172.16.1.1 发送其他所有流量(传入和传出)。现在应该可以在新的公共 IP 上访问服务器,因此您可以切换 DNS 条目。一旦不再使用旧的公共 IP,您可以将默认路由更改为 172.16.1.2 并删除上述配置。

如果传入连接通过 NAT 转换到服务器,则您必须为服务器设置一个新的私有子网,并将新网关配置为 NAT 到此范围。

相关内容