我有一个旧的 Linux HA 防火墙/路由器设置,它从来没有真正起作用过。由于它从未真正投入生产(只是测试和演示),我总是必须关闭一次防火墙才能使其路由。现在我们计划将其投入生产,我需要让它正常工作。
所以我想要做的是尝试让它最终在 HA 故障转移模式下正常工作。
我有两台 Linux 服务器,用作防火墙/路由器。它们各自直接接入 10G 光纤接口和点对点 /30 网络。它们运行 BGP。它们路由 Infiniband,即 LAN 端。这解释了为什么我不使用普通路由器,而是使用服务器来实现此目的。
我相信安装时这些 10G 下降被称为多提供商或类似名称,但就我而言,它们来自同一个提供商,并且它们有很多 HA 上游。
查看现有的每个 HA 设置,公共端和私有端都有一个浮动 IP。我认为这是为了确保在使用 conntrackd 时可以将流正确复制到备份机器。通常在 Linux 上使用 keepalived 来在连接的 WAN 端和 LAN 端提供浮动 IP。
像这样:
而不是详细解释不起作用的旧设置。鉴于我在公共 10G 端没有交换机,我请求指点如何使其正确工作。但是,我在两个路由器之间有直接的 eth2 链接。还有另一个通过交换机连接在一起的 eth3 链接。我想我想要尝试避免的是非对称路由,即流量从一台服务器进入并从另一台服务器流出。理想情况下,它会进入活动服务器。
如上所述的网络范围由 BGP 提供,为 /25。
我想知道是否可以用 Linux 完成以下操作:
我是否可以将 eth2 网络用作一种交换机,以便当数据包进入备份服务器时,可以通过 eth2 将其传送到另一台服务器,然后从主服务器传送到 LAN?这样可以吗?
我一直在考虑的另一件事是在 LAN 上设置两个默认路由,而不要考虑浮动 IP。但我认为这可能会有问题,对吗?我如何确保每个服务器有 1 个会话。我无法弄清楚 Linux 中的策略路由。
顺便说一句:防火墙后面没有 Windows 服务器。它只为 Linux 服务器提供服务。
实际上,马克提醒过我,我确实很早就寻求过帮助,但在收到回复时我还没打算做任何事情。我们都忙得忘了这件事。我找到了这封电子邮件。
答复是:
您好,抱歉回复迟了。大多数情况下,您可以使用 HA 并让两个防火墙同时工作,但这里无法实现。我在这里要做的是使用路由图将流量引导到一侧而不是另一侧。在您不想要流量的路由器上,您可以添加发送给我们的路由。这会使到此设备的路径更长,因此我们的路由器会采用另一条路径。
route-map Net:Out
set as-path prepend 65007 65007
router bgp 65007
neighbor <Net IP> route-map out NetDC:Out
On the same router you would then lower the preference of the routes we send you.
route-map Net:In
set local-preference 10
rotuer bgp 65007
neighbor <Net IP> route-map in Net:In
如果您有任何疑问,请告诉我。我发布的语法适用于 Brocade,但 Quagga 应该非常相似。
其中“Net”实际上是我不想透露的提供商的名称。
在实践中如何运作?我知道 keepalive 可以运行脚本。
即 vrrp_instance MyVRRPInstance { [...] 通知 /usr/local/bin/keepalivednotify.sh }
啊,那么,在备份状态下停止 BGP 守护进程,然后在主状态下启动它是否可以呢?