ADC

IP 通道

IP 通道是一种通信信道,可以通过使用封装技术在两个没有路由路径的网络之间创建。两个网络之间共享的每个 IP 数据包都封装在另一个数据包中,然后通过通道发送。

NetScaler 设备通过以下方式实现 IP 通道:

  • NetScaler 作为封装器(使用 DSR 模式进行负载平衡):假设一个在不同国家/地区拥有多个数据中心的组织,其中 NetScaler 可能位于一个地点,而后端服务器位于不同的国家。本质上,NetScaler 和后端服务器位于不同的网络上,并通过路由器连接。

    在此 NetScaler 上配置直接服务器返回 (DSR) 时,从源子网发送的数据包由 NetScaler 封装,并通过路由器和通道发送到相应的后端服务器。后端服务器解封数据包并直接响应客户端,而不允许数据包通过 NetScaler 传递。

  • NetScaler 作为解封者:假设一个 组织拥有多个数据中心,每个数据中心都有 NetScaler 和后端服务器。当数据包从数据中心 A 发送到数据中心 B 时,通常通过中间发送,例如路由器或其他 NetScaler。NetScaler 处理数据包,然后将数据包转发到后端服务器。但是,如果发送封装的数据包,NetScaler 必须能够解封该数据包,然后再将其发送到后端服务器。为了使 NetScaler 能够用作解封装器,在路由器和 NetScaler 之间添加了一条通道。当包含其他标头信息的封装数据包到达 NetScaler 时,数据包将被解封,即删除额外的标头信息,然后将数据包转发到相应的后端服务器。

    NetScaler 还可以用作负载平衡功能的解封器,尤其是在虚拟服务器上的连接数量超过阈值,然后所有新连接都被转移到备用虚拟服务器的情况下。

IP 通道功能在 NetScaler Premium 版许可证中可用。有关 NetScaler 版本许可证和 NetScaler 功能列表的更多信息,请参阅 NetScaler 版本数据表

配置 IP 通道

在 NetScaler 设备上配置 IP 通道包括创建 IP 通道实体。IP 通道实体指定本地和远程通道端点 IP 地址以及用于 IP 通道的协议。

注意: 在群集设置中配置 IP 通道时,本地 IP 地址必须是条带化的 SNIP 地址。

CLI 过程

要使用 CLI 创建 IP 通道,请执行以下操作:

在命令提示符下,键入:

  • add iptunnel <name> <remote> <remoteSubnetMask> <local> -type -protocol (ipoverip | GRE)
  • show iptunnel

要使用 CLI 删除 IP 通道,请执行以下操作:

要删除 IP 通道,请键入 rm iptunnel 命令和通道的名称。

要使用 CLI 创建 IPv6 通道,请执行以下操作:

在命令提示符下,键入:

  • add ip6tunnel <name> <remoteIp> <local>
  • show ip6tunnel

要使用 CLI 删除 IPv6 通道,请执行以下操作:

要删除 IPv6 通道,请键入 rm ip6tunnel 命令和通道的名称。

GUI 程序

要使用 GUI 创建 IP 通道,请执行以下操作:

导航到“系统”>“网络”>“IP 通道”,添加新的 IP 通道。

要使用 GUI 创建 IPv6 通道,请执行以下操作:

导航到“系统”>“网络”>“IP 通道”>“IPv6 通道”,然后添加新的 IPv6 通道。

全局自定义 IP 通道

通过全局指定源 IP 地址,可以在所有通道上分配公共源 IP 地址。此外,由于分段需要 CPU 密集型,因此您可以全局指定 NetScaler 设备丢弃任何需要分段的数据包。或者,如果您想在未达到 CPU 阈值的情况下对所有数据包进行分段,则可以全局指定 CPU 阈值。

CLI 过程

要使用 CLI 全局自定义 IP 通道,请执行以下操作:

在命令提示符下,键入:

  • set ipTunnelParam -srcIP <sourceIPAddress> -srcIPRoundRobin ( YES | NO )-dropFrag [**YES** | **NO**] -dropFragCpuThreshold <Positive integer>

  • show ipTunnelParam

示例:

> set iptunnelparam –srcIP 12.12.12.22 -dropFrag Yes –dropFragCpuThreshold 50
 Done

> set iptunnelparam -srcIPRoundRobin YES -dropFrag Yes –dropFragCpuThreshold 50
 Done
<!--NeedCopy-->

要使用 CLI 全局自定义 IPv6 通道,请执行以下操作:

在命令提示符下,键入:

  • set ip6tunnelparam -srcIP <IPv6Address> -srcIPRoundRobin ( YES | NO )-dropFrag [**YES** | **NO**] -dropFragCpuThreshold <Positive integer>

  • show ip6tunnelparam

