6.5.4 ACESM拦截:桥接模式
从本小节开始,IaaS终端用户或租户将接管ACESM-123租户G的User上下文(ACESM-123/租户G)配置。
图6-8描述了在tl-tsw2(MSFC)、租户G上下文(ACESM-123/租户G)、SERVER 71以及由SH31和SH32组成的WAN优化器集群之间的互联关系,VLAN-19是面向客户的接口,负责将tl-tsw2(MSFC)的SVI连接到VLAN 19,VLAN 7是面向服务器的VLAN接口,具体连接到SERVER 71,VLAN 30负责WAN优化器、SH31、SH32连接至租户G上下文。
说明:图6-8中展示的DC WAN优化器为Riverbed VSH-2050-H虚拟Steelhead设备,支持逻辑in-path功能。分支WAN优化器(为了简便,未在图中显示)为Riverbed SH-1050-H Steelhead设备,以物理in-path方式部署在租户G的分支办公室。
在桥接模式中,租户G上下文采用物理in-path方式部署在面向客户VLAN 19和面向服务器VLAN 7间,所有位于这些VLAN间的网络流量都需要采用透明桥接模式。鉴于租户G上下文是采用物理in-path方式部署,它将担负对位于租户G分支机构的客户端与SERVER 71间网络流量进行拦截和重定向任务,以完成WAN优化。更多有关ACESM桥接模式的细节,请参见3.2.1节。
与使用桥接模式实施ACESM拦截相关内容包括以下小节:
·桥接模式接口配置
图 6-8 桥接模式的ACESM拦截
·路由和桥接集成
·配置实际服务器和服务器集群
·APR间隔
·为拦截和重定向配置服务策略
在下述章节中实现的配置(代码)都基于图6-8中的环境。
桥接模式接口配置
桥接模式中,ACESM通常会使用SVI接口。租户G上下文(参见图6-8)的桥接模式接口配置分成以下6个步骤:
·step1 创建属于VLAN 7的面向服务器SVI,如代码清单6.40所示。桥接模式实现过程中,面向服务器的SVI属于桥接接口(更多细节请参考“路由和桥接集成”部分),桥接接口基于L2,不需要配置IP地址。
代码清单6.40 桥接模式中面向服务器SVI配置
·step2 创建属于VLAN 19面向客户的SVI,如代码清单6.41所示。面向客户SVI也属于桥接接口(更多细节,请参考“路由和桥接集成”部分)。
说明:桥接类型只包括面向服务器和面向客户的SVI。
代码清单6.41 桥接模式中面向客户SVI配置
·step3 为WAN优化器集群创建属于VLAN 30的SVI,如代码清单6.42所示。WAN优化器集群的SVI接口基于L3,需要配置IP地址。
代码清单6.42 WAN优化器集群的SVI配置
·step4 创建允许通过ACESM的访问控制列表ACL,如代码清单6.43所示。ACL如果命名为“any”则意味着允许任意网络流经过租户G上下文,调用“access-group input<ACL_name>”命令可以被应用到全局的界内拦截。
代码清单6.43 配置租户G上下文的ACL
·step5 对新创建的SVI接口禁用TCP归一化,如代码清单6.44所示。ACESM默认支持TCP归一化,这将对WAN优化器的自动发现过程(例如TCP可选值以及TCP序列号变更)产生干扰,为了保证WAN优化器能正确工作,必须禁用该ACE安全功能。
代码清单6.44 在租户G上下文中禁用TCP归一化
说明:Riverbed Steelhead设备的自动发现过程使用TCP选项76和78。
·step6 激活SVI的mac-sticky并与WAN优化器集群相连,如代码清单6.45所示。mac-sticky特性确保经过租户G上下文的返回网络流量将被送往同一WAN优化器。它在租户G上下文与WAN优化器间建立起L2邻接,并且负责处理最初的SYN包。mac-sticky特征一般放在部署了WAN优化器集群(不止一个WAN优化器)的SVI上配置。
代码清单6.45 为WAN优化器集群激活SVI的mac-sticky特征
说明:Riverbed Steelhead设备的连接转发功能也可以被看成ACESM mac-sticky特征的替代品。
路由和桥接集成
如果桥接模式实现了路由和桥接集成(Integrated Routing and Bridging,IRB),就可以借助PBR在桥接域和路由域间完成路由。BVI是ACESM内的一个虚拟接口,作为路由接口代表桥接组,BVI接口个数与BVI和配置好的桥接组间的联接链路数目相同。那些路由接口内的包,如果是指向桥接组某一片段的主机,都将被路由转发给BVI。然后再经过BVI被相应转发至某个与桥接组相连的桥接接口。
界内接口VLAN 7(参见代码清单6.40)以及接口VLAN 19(参见代码清单6.41)都属于桥接接口,这些SVI都与桥接组7相连,如代码清单6.46所示。当部署好桥接组后,VLAN 7和VLAN 19就实现了透明桥接。
代码清单6.46 将桥接组与相应SVI联系起来
代码清单6.47展示了BVI的配置。BVI自身是路由接口,需要配置IP地址。BVI接口序号为7,该序号源于桥接组7(参见代码清单6.46)。由于此时实现的是桥接(透明)模式,BVI 7,属于VLAN 19和VLAN 7的SVI均处在同一子网内10.7.1.0/24。
说明:SERVER 71的默认网关指向IP地址10.7.1.1(为了简化,未在图6-8中显示),这是tl-tsw2(MSFC)上VLAN 19的SVI。
代码清单6.47 定义桥接组的虚拟接口
说明:任何在ACESM上创建的BVI默认是关闭的。要记住使用“no shutdown”命令来更改默认设置。
ACESM并非路由,它需要一个默认路由(或某些特定静态路由)的配合来完成对那些超出它可达范围地址的访问。如图6-8所示,SERVER71的子网、SH31以及SH32都是再没有下一跳向下网络流量的子网,因而需要一个“默认”路由将来自这些子网的网络流量转发至“外部世界”。代码清单6.48展示了在租户G的上下文如何完成这一过程,样例中默认路由将向上网络流量送至IP地址10.7.1.1(为了简化,未在图6-8中显示)的SVI,该SVI属于tl-tsw2(MSFC)上的VLAN 19。
代码清单6.48 桥接模式的默认路由配置
配置实际的服务器和服务器集群
当在ACESM的User上下文中安装服务器负载平衡配置时,必须要定义实际的服务器实例即rservers。从WAN优化器的角度来看,这些rservers就是真正的WAN优化器。
如代码清单6.49所示,SH31和SH32(参见图6-8)都定义成rservers,要求调用“inservice”命令启动这些服务器。由于WAN优化器(SH31和SH32)担负着透明TCP代理的任务,不适用NAT,换句话而言,即必须要保留那些因重定向/负载平衡发至WAN优化器的网络流量的IP地址信息,在服务器集群定义时中需使用“transparent”关键字来启动这一特殊功能(分离模式)。调用“rservers<reserver_host_name>”命令可以将reserver添加到服务器集群中。同样要记住调用“inservice”命令来激活服务器集群中的rservers。
说明:用户可以使用“no inservice”命令平缓关掉服务器。
代码清单6.49 实际服务器和服务器集群配置
负载平衡(Load Balance,LB)算法被认为是ACESM中的预言家,用来挑选一个rserver以处理新到达的连接。存在两类预测算法:负载预测以及网络传输模式预测。
负载预测包括以下负载平衡算法:
·最小连接,可选慢启动
·响应时间
·最小负载
·最小带宽
网络传输模式预测涵盖以下负载平衡算法:
·散列地址:源或目标或者两者都是,掩码可选
·散列cookie(适用于L7 LB)
·散列报头(适用于L7 LB)
·散列HTTP URL(适用于L7 LB)
·轮循,可选加权(如果在服务器集群定义时没有显式指明预测算法,则该算法为默认算法)
·散列layer 4负载均衡
推荐采用散列地址作为处理到WAN优化器的TCP连接的负载均衡的预测算法,它能够基于源IP地址、目标IP地址或同时基于这两种IP地址进行负载平衡,这样可以确保对每一个网络传输流实例都能够在一个WAN优化器上进行处理。代码清单6.49中应用了散列源以及目标地址,/32(255.255.255.255)掩码隐含了算法将检查和使用用来进行散列的IPv4地址的所有4个八位元组。
代码清单6.50 验证服务器集群中实际服务器的状态
代码清单6.50展示了如何调用“show serverfarm<serverfarm_name>”命令来验证服务器集群中的reserver的状态。如代码清单6.50所示,rservers SH31和SH32都处于“OPERATIONAL”状态,也就是到目前为止一切正常。
ARP间隔
“arp interval”命令指明了ACESM向配置好的主机(例如,网关、rservers以及后发现的主机)发送ARP请求的时间间隔(以秒为单位),默认300秒,代码清单6.51将ARP间隔缩减至15秒以加速桥接模式下主机的发现速度。
代码清单6.51 缩减默认ARP间隔
调用“show arp”命令可以检查ACESM的ARP表的信息。从代码清单6.52的命令输出可以看出,每一个rserver(例如,SH31和SH32)都拥有一个ARP入口,默认网关(譬如可以是,默认路由的下一跳),以及后发现的主机(例如SERVER 71)。
代码清单6.52 ARP表验证
为拦截和重定向配置服务策略
ACESM负载平衡支持WAN优化器网络流量的拦截和重定向功能,对作为“服务器”的WAN优化器而言,拦截和重定向配置与定义ACESM负载平衡动作是等价的,配置拦截和重定向协议时应该考虑类匹配和协议匹配。
L4负载平衡的主要原则是需要配置一个虚拟IP(VIP)地址,然而从WAN优化器拦截和重定向观点来看,由于WAN优化器集群处于分离模式(更多细节请参考“实际服务器和服务器集群配置”一节),因此无法提供一个实际的IP地址。如果放宽条件范围,而不限制必须要能够匹配任意指定VIP,往返于实际服务器(例如,SERVER 71)和WAN优化器集群间(例如,SH31和SH32)的TCP会话将能够达到负载平衡(例如,拦截和重定向)。
代码清单6.53展示了在条件中定义“TCP-ANY”类匹配条件,以实现任意TCP传输都能匹配到任意的VIP地址。
代码清单6.53 桥接模式类匹配设置
说明:代码清单6.53中的类匹配条件是假设当前在相应服务器上只有一个需要优化的TCP应用运行,而在大多数情况下,系统推荐根据需要优化的TCP应用个数以及TCP应用类型(例如,依据TCP目标端口)来细化匹配条件。
代码清单6.54 桥接模式负载平衡协议匹配设置
为了实现TCP会话的负载平衡(例如拦截和重定向),需要使用一个类型为“loadbalance”的协议匹配。代码清单6.54展示了创建负载平衡协议匹配“LB-SH-G”,由于样例中只存在一个名为“SH-FRAM-G”服务器集群(参见代码清单6.49),因此使用了内置类名“class-default”。
另外,还需要另一个类型为“multi-match”的协议匹配。代码清单6.55展示了如何创建名为“INTERCEPT”的multi-match协议匹配,此协议匹配的主要功能是与“TCP-ANY”(参见代码清单6.53)类匹配,以实现“LB-SH-G”协议匹配(参见代码清单6.54)的负载平衡,可以通过调用“loadbalance policy LB-SH-G”命令完成。为了保证负载平衡操作能正确实施,必须调用“loadbalance vip inservice”初始化VIP,然后再将multi-mathc应用到拦截的SVI上。所涉及的拦截SVI为VLAN 17的面向服务器SVI以及VLAN 19的面向客户SVI,调用“service-policy input”命令可以将“INTERCEPT”协议匹配应用到这些接口上。
代码清单6.55 桥接模式multi-match协议匹配设置
调用“show service-policy<multi-match_policy-map_name>”命令可以验证服务器协议的配置结果,由代码清单6.56中命令输出结果可知,当前配置好的服务协议处在“ACTIVE”状态,VIP为“INSERVICE”状态,这意味着租户G的上下文已经准备好对送至WAN优化器集群的待优化的网络流量进行拦截和重定向处理。
代码清单6.56 桥接模式服务器协议验证