两个(或更多)GRE 隧道之间的负载平衡

两个(或更多)GRE 隧道之间的负载平衡

我有一个托管服务(例如 zScaler™),让我通过 GRE 隧道向其发送流量。我有两个设备,想在两个隧道之间平衡我的流量负载。

我总是可以静态地划分网络但是我宁愿不这样做。

我提出的解决方案是,我可以在两个隧道之间创建两个等价路由,但这不会在每个数据包的基础上实现平衡。因此,部分数据流将通过一个隧道,部分数据流将通过另一个隧道。我想避免这种情况,因为这会使故障排除变得困难,会导致设备跟踪连接出现问题,并且可能会导致 SSL 检查出现问题。

有没有一种方法,无论是基于设备还是其他方式(我拥有安全设备,可以在其前面放置负载平衡器)可以根据原始客户端的源 IP 平衡 GRE 隧道?因此,客户端 X 始终通过 GRE 隧道 A,而客户端 Y 通过 GRE 隧道 B。

我的网络设备是标准思科 L3 交换机和 ASA。

答案1

使用基于数据包的等价成本平衡不适用于 GRE,因为它会在数据包流中引入重新排序并破坏它们。您似乎实际上想要一个基于 conntrack 的多路径路由,它可以在任何基于 Linux 的路由器/防火墙上轻松配置。基于 IP 地址的多路径路由在配置上甚至更简单。

相关内容