GUI 程序

要使用 GUI 全局自定义 IP 通道,请执行以下操作:

导航到“系统”>“网络”,在“设置”组中,单击 IPv4 通道全局设置

  1. 导航到“系统”>“网络”,在“设置”组中,单击 IPv6 通道全局设置
  2. 在“配置 IP 通道全局参数”对话框中,设置参数。

要使用 GUI 全局自定义 IPv6 通道,请执行以下操作:

  1. 导航到“系统”>“网络”,在“设置”组中,单击 IPv6 通道全局设置
  2. 在“配置 IP 通道全局参数”对话框中,设置参数。

GRE IP 通道中的 GRE 负载选项

对于配置的 GRE IP 通道,NetScaler 设备封装了整个第 2 层数据包,包括以太网标头和 VLAN 标头(dot1q VLAN 标记)。NetScaler 设备与某些第三方设备之间的 IP GRE 通道可能不稳定,因为这些第三方设备未编程为处理某些或第 2 层数据包标头。要在 NetScaler 设备和第三方设备之间配置稳定的 IP GRE 通道,可以使用 GRE IP 通道命令集的 GRE 有效负载参数。GRE 负载设置也可以应用于带有 IPsec 通道的 GRE。

在通过 GRE 通道发送数据包之前,您可以将 GRE 负载参数设置为执行以下任一操作:

  • 使用 DOT1Q 的以太网。携带以太网标头以及 VLAN 标头。此为默认设置。对于绑定到网桥的通道,内部以太网标头和 VLAN 标头包含来自 NetScaler 设备的 ARP 和桥接表的信息。对于设置为 PBR 规则下一跳的通道,内部以太网目标 MAC 地址设置为零,VLAN 标头指定默认 VLAN。从 NetScaler 通道端点发送的封装 (GRE) 数据包具有以下格式:

    本地化后的图片

  • 以太网。携带以太网标头,但丢弃 VLAN 标头。由于数据包在通道中不携带任何 VLAN 信息,因此对于具有此设置并绑定到网桥的通道,必须将适当的 VLAN 绑定到网桥,这样 NetScaler 才能在通道上接收任何数据包时,NetScaler 可以将这些数据包转发到指定的 VLAN。如果将通道设置为 PBR 规则中的下一跳,NetScaler 会路由通道上接收到的数据包。从 NetScaler 通道端点发送的封装 (GRE) 数据包具有以下格式:

    本地化后的图片

  • IP。删除以太网标头以及 VLAN 标头。由于具有此设置的通道不传输第 2 层标头,因此这些通道无法绑定到网桥,但可以设置为 PBR 规则中的下一跳。接收到数据包的对等通道端点设备要么消耗数据包,要么路由该数据包。从 NetScaler 通道端点发送的封装 (GRE) 数据包具有以下格式:

    本地化后的图片

使用 CLI 删除 GRE IP 通道中的第 2 层数据包标头:

  • add ipTunnel <name> <remote> <remoteSubnetMask> <local> [-**protocol** \<GRE> [-**vlan** \<positive_integer>]] [-**grepayload** \<grepayload>] [-**ipsecProfileName** \<string>]
  • show iptunnel <tunnelname>

示例:

> add iptunnel IPTUNNEL-1 203.0.113.133 255.255.255.0 198.51.100.15 –protocol GRE –grepayload Ethernet -ipsecProfileName IPTUNNEL-IPSEC-1
Done
<!--NeedCopy-->

通过 GRE IPV4 通道的 IPv6 流量

NetScaler 设备支持通过 IPV4 GRE 通道传输 IPv6 流量。此功能可用于启用隔离 IPv6 网络之间的通信,而无需升级它们之间的 IPv4 基础架构。

要配置此功能,请将 PBR6 规则与配置的 IPv4 GRE 通道相关联,您希望 NetScaler 通过该通道发送和接收 IPv6 流量。PBR6 规则的源 IPv6 地址和目标 IPv6 地址参数指定了流量要通过 IPv4 GRE 通道的 IPv6 网络。

注意: 配置为传输 IPv6 数据包的 GRE IPv4 通道不支持 IPsec 协议。

要使用 CLI 创建 GRE IPv4 通道,请执行以下操作:

在命令提示符下,键入:

  • add ipTunnel <name> <remote> <remoteSubnetMask> <local> -protocol GRE
  • show ipTunnel <name>

要使用 CLI 将 PBR6 规则与 GRE IPv4 通道关联,请执行以下操作:

  • add ns pbr6 <pbrName> ALLOW -srcIPv6 <network-range> -dstIPv6 <network-range> -ipTunnel <tunnelName>
  • show pbr

