6.3 使用VRF感知的WCCP实现云拦截
在VM层进行拦截不仅仅只有“deep-in-DC”一种方式,传统的out-of-path拦截机制同样可以在私有云中远离服务集群(或VM)而靠近WAN边缘的位置进行部署。本小节关注私有云核心/汇聚层上更为传统的网络流量拦截及重定向方法部署,这一技术将借助VRF感知的WCCPv2(如图2-1所示)。
从SOI观点来看,DC的核心/汇聚层是实现WCCPv2拦截的理想地点,因为这是L2终结而L3开始的地方。VRF与L3设备在该层的接口关联是考虑的重点,而VRF配置意味着需要L3路径隔离(更多细节请参见3.2.1节),但是这对标准的WCCPv2部署造成了影响,标准WCCPv2部署要求全局采用IPv4路由表。
解决该问题的途径之一是使用VRF感知的WCCPv2,或者通过VRF路由泄露(请参考6.4节)。第5章简单介绍了各类WCCP服务器平台,其中能够直接支持WCCPv2的平台有:
·Nexus 7000
·C7200和ISR(IOS 15.x)
·C7600(IOS 12.2(33)SRE)
·ASR 1000(IOS-XE 3.1.0S)
Nexus 7000(NX7K)交换机将被当成案例平台用来进一步细化说明在多租户环境如何实现VRF感知的WCCPv2配置。图6-2展示了一个在NX7K交换机上的简单WAN优化配置,CORE-1位于DC核心层。WAN优化可以同时为租户B和租户C服务,CORE-1承担了一个multi-VRF L3交换机的功能,VRF租户B和VRF租户C则是相应租户。因为现在在CORE-1存在两个不同的VRF,VRF感知WCCPv2(或者是两个不同的WCCPv2实例)必须在CORE-1实现,以便能够正确拦截并将网络流量重定向至WAN优化器。往返至服务器S1的TCP网络流将被VRF租户B上的WCCPv2实例拦截,并重定向至WAN优化器“B”以实施优化;而往返至服务器S2的TCP网络流将被VRF租户C上的WCCPv2实例拦截,并重定向至WAN优化器“C”以实施优化。本例中的WAN优化器既可以是物理设备也可以是虚拟设备。
图 6-2 使用VRF感知的WCCPv2实现WAN优化
说明:在图6-2所示样例中,远程分支的网络流必须要穿过核心/汇聚/接入层,才能从WAN边缘/对等层到达服务器S1和S2。部署在DC的WAN优化器为Riverbed VSH-2050-H虚拟Steelhead设备,该设备能够支持WCCPv2技术。分支上的WAN优化器(为了简化,未在图中显示)为Riverbed SH-1050-H Steelhead设备,按物理in-path方式部署在远程分支上。
说明:尽管NX7K交换机支持VRF感知的WCCPv2,但如果在交换机上配置的不是VRF,而是虚拟设备上下文VDC,就不要求支持该功能。此时,WCCPv2采用普通的全局IPv4路由表。不过目前Nexus 7000交换机最多仅能支持包括默认VDC在内共4个VDC,所以当租户数目超过4时,仍然需要采用VRF。另外,VDC和VRF可以同时使用,此时,可以将VRF当成VDC的子集,每一个VDC也可进一步虚拟化以支持VRF。
代码清单6.1描述了CORE-1(如图6-2所示)的L2基本配置。使用了5个端口:4个access端口,1个留作802.1Q trunk端口。在4个access端口中,两个(Eth1/13和Eth1/15)留给租户B,用来连接到WAN优化器“B”和服务器S1,另外两个(Eth1/14和Eth1/16)留给租户C,用来连接到WAN优化器“C”和服务器S2,trunk端口(Eth1/17)连接到某个WAN边缘/对等层的路由上(为了简化,未在图中显示)。
代码清单6.1 NX7K L2基本配置
说明:NX7K交换机的模块1,CORE-1(如图6-2所示)是拥有48个端口10/100/1000Mbps以太网模块(N7K-M148GT-11)。
代码清单6.2描述了CORE-1(如图6-2所示)的L3基本配置。以代码清单6.1所示的6个VLAN为基础,再加上6个相应的L3交换虚拟接口SVI。默认的VDC可以为VRF租户B和VRF租户C服务。SVIs Vlan-10,Vlan-101以及Vlan-102与VRF租户B相连,SVIs Vlan-20,Vlan-201以及Vlan-202与VRF租户C相连,实例化了两个OSPFv2,一个(路由ospf 100)为VRF租户B服务,另一个(路由ospf 200)为VRF租户C服务。
代码清单6.2 NX7K L3基本配置
代码清单6.3描述了CORE-1上VRF感知的WCCPv2(如图6-2所示)配置。为了方便NX7K交换机上WCCP掩码分配的实施,为每一租户都创建了2个WCCP服务组,每个服务组都采用基于界内定向方法完成WCCP拦截。更多NX7K交换机能够支持的WCCP功能的详细说明,可以参见本书5.2.8节中“Nexus 7000 WCCP兼容性”相关内容。
代码清单6.3 NX7K上VRF感知的WCCPv2配置
说明:为了简便,代码清单6.3省略了诸如HA以及其他更复杂的WCCPc2配置内容。
如果是租户B这种情况,来自远程机构“B”(192.168.100.0/24)到服务器S1(10.1.102.100/32)的界内TCP网络流由服务组101拦截,重定向至WAN优化器“B”以进行优化。而来自服务器S1(10.1.102.100/32)至远程机构“B”(192.168.100.0/24)的界内TCP网路流将由服务组102拦截,重定向至WAN优化器“B”以进行优化。服务组101和102对VRF租户B而言都属本地。
如果是租户C这种情况,来自远程机构“C”(192.168.200.0/24)到服务器S2(10.1.202.100/32)的界内TCP网络流由服务组121拦截,重定向至WAN优化器“C”以进行优化。而来自服务器S2(10.2.202.100/32)至远程机构“C”(192.168.200.0/24)的界内TCP网路流将由服务组122拦截,重定向至WAN优化器“C”以进行优化。服务组121和122对VRF租户C而言都属本地。
说明:在VRF感知WCCPv2中,服务组对于VRF均为局部定义,换句话说,不同VRF内定义的服务组在逻辑上是相互隔离,意味着在不同的VRF中服务组ID可以重用(在代码清单6.3中未进行说明)。这样的处理方法在云服务供应商为不同的租户使用了相同的命名机制时特别有用。此时,相同的WCCPv2配置(包括重定向ACLs)可以实施在不同的租户上。
说明:NX7K交换机支持重定向访问控制列表(Access-Control List,ACL),代码清单6.3中的重定向ACLs假设当前在相关服务器上只有一个TCP应用需要优化。而在大多数情况下,推荐按照需要优化的TCP应用的数目,重新完善ACL,以获得更好的扇入控制。