用例 6:使用 TOS 字段在 DSR 模式下为 IPv6 网络配置负载平衡

当 Citrix ADC 设备和服务器位于不同的网络中时,您可以使用“服务类型 (TOS)”字段为 IPv6 网络配置负载平衡。

注意:TOS 字段也称为流量类字段。

在 DSR 模式下,当客户端向 Citrix ADC 设备上的 VIP6 地址发送请求时,设备将数据包的目标 IPv6 地址更改为服务器的 IPv6 地址,并在 TOS 中设置 VIP6 地址的编码值(也称为流量类)字段中的 IPv6 标头。您可以将服务器配置为使用 TOS 字段中的信息从编码值中派生 VIP6 地址,然后将该地址用作响应数据包中的源 IP 地址。响应流量直接进入客户端,绕过设备。

考虑一个示例,其中使用 Citrix ADC 设备 NS1 上配置的负载平衡虚拟服务器 LBVS1 用于跨服务器 S1、S2 和 S3 负载平衡流量。Citrix ADC 设备 NS1 和服务器 S1、S2 和 S3 位于不同的网络中,因此路由器 R1 部署在 NS1 和服务器之间。

dsrmode-ipv6

下表列出了此示例中使用的设置。

实体 名称
客户端 C1 的 IPv6 地址 C1_IP (仅供参考)
NS1 上的虚拟服务器负载平衡 LBVS1
LBVS1 的 IPv6 地址 LBVS1_VIP6(仅供参考)
TOS 值 TOS_ LBVS1_VIP6 (仅供参考)
NS1 上服务器 S1 的服务 SVC_S1
服务器 S1 的 IPv6 地址 S1_IP(仅供参考用途)
NS1 上服务器 S2 的服务 SVC_S2
服务器 S1 的 IPv6 地址 S2_IP(仅供参考用途)
NS1 上服务器 S3 的服务 SVC_S3
服务器 S1 的 IPv6 地址 S3_IP(仅供参考用途)

以下是示例方案中的流量:

  1. 客户端 C1 向虚拟服务器 LBVS1 发送请求。
  2. LBVS1 的负载平衡算法选择服务器 S1,设备将打开与 S1 的连接。NS1 将请求发送给 S1:
    • “TOS”字段设置为“TOS_ LBVS1_VIP6”
    • 源 IP 地址为 C1_IP。
  3. 服务器 S1 在接收请求时使用 TOS 字段中的信息来派生 LBVS1_VIP6 地址,即 NS1 上虚拟服务器 LBVS1 的 IP 地址。服务器直接将响应发送到 C1,绕过设备,包括:
    • 源 IP 地址设置为 DerveDLBvS1_VIP6 地址,以便客户端与 NS1 上的虚拟服务器 LBVS1 通信,而不是与服务器 S1 通信。

要使用 TOS 在 DSR 模式下配置负载平衡,请在设备上执行以下步骤

  1. 在全局范围内启用 USIP 模式。
  2. 将服务器添加为服务。
  3. 使用 TOS 值配置负载平衡虚拟服务器。
  4. 将服务绑定到虚拟服务器。

使用命令行界面在 DSR 模式下使用 TOS 配置负载平衡

在命令提示窗口中,键入:

enable ns mode USIP

add service <serviceName> <IP> <serviceType> <port>

根据需要多次重复上述命令,以将每台服务器添加为 Citrix ADC 设备上的服务。

add lb vserver <name> <serviceType> <ip> <port> -m <redirectionMode> -tosId <positive_integer>

bind lb vserver <vserverName> <serviceName>

使用配置实用程序启用 USIP 模式

导航到“系统”>“设置”>“配置模式”,然后选择“使用源 IP 地址”。

使用配置实用程序创建服务

导航到流量管理 > 负载平衡 > 服务,然后创建服务。

使用配置实用程序创建负载平衡虚拟服务器并绑定服务

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器,然后创建虚拟服务器。
  2. 在“服务”部分中单击以将服务绑定到此虚拟服务器。