IP隧道
IP隧道是在两个没有路由路径的网络之间使用封装技术创建的通信信道。两个网络之间共享的每个IP数据包都封装在另一个数据包中,然后通过隧道发送。
Citrix ADC设备以以下方式实现IP隧道:
Citrix ADC作为封装器(使用DSR模式进行负载平衡):假设一个组织在不同的国家有多个数据中心,其中Citrix ADC可能位于一个位置,而后端服务器位于不同的国家。本质上,Citrix ADC和后端服务器位于不同的网络上,并通过路由器连接。
在此Citrix ADC上配置Direct Server返回(DSR)时,从源子网发送的数据包被Citrix ADC封装,并通过路由器和隧道发送到适当的后端服务器。后端服务器将数据包解压缩并直接响应到客户端,而不允许数据包通过Citrix ADC传递。
Citrix ADC作为解封装器:考虑一个组织,每个组织每个都有Citrix ADC和后端服务器。当从数据中心A发送数据包到数据中心B时,它通常通过中介发送,说出路由器或其他Citrix ADC。Citrix ADC处理数据包,然后将数据包转发到后端服务器。但是,如果发送封装数据包,Citrix ADC必须能够在将数据包发送到后端服务器之前解封装。要使Citrix ADC能够用作解留置机,请在路由器和Citrix ADC之间添加隧道。当封装的分组具有附加报头信息到达Citrix ADC时,数据分组是解码的,即,删除附加报头信息,然后将分组转发到适当的后端服务器。
Citrix ADC还可以用作负载均衡特性的解封装器,特别是在vserver上的连接数超过阈值,然后所有新连接被转移到备份vserver的情况下。
配置IP隧道
在Citrix ADC设备上配置IP隧道包括创建IP隧道实体。IP隧道实体指定本端和远端隧道端点IP地址以及用于IP隧道的协议。
注意:在集群环境中配置IP隧道时,本端IP地址必须为stripe SNIP地址。
CLI过程
使用CLI创建IP隧道。
在命令提示符类型:
- 添加iptunnel
-类型-协议(iPoverip.|gr) - 显示iptunnel
要使用CLI删除IP隧道:
要删除IP隧道,请键入rm iptunnel.命令和隧道的名称。
要使用CLI创建IPv6隧道,请执行以下操作:
在命令提示符类型:
- 添加ip6tunnel当地> <名称> < remoteIp > <
- 显示IP6Tunnel.
要使用CLI删除IPv6隧道,请执行以下操作:
删除IPv6隧道时,输入rm ip6tunnel命令和隧道的名称。
GUI程序
使用GUI创建IP隧道:
导航到系统>网络>IP隧道,添加新的IP隧道。
使用GUI方式创建IPv6隧道:
导航到系统>网络>IP隧道>IPv6隧道,添加新的IPv6隧道。
全局定制IP隧道
通过全局指定源IP地址,可以为所有隧道分配一个通用的源IP地址。此外,由于碎片是cpu密集型的,可以全局指定Citrix ADC设备丢弃任何需要碎片的包。或者,如果您希望在没有达到CPU阈值的情况下对所有数据包进行分片,则可以全局指定CPU阈值。
CLI过程
使用CLI全局定制IP隧道:
在命令提示符下,键入:
设置ipTunnelParam-srcip.< sourceIPAddress > - - -srciproundrobin.(是的|不)-吊坠[是的|不] -滴落<正整数>
显示ipTunnelParam
例子:
> set iptunnelparam -srcIP 12.12.12.22 - droppfrag Yes -dropFragCpuThreshold 50 Done
要使用CLI全局自定义IPv6隧道,请执行以下操作:
在命令提示符下,键入:
设置ip6tunnelparam-srcip.
-srciproundrobin.(是的|否)-吊坠[是的|不] -滴落<正整数> 显示ip6tunnelparam
GUI程序
使用GUI全局定制IP隧道:
导航到系统>网络,在“设置”组中,单击IPv4隧道全局设置.
- 导航到系统>网络,在设置组中,单击IPv6隧道全局配置.
- 在配置IP隧道全局参数对话框中,设置参数。
通过使用GUI全局自定义IPv6隧道:
- 导航到系统>网络,在设置组中,单击IPv6隧道全局配置.
- 在配置IP隧道全局参数对话框中,设置参数。
GRE IP隧道中的GRE有效载荷选项
对于配置的GRE IP隧道,Citrix ADC设备封装整个第2层数据包,包括以太网报头和VLAN报头(dot1q VLAN标记)。Citrix ADC设备和某些第三方设备之间的IP GRE隧道可能不稳定,因为这些第三方设备未编程为处理某些或第2层数据包头。要在Citrix ADC设备和第三方设备之间配置稳定的IP GRE隧道,可以使用GRE IP隧道命令集的GRE有效负载参数。GRE有效负载设置也可以应用于具有IPSec隧道的GRE。
在报文通过GRE隧道发送之前,可以通过配置GRE有效载荷参数来实现以下目的之一:
带DOT1Q的以太网.携带以太网头和VLAN头。这是默认设置。对于绑定到网桥的隧道,内部以太网报头和VLAN报头包含来自Citrix ADC设备的ARP和桥接表的信息。对于作为策略路由规则下一跳的隧道,内部以太网目的MAC地址设置为0,VLAN头指定缺省VLAN。从Citrix ADC隧道端点发送的GRE封装报文格式如下:
以太网.携带以太网头,但删除VLAN标题。由于数据包不携带隧道中的任何VLAN信息,因此对于具有此设置并绑定到NetBridge的隧道,因此必须将适当的VLAN绑定到NetBridge,以便在接收隧道上的任何数据包时,Citrix ADC可以转发数据包到指定的VLAN。如果将隧道设置为PBR规则中的下一跳,Citrix ADC会路由在隧道上接收的数据包。从Citrix ADC隧道端点发送的GRE封装报文格式如下:
知识产权.删除以太网头和VLAN头。由于该配置的隧道不携带二层报文头,因此不能与网桥绑定,而可以在策略路由规则中设置为下一跳。对端隧道端点设备接收报文时,要么消耗该报文,要么路由该报文。从Citrix ADC隧道端点发送的GRE封装报文格式如下:
在GRE IP隧道中,通过命令行丢弃报文的二层头。
- 添加ipTunnel
<远程> [ -协议< GRE > [-vlan< positive_integer >]] [-grepayload ][-ipsecProfileName<字符串>) - 显示iptunnel
例子:
>添加iptunnel iptunnel-1 203.0.113.133 255.255.255.0 198.51.100.15–协议GRE–grepayload Ethernet–ipsecProfileName iptunnel-IPSEC-1 Done<!--NeedCopy-->
通过GRE IPV4隧道的IPv6流量
Citrix ADC设备支持通过IPV4 GRE隧道传输IPv6流量。此功能可用于启用隔离IPv6网络之间的通信,而无需升级它们之间的IPV4基础结构。
要配置此功能,请将PBR6规则与配置的IPv4 GRE隧道相关联,您希望Citrix ADC通过该隧道发送和接收IPv6流量。PBR6规则的源IPv6地址和目标IPv6地址参数指定其通信量将通过IPv4 GRE隧道的IPv6网络。
注意:GRE IPv4隧道不支持IPSec协议,配置为传输IPv6数据包。
要使用CLI创建GRE IPv4隧道,请执行以下操作:
在命令提示符下,键入:
- 添加ipTunnel
-协议gr - 显示Iptunnel.
要使用CLI将PBR6规则与GRE IPv4隧道关联,请执行以下操作:
- 添加ns pbr6
允许-srcIPv6<网络范围> - - -DSTIV6<网络范围> - - -IPTUNNEL.< tunnelName > - 显示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隧道。
>添加IPTunnel Tunnel-V6Onv4 10.10.6.30 255.255.3055.10.10.5.30-Prootocol GRE -IVESECPROFILENAME NONE>添加NS PBR6 PBR6-V6-V6ONV4允许-SRCIPv6 = 2001:0DB8:1 :: 1-2001:0DB8:1 :: 1-2001:0DB8:1 :: 1-2001-destipv6 = 1-2001:0dB8:4 :: 255 - 杉木隧道-V6Onv4 <! - CentCopy - >
通过IP-IP隧道发送响应流量
您可以将Citrix ADC设备配置为通过IP-IP隧道发送响应流量,而不是将其路由回源。默认情况下,当设备通过IP-IP隧道接收来自另一个Citrix ADC或第三方设备的请求时,它将路由响应流量,而不是通过隧道发送它。可以使用策略路由(policy - based routes)或MAC-Based Forwarding (MAC-Based Forwarding)将响应通过隧道发送。
在策略路由规则中,指定流量通过隧道的两端子网。并设置下一跳为隧道名称。当响应流量匹配策略路由规则时,Citrix ADC设备将流量通过隧道发送。
或者,您也可以启用MBF来满足这一需求,但是该功能仅限于Citrix ADC设备存储会话信息的流量(例如,与负载平衡或RNAT配置相关的流量)。设备使用会话信息将响应流量发送到隧道。
CLI过程
要创建PBR规则并使用CLI将IP-IP隧道与其关联,请执行以下操作:
在命令提示符下,键入:
- 添加ns pbr< pbr_name >允许-srcip.= < local_subnet_range > -destIP=<远程子网范围>-IPTUNNEL.
- 应用ns pbrs.
- 显示NS PBR.< pbr_name >
要使用CLI启用基于MAC的转发,请执行以下操作:
在命令提示符下,键入:
- 使能ns模式MBF
- 显示ns模式
GUI程序
要使用GUI创建PBR规则并将IP-IP隧道关联:
- 导航到系统>网络>PBRs.在PBRs选项卡,创建一个PBR.规则。
- 创建PBR时,设置下一跳类型到IP隧道和IP隧道名称到配置的IP-IP隧道名称。
通过图形界面实现mac转发功能:
- 导航到系统>设置在里面模式和特性,点击配置模式.
- 在配置模式页面,选择苹果的转发.
样品配制
考虑一个IPIP隧道的例子,NS1-NS2-IPIP,它是在两个Citrix ADC设备NS1和NS2之间建立的。
缺省情况下,对于通过隧道接收到的任何请求,NS2都将响应流量路由到源,而不是通过隧道发送到NS1。
您可以在NS2上配置基于策略的路由(PBR)或启用基于MAC的转发(MBF),以使其通过隧道发送响应。
在NS2上的以下示例配置中,NS1-NS2-IPIP是IPIP隧道,NS1-NS2-IPIP-PBR是PBR规则。对于请求(具有10.102.147.0-10.102.147.255中的内源IP地址,内部目的地IP地址为10.102.147.0-10.102.147.255)通过NS2通过隧道接收,NS2通过隧道发送相应的响应(到NS1)而不是将其路由到源。该功能仅限于与PBR规则匹配的流量。
>添加IPTUNNEL NS1-NS2-IPIP 192.0.2.99 255.255.113.99 - 协议IPIP完成> 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完成>应用PBR
或者,可以在NS2上启用MBF。该功能仅限于NS2存储会话信息的通信量(例如,与负载平衡或RNAT配置相关的通信量)。
>启用ns模式MBF完成