ADC

Internet 协议版本 6 (IPv6)

Citrix ADC 设备同时支持服务器端和客户端 IPv6,因此可充当 IPv6 节点。它可以接受来自 IPv6 节点(主机和路由器)和 IPv4 节点的连接,并可以在向服务发送流量之前执行协议转换 (RFC 2765)。

下表列出了 Citrix ADC 设备支持的一些 IPv6 功能。

表 1. 一些受支持的 IPv6 功能

IPv6 功能
SNIP 的 IPv6 地址(NSIP6、VIP6 和 SNIP6)
邻居发现(地址解析、重复地址检测、邻居不可达检测、路由器发现)
管理应用程序(ping6、telnet6、ssh6)
静态路由和动态路由(OSPF、BGP、RIPNG 和 ISIS)
基于端口的 VLAN
IPv6 地址的访问控制列表 (ACL6)
IPv6 协议(TCP6、UDP6、ICMP6)
服务器端支持(虚拟服务器、服务的 IPv6 地址)
用于 IPv6 的 USIP(使用源 IP)和 DSR(直接服务器返回)
用于 IPv6 的 SNMP 和 CVPN
具有本机 IPv6 节点地址的 HA
MIP 的 IPv6 地址
IPv6 的路径 MTU 发现

实施 IPv6 支持

必须在 Citrix ADC 设备上启用 IPv6 功能,然后才能使用或配置该功能。如果禁用 IPv6,Citrix ADC 不会处理 IPv6 数据包。当您运行不受支持的命令时,它会显示以下警告:

"Warning: Feature(s) not enabled [IPv6PT]"
<!--NeedCopy-->

使用下列过程之一启用或禁用 IPv6。

CLI 过程

要使用 CLI 启用或禁用 IPv6,请执行以下操作:

在命令提示符下,键入以下命令之一:

  • enable ns feature ipv6pt

  • disable ns feature ipv6pt

GUI 程序

要使用 GUI 启用或禁用 IPv6,请执行以下操作:

  1. 导航到“系统”>“ 置”,在“模式和功能”组中,单击“配置高级功能”。
  2. 选择或清除 IPv6 协议转换 选项。

VLAN 支持

如果您需要在不识别 VLAN 的情况下发送广播或多播数据包(例如,在 DAD 用于 NSIP,或 ND6 用于路由的下一个跃点),则可以将 Citrix ADC 设备配置为在所有接口上发送带有适当标记的数据包。VLAN 由 ND6 标识,并且数据包仅在 VLAN 上发送。有关 ND6 和 VLAN 的更多信息,请参阅 配置邻居发现

基于端口的 VLAN 在 IPv4 和 IPv6 中很常见。IPv6 支持基于前缀的 VLAN。

简单部署方案

以下是由 IPv6虚拟服务器和 IPv4 服务组成的简单负载平衡设置示例,如下面的拓扑图所示。

图 1. IPv6 示例拓扑

ipv6 拓扑

下表汇总了必须在 Citrix ADC 上配置的实体的名称和值。

表 2. 创建实体的示例值

实体类型 名称
LB 虚拟服务器 VS1_IPv6 2002::9
服务 SVC1 10.102.29.1
  SVC2 10.102.29.2

下图显示了要在 Citrix ADC 上配置的参数的实体和值。

图 2. IPv6 实体图

ipv6 情景

要配置此部署方案,您需要执行以下操作:

  1. 创建 IPv6 服务。
  2. 创建 IPv6 LB 虚拟服务器。
  3. 将服务绑定到虚拟服务器。

CLI 过程

要使用 CLI 创建 IPv4 服务,请执行以下操作:

在命令提示符下,键入:

  • add service <Name> <IPAddress> <Protocol> <Port>
  • sh service <Name>

示例:

> add service SVC1 10.102.29.1 HTTP 80
Done

>add service SVC2 10.102.29.2 HTTP 80
Done
<!--NeedCopy-->

要使用 CLI 创建 IPv6 虚拟服务器,请执行以下操作:

在命令提示符下,键入:

  • add lb vserver <Name> <IPAddress> <Protocol> <Port>
  • sh lb vserver <Name>

示例:

> add lb vserver VS1_IPv6 2002::9 HTTP 80
Done
<!--NeedCopy-->

要使用 CLI 将服务绑定到 LB虚拟服务器,请执行以下操作:

在命令提示符下,键入:

  • bind lb vserver <name> <service>
  • sh lb vserver <name>

