本节介绍了保留客户端 IP 地址的配置和范围。

默认情况下,NSX Advanced Load Balancer 服务引擎 (SE) 对发送到后端服务器的流量进行源 NAT 处理 (SNAT)。由于 SNAT,应用程序服务器可以看到 SE 接口的 IP 地址,但不知道客户端的原始 IP 地址。在很多情况下,保留客户端的 IP 地址是一项所需的功能,例如,在服务器必须应用安全和访问控制策略时。在 NSX Advanced Load Balancer 中解决该问题的两种方法是:

X-Forwarded-For 标头插入

仅限于 HTTP(S) 应用程序配置文件

代理协议支持

仅限于 L4 应用程序配置文件上的 TCP 流量

以上两种方法都要求后端服务器能够支持相应的功能。

另一种方法是,SE 将客户端 IP 地址作为 SE 到后端服务器的负载均衡连接的源 IP 地址。该功能称为保留客户端 IP,它是 NSX Advanced Load Balancer 默认网关功能和属性的一个组成部分,可以在应用程序配置文件中启用/禁用该功能。

注:

必须启用在服务引擎中启用 IP 路由选项才能选择保留客户端 IP 地址



有关启用 IP 路由的更多信息,请参见“网络服务配置”。

保留客户端 IP 的范围

  • 在传统高可用性模式下,配置浮动接口 IP 并将其设置为服务器上的默认网关,以使用 Preserve-Client-IP 功能接收返回流量。

    • 对于 NSX-T 覆盖网络保留客户端 IP 部署,池服务器不要求更新默认网关。

  • 在弹性高可用性模式下,仅单向流量支持保留客户端 IP,而来自后端服务器的响应预计不会通过服务引擎。

与其他功能相互排斥

  • 保留客户端 IP 地址与对虚拟服务进行 SNAT 处理是相互排斥的。

  • 在 HTTP(S) 应用程序配置文件中启用连接多路复用与选择保留客户端 IP 地址选项不兼容。

  • 在这些情况下,NSX Advanced Load Balancer 始终对后端连接进行 NAT 处理:

    • 在客户端和服务器 IP 位于同一子网时。

    • 在后端服务器没有位于直接连接到 SE 的网络时,即,它们相距一跳或更远。

示例用例



在用于在 SE 组上创建虚拟服务的应用程序配置文件上启用保留客户端 IP 之前,在该 SE 组上启用 IP 路由。

此外:

  • 在前端服务器上配置到后端服务器网络的静态路由,并将前端浮动 IP 作为下一跳,

  • 将后端服务器的默认网关配置为 SE,并且

  • 将 SE 的默认网关配置为前端路由器。

配置保留客户端 IP

考虑一种简单的两分支设置,后端服务器位于 10.10.10.0/24 网络(始终是直接连接的网络)中,前端路由器位于 10.10.40.0/24 网络中。以下是配置该功能的步骤:

使用高级模式向导创建一个虚拟服务。配置其应用程序配置文件以保留客户端 IP,如下所示:应用程序 > 创建虚拟服务 > 高级 > 编辑应用程序配置文件



请注意,在所选的应用程序配置文件中启用任何虚拟服务之前,需要完成该配置。在配置应用程序配置文件以保留客户端 IP 后,将为使用该应用程序配置文件的所有虚拟服务保留客户端 IP。

: > configure applicationprofile System-HTTP
: applicationprofile> preserve_client_ip
Overwriting the previously entered value for preserve_client_ip
: applicationprofile> save

要在 NSX-T 覆盖网络云中部署保留客户端 IP,请参见VMware NSX Advanced Load Balancer 安装指南》中的为 NSX-T 覆盖网络保留客户端 IP 一节。