BNT GBE 2-7 设备上的负载平衡 + NAT 问题

BNT GBE 2-7 设备上的负载平衡 + NAT 问题

我在配置具有 NAT 功能的硬件负载均衡器时遇到了麻烦。

我有以下架构:

互联网 ===> VIP(公共)LB(私有 IP)====> 私有地址服务器

当从外部(互联网)初始化连接时,LB 会正确地将 SYN 数据包转发到其中一个私有服务器。但是当这些服务器想要使用 SYN/ACK 回复时,就会出现问题。

初始 SYN 数据包具有 IP 标头:VIP => Private_server_Address

但是私服那边无法联系到VIP(因为是私服所以很正常),然后给出正确的回复。

你们有什么解决方案可以正确地将数据包转发到正确的目的地吗?

注意:负载均衡器是服务器的默认网关,也有一个用于“伪装”的 NAT 规则(实际上更多的是 SNAT,而不是真正的伪装)

问候,

克莱门特。

答案1

配置负载均衡器的方法有很多种,但您并没有明确说明希望负载均衡器如何运行 - 或者说,您给出了相互矛盾的场景。

根据您概述的架构,您的 LB 应该“终止” TCP 连接 - 然后它将与您的私有服务器建立新的 TCP 连接并仅发送数据。这意味着当连接到达您的私有服务器时,它应该不是会将外部 VIP 视为连接的源地址,但负载均衡器的内部私有 IP 却会被视为连接的源地址。这与您所描述的情况相矛盾。

IIRC,在这种模式下(一些供应商称之为“代理模式”,不同于“DSR 模式”),不需要 NAT,因此可以禁用伪装。

因此,首先我建议您确认您的私人看到的源 IP 是哪个源 IP - 我认为它不应该是外部 VIP 地址。

相关内容