Internet 协议版本 6 (IPv6)
NetScaler 设备支持服务器端和客户端 IPv6,因此可以充当 IPv6 节点。它可以接受来自 IPv6 节点(主机和路由器)和 IPv4 节点的连接,并且可以在向服务发送流量之前执行协议转换 (RFC 2765)。
下表列出了 NetScaler 设备支持的部分 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 的 Path-MTU 发现 |
实现 IPv6 支持
必须先在 NetScaler 设备上启用 IPv6 功能,然后才能使用或配置它。如果禁用 IPv6,则 NetScaler 不会处理 IPv6 数据包。当您运行不支持的命令时,它会显示以下警告:
"Warning: Feature(s) not enabled [IPv6PT]"
<!--NeedCopy-->
使用以下任一过程启用或禁用 IPv6。
CLI 过程
要使用 CLI 启用或禁用 IPv6,请执行以下操作:
在命令提示符下,键入以下命令之一:
-
enable ns feature ipv6pt
-
禁用 ns 功能 ipv6pt
GUI 程序
要使用 GUI 启用或禁用 IPv6,请执行以下操作:
- 导航到“系统”>“设置”,在“模式和功能”组中,单击“配置高级功能”。
- 选择或清除 IPv6 协议转换 选项。
VLAN 支持
如果您需要在不识别 VLAN 的情况下发送广播或多播数据包(例如,在 DAD 期间 NSIP,或者在 ND6 期间发送路由的下一跳),则可以将 NetScaler 设备配置为在所有带有适当标记的接口上发送数据包。VLAN 由 ND6 标识,并且数据包仅在 VLAN 上发送。有关 ND6 和 VLAN 的更多信息,请参阅 配置邻居发现。
基于端口的 VLAN 在 IPv4 和 IPv6 中很常见。IPv6 支持基于前缀的 VLAN。
简单部署场景
以下是由 IPv6 虚拟服务器和 IPv4 服务组成的简单负载平衡设置的示例,如以下拓扑图所示。
图 1. IPv6 示例拓扑
下表汇总了必须在 NetScaler 上配置的实体的名称和值。
表 2. 创建实体的示例值
实体类型 | 名称 | 值 |
---|---|---|
LB 虚拟服务器 | VS1_IPv6 | 2002::9 |
服务 | SVC1 | 10.102.29.1 |
SVC2 | 10.102.29.2 |
下图显示了要在 NetScaler 上配置的参数的实体和值。
图 2. IPv6 实体图
要配置此部署方案,您需要执行以下操作:
- 创建 IPv6 服务。
- 创建 IPv6 LB 虚拟服务器。
- 将服务绑定到虚拟服务器。
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 地址
- 协议
- Port(端口)
要使用 GUI 创建 IPv6 虚拟服务器,请执行以下操作:
- 导航到“流量管理”>“负载平衡”>“虚拟服务器”,单击“添加”,然后选中 IPv6 复选框。
- 设置以下参数:
- 名称
- 协议
- IP 地址类型
- IP 地址
- Port(端口)
要使用 GUI 将服务绑定到 LB 虚拟服务器,请执行以下操作:
- 导航到 流量管理 > 负载平衡 > 虚拟服务器。
- 在 负载平衡虚拟服务器 页面中,选择要为其绑定服务的虚拟服务器(例如,VS1_IPv6)。
- 单击打开。
- 在“配置虚拟服务器(负载平衡)”对话框的“服务”选项卡上,选中与要绑定到虚拟服务器的服务(例如 SVC1)对应的“活动”复选框。
- 单击“确定”。
- 重复步骤 1-4 绑定服务(例如,将 SVC2 绑定到虚拟服务器)。
修改主机标头
如果 HTTP 请求的主机标头中有 IPv6 地址,而服务器无法理解 IPv6 地址,则必须将 IPv6 地址映射到 IPv4 地址。然后,在发送到虚拟服务器的 HTTP 请求的主机标头中使用 IPv4 地址。
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 地址,请执行以下操作:
- 导航到“系统”>“网络”>“IP”,然后在 IPv6s 选项卡上,选择要为其配置映射 IP 地址的 IP 地址,例如 2002:0:0:0:0:0:9,然后单击“编辑”。
- 在 映射 IP 文本框中,键入要配置的映射 IP 地址,例如 200.200.200.200。
VIP Insertion
如果将 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 地址,请执行以下操作:
- 导航到“系统”>“网络”>“IP”,在IPv6s选项卡上,选择要为其配置映射 IP 地址的 IP 地址,例如 2002:0:0:0:0:0:9,然后单击“编辑”。
- 在 映射 IP 文本框中,键入要配置的地图 IP 地址,例如 200.200.200.200。
要使用 GUI 启用 VIP 插入,请执行以下操作:
- 导航到“流量管理”>“负载平衡”>“虚拟服务器”,选择要启用端口插入的虚拟服务器,然后单击“编辑”。
- 在“高级”选项卡的“流量设置”下的“虚拟服务器 IP 端口插入”下拉列表框中,选择VIP**ADDR。
- 在“虚拟服务器 IP 端口插入”文本框中,键入 VIP 标头。