本节介绍了在 NSX Advanced Load Balancer 中配置真正的客户端 IP 的步骤。

配置真正的客户端

NSX Advanced Load Balancer 22.1.3 开始,可以使用 UI 启用和配置真正的客户端 IP。

要从 UI 中启用真正的客户端 IP,请执行以下操作:

  1. 导航到模板 > 配置文件 > 应用程序

  2. 创建或编辑一个 HTTP 类型的应用程序配置文件

  3. 选中启用真正的客户端 IP 复选框。

  4. 选择索引方向以定义客户端 IP 索引必须从哪个方向进行计数。

  5. 输入要从指定标头的值中选择的条目的索引。默认值为 1,如果索引方向值为 1,则按照“索引方向”中指定的方向选择用户指定的标头中的第一个 IP 值。在增加标头中的索引值时,将选择与索引值对应的 IP。例如,如果标头中的索引为 3,则选择指定方向的第三个 IP。

  6. 用于查找真正的客户端 IP 的标头下面,单击添加并输入一组 IP 地址。如果未输入任何 IP 地址,并且选中了启用真正的客户端 IP 复选框,则使用 X-Forwarded-For 标头(如果可用)。



  7. 配置其他字段,然后单击保存

按照以下步骤,使用 CLI 在 NSX Advanced Load Balancer 中配置真正的客户端 IP。

启用真正的客户端 IP

为所需的自定义 HTTP 配置文件启用 use_true_client_ip 字段。

  1. 登录到 NSX Advanced Load Balancer Shell 以访问 CLI。

  2. 使用以下命令配置自定义 HTTP 配置文件:

    configure applicationprofile <name of the custom http profile>
  3. 使用以下命令启用真正的客户端 IP:

    http_profile use_true_client_ip.

配置参数

将以下参数与 true_client_ip 参数一起使用:

  • Headers(可选)- 定义需要从中获取客户端 IP 的所需 HTTP 标头。如果未指定,则默认配置“X-Forwarded-For”。

  • Direction(可选)- 定义对指定标头值中的 IP 进行计数的方向。默认情况下,该值为 Left

  • Index_in_header(可选)- 定义在指定标头值中的位置(在配置的方向)。默认情况下,该值为 1

定义 True_Client_IP 参数(标头名称、方向、标头中的索引),如下所示:

true_client_ip headers <name of the header> <direction> <index in the header>
注:

真正的客户端 IP 索引的有效范围是 1-1000。

在根据需要配置这些参数后,保存配置。

用例

可以将以下功能配置为使用实际的客户端 IP:

  • HTTP 策略

    • 可以配置基于客户端 IP 的 HTTP 安全/请求/响应策略匹配。

  • DataScript:基于客户端 IP 的 API、速率限制 API

在启用真正的客户端 IP 后,以下功能将会受到影响:

  • 应用程序日志:应用程序日志中的客户端 IP(IPv4 和 IPv6)

  • 分析策略

    • 客户端 IP 的客户端日志筛选器匹配

    • RUM/客户端详细信息采样 - 在插入 RUM 脚本时检查的客户端 IP 地址

  • 基于客户端 IP 的速率限制

  • 基于客户端 IP 的压缩筛选器

  • SSO 策略中基于客户端 IP 的匹配

  • WAF 策略中基于客户端 IP 的允许列表

  • WAF:Modsec 规则

  • 机器人程序管理策略中基于客户端 IP 的允许列表

  • IP 信誉

  • 基于地理位置的功能

  • DOS 分析报告中的真正客户端 IP

升级

默认情况下,将停用真正的客户端 IP。因此,在升级 NSX Advanced Load Balancer 时,引用客户端 IP 的所有实例将引用源 IP,并且行为不会发生明显变化。

如果以后启用真正的客户端 IP,引用客户端 IP 的所有实例将引用真正的客户端 IP。要在任何此类位置中专门使用源 IP,请明确更改配置。

示例

真正的客户端 IP 配置

标头参数

方向参数

索引计数参数

请求详细信息

行为

已启用

X-Forwarded-For

3

X-Forwarded-For:1.1.1,2.2.2.2,3.3.3.3,4.4.4.4

客户端 IP 为 3.3.3.3;源 IP 来自第 3 层标头

已启用

X-Forwarded-For

4

X-Forwarded-For:1.1.1,2.2.2.2,3.3.3.3,4.4.4.4

客户端 IP 为 4.4.4.4;源 IP 来自第 3 层标头

已启用

X-Forwarded-For

5

X-Forwarded-For:1.1.1,2.2.2.2,3.3.3.3,4.4.4.4

客户端 IP 为 4.4.4.4;源 IP 来自第 3 层标头

已启用

X-Forwarded-For

4

X-Forwarded-For: 1.1.1.1, 2.2.2.2, 3.3.3.3,4.4.4.4X-Forwarded-For: 10.10.10.10, 172.16.1.1,192.168.1.1

客户端 IP 为 4.4.4.4;源 IP 来自第 3 层标头

已启用

True-Client-IP

4

X-Forwarded-For:1.1.1,2.2.22,3.3.3.3,4.4.4.4

客户端 IP 为空;源 IP 来自第 3 层标头

已启用

True-Client-IP

4

X-Forwarded-For: 1.1.1.1, 2.2.2.2, 3.3.3.3,4.4.4.4True-Client-IP: 10.10.10.10, 172.16.1.1, 192.168.1.1

客户端 IP 为 192.168.1.1;源 IP 来自第 3 层标头

未配置(默认)

3

X-Forwarded-For: 1.1.1,2.2.2.2,3.3.3.3,4.4.4.4

客户端 IP 为 3.3.3.3;源 IP 来自第 3 层标头

X-Forwarded-For

未配置(默认)

3

X-Forwarded-For: 1.1.1,2.2.2.2,3.3.3.3,4.4.4.4

客户端 IP 为 3.3.3.3;源 IP 来自第 3 层标头

X-Forwarded-For

2

X-Forwarded-For: 1.1.1,2-2,3.3.3.3,4.4.4.4

客户端 IP 为空;源 IP 来自第 3 层标头

X-Forwarded-For

2

X-Forwarded-For: 1.1.1.1, 2.2.2.2, 3.3.3.3, 4.4.4.4

客户端 IP 为 2.2.2.2;源 IP 来自第 3 层标头

True-Client-IP

2

X-Forwarded-For: 1.1.1.1, 2.2.2.2, 3.3.3.3, 4.4.4.4

客户端 IP 为空;源 IP 来自第 3 层标头