示例:

> bind lb vserver VS1_IPv6 SVC1
Done
<!--NeedCopy-->

GUI 程序

要使用 GUI 创建 IPv4 服务,请执行以下操作:

导航到 流量管理 > 负载平衡 > 服务 ,单击 添加 ,然后设置以下参数:

  • 服务名称
  • IP 地址
  • 协议
  • 端口

要使用 GUI 创建 IPv6 虚拟服务器,请执行以下操作:

  1. 导航到 流量管理 > 负载平衡 > 虚拟服务器 ,单击 添加 ,然后选中 IPv6 复选框。
  2. 设置以下参数:
    • 名称
    • 协议
    • IP 地址类型
    • IP 地址
    • 端口

要使用 GUI 将服务绑定到 LB虚拟服务器,请执行以下操作:

  1. 导航到 流量管理 > 负载平衡 > 虚拟服务器
  2. 在“负载平衡虚拟服务器”页面中,选择要为其绑定服务的虚拟服务器(例如,VS1_IPv6)。
  3. 单击打开
  4. 在“配置虚拟服务器(负载平衡)”对话框的“服务”选项卡上,选中与要绑定到虚拟服务器的服务对应的“活动”复选框(例如,SVC1)。
  5. 单击 OK(确定)。
  6. 重复步骤 1-4 以绑定服务(例如,SVC2 到虚拟服务器)。

主机头修改

如果 HTTP 请求在主机标头中有 IPv6 地址,并且服务器不了解 IPv6 地址,则必须将 IPv6 地址映射到 IPv4 地址。然后,IPv4 地址将在发送到虚拟服务器的 HTTP 请求的主机头中使用。

CLI 过程

使用 CLI 将主机标头中的 IPv6 地址更改为 IPv4 地址:

在命令提示符下,键入:

  • set ns ip6 <IPv6Address> -map <IPAddress>
  • sh ns ip6 <IPv6Address>

示例:

> set ns ip6 2002::9 -map 200.200.200.200
Done
<!--NeedCopy-->

GUI 程序

要使用 GUI 将主机标头中的 IPv6 地址更改为 IPv4 地址,请执行以下操作:

  1. 导航到系统 > 网络 > IP,在 IPV6 选项卡上,选择要为其配置映射的 IP 地址的 IP 地址,例如 2002:0:0:0:0:0:0:9,然后单击“编辑”。
  2. 在“映射的 IP”文本框中,键入要配置的映射 IP 地址,例如 200.200.200.200。

VIP 插入

如果 IPv6 地址发送到基于 IPv4 的服务器,服务器可能无法理解 HTTP 标头中的 IP 地址,并且可能会生成错误。为避免这种情况,您可以将 IPv4 地址映射到 IPv6 VIP。然后,您可以启用 VIP 插入,以便在发送到服务器的 HTTP 请求中插入 IPv4 VIP 地址和端口号。

CLI 过程

要使用 CLI 配置映射 IPv6 地址,请执行以下操作:

在命令提示符下,键入:

set ns ip6 <IPv6Address> -map <IPAddress>

示例:


> set ns ip6 2002::9 -map 200.200.200.200
 Done
<!--NeedCopy-->

要使用 CLI 启用 VIP 插入,请执行以下操作:

在命令提示符下,键入:

  • set lb vserver <name> -insertVserverIPPort <Value>
  • sh lb vserver <name>

示例:


> set lb vserver VS1_IPv6 -insertVserverIPPort ON
 Done

<!--NeedCopy-->

GUI 程序

要使用 GUI 配置映射 IPv6 地址,请执行以下操作:

  1. 导航到系统 > 网络 > IP,在 IPV6 选项卡上,选择要为其配置映射 IP 地址的 IP 地址,例如 2002:0:0:0:0:0:0:9,然后单击编辑
  2. 在“映射 IP”文本框中,键入要配置的映射 IP 地址,例如 200.200.200.200。

要使用 GUI 启用 VIP 插入:

  1. 导航到“流量管理”>“负载平衡”>“虚拟服务器”,选择要启用端口插入的虚拟服务器,然后单击“编辑”。
  2. 在“高级”选项卡的“流量设置”下的“虚拟服务器IP 端口插入”下拉列表框中,选择 VIPDR
  3. 在虚拟服务器IP 端口插入 文本框中,键入 VIP 标头。
Internet 协议版本 6 (IPv6)