示例配置

在以下示例配置中,GRE IP 通道 TUNNEL-V6onV4 是使用远程通道端点 IP 地址 10.10.6.30 和本地通道端点 IP 地址 10.10.5.30 创建的。然后通道被绑定到 pbr6 PBR6-V6onV4。srcIPv6 指定了连接到本地端点的 IPv6 网络,destIPv6 指定了连接到远程端点的 IPv6 网络。允许来自这些 IPv6 网络的流量通过 GRE IPv4 通道。

> add ipTunnel TUNNEL-V6onV4 10.10.6.30 255.255.255.255 10.10.5.30 -protocol GRE
-ipsecProfileName None
Done
> add ns pbr6 PBR6-V6onV4 ALLOW -srcIPv6 = 2001:0db8:1::1-2001:0db8:1::255 -destIPv6 =
1-2001:0db8:4::255 -ipTunnel TUNNEL-V6onV4
<!--NeedCopy-->

通过 IP-IP 通道发送响应流量

您可以将 NetScaler 设备配置为通过 IP-IP 通道发送响应流量,而不是将其路由回源。默认情况下,当设备通过 IP-IP 通道接收来自其他 NetScaler 或第三方设备的请求时,它会路由响应流量,而不是通过通道发送。您可以使用基于策略的路由 (PBR) 或启用基于 MAC 的转发 (MBF) 通过通道发送响应。

在 PBR 规则中,指定两个端点的子网,其流量要穿过通道。还要将下一跳设置为通道名称。当响应流量与 PBR 规则匹配时,NetScaler 设备会通过通道发送流量。

或者,您可以启用 MBF 以满足此要求,但该功能仅限于 NetScaler 设备存储会话信息的流量(例如,与负载平衡或 RNAT 配置相关的流量)。设备使用会话信息通过通道发送响应流量。

CLI 过程

要使用 CLI 创建 PBR 规则并将 IP-IP 通道关联到该规则,请执行以下操作:

在命令提示符下,键入:

  • add ns pbr <pbr_name> ALLOW -srcIP = <local_subnet_range> -destIP = <remote_subnet_range> -ipTunnel <tunnel_name>
  • apply ns pbrs
  • show ns pbr <pbr_name>

要使用 CLI 启用基于 Mac 的转发,请执行以下操作:

在命令提示符下,键入:

  • enable ns mode MBF
  • show ns mode

GUI 程序

要使用 GUI 创建 PBR 规则并将 IP-IP 通道关联到该规则,请执行以下操作:

  1. 导航到“系统”>“网络”>“PBR”。在 PBR 选项卡上,创建 PBR 规则。
  2. 创建 PBR 时,将下一个跃点类型设置为 IP 通道IP 通道名称设置为配置的 IP-IP 通道名称。

要使用 GUI 启用基于 Mac 的转发,请执行以下操作:

  1. 导航到“系统”>“设置”,在“模式和功能”中,单击“配置模式”。
  2. 配置模式 页面上,选择 基于 Mac 的转发

配置示例

以 IPIP 通道为例,NS1-NS2-IPIP,该通道设置在两台 NetScaler 设备 NS1 和 NS2 之间。

默认情况下,对于 NS2 通过通道接收的任何请求,它会将响应流量路由到源,而不是通过通道将其发送(到 NS1)。

您可以在 NS2 上配置基于策略的路由 (PBR) 或启用基于 MAC 的转发 (MBF),使其能够通过通道发送响应。

在以下 NS2 上的示例配置中,NS1-NS2-IPIP 是 IPIP 通道,NS1-NS2-IPIP-PBR 是 PBR 规则。对于 NS2 通过通道接收的请求(内部源 IP 地址在 10.102.147.0-10.102.147.255 范围内,内部目标 IP 地址在 10.102.147.0-10.102.147.255 范围内),NS2 通过通道发送相应的响应(到 NS1),而不是将其路由到源。该功能仅限于与 PBR 规则匹配的流量。

> add iptunnel NS1-NS2-IPIP 192.0.2.99 255.255.255.255 203.0.113.99–protocol IPIP

Done
> add pbr NS1-NS2-IPIP-PBR -srcIP 10.102.147.0-10.102.147.255 –destIP 10.20.1.0-10.20.1.255 –ipTunnel NS1-NS2-IPIP

Done
> apply pbrs

Done
<!--NeedCopy-->

或者,可以在 NS2 上启用 MBF。此功能仅限于 NS2 存储会话信息的流量(例如,与负载平衡或 RNAT 配置相关的流量)。

> enable ns mode MBF

Done
<!--NeedCopy-->
IP 通道