EVI双龙传——EVI多主情况下链路备份配置
一、组网需求
如图1所示,某公司在两个不同的地区设立了两个数据中心,两个站点使用一根光纤互联,要求采用EVI技术实现数据中心之间的二层互连,两个数据中心拥有自己独立的网关。为了保证发生跨站点的VMotion时业务的连续性,不可能要求管理员手工修改服务器的网关地址,要求两个站点内的网关的IP地址和MAC地址要相同。两个数据中心有相同的出口(RTA),站点2数据中心作为站点1数据中心的备份,而当站点1到出口路由器的链路失效后,不必动态迁移,只需通过另外一个站点的的三层链路进行出口。只有当站点1失效后,才使用站点2的业务。具体要求如下:
(1)两个数据中心的VLAN10、VLAN20通过一根光纤实现网络EVI二层互连;
(2) IPA和IPB分别作外两个数据中心的VRRP master,他们具有相同的virtual IP和virtual MAC地址,以此实现当站点1出问题后,站点2能接替站点1工作。
(3)RTA作为两个数据中心共同的出口设备,正常情况下站点1访问internet通过IPA-RTA,但当IPA与RTA的链路失效后,站点1访问internet可以通过IPA-IPB-RTA的链路进行备份,这就需要在EVI隧道里面跑OSPF路由。
图1
正常情况下,只有站点1对外服务,三层流量IPA-RTA出口,二层流量通过EVI隧道从IPA-IPB,如图2所示。
图2
当IPA-RTA的链路中断后,依然让站点1对外提供服务,三层流量IPA-IPB—RTA,如图3。
图3
只有当站点1内IPA出问题后,才会让站点2对外提供服务,三层流量IPB-RTA,如图4。
图4
(1)在IPA与IPB之间配置IP地址,实现3层互通;使用loopback地址来建立EVI二层网络。
(2)为实现当数据业务和服务器在迁移过程中无需修改IP地址和网关,需要在各数据中心的网上创建相同VRRP备份组。由于本例中要求EVI边缘设备直接作为网关,因此需要将IP A、IP B同时配置成VRRP的Master,并使用相同的虚拟IP地址。为避免站点间提示IP地址冲突,因此需要配置过滤策略过滤VRRP对应的免费ARP报文。
(3)在IPA与IPB之间使用私网地址,通过EVI隧道建立OSPF邻居,发布路由,并且和RTA间也配置OSPF,使IPA-IPB-RTA的cost大于IPA-RTA的cost,从而实现备份。
1、配置EVI网络实例和扩展VLAN的注意事项
(1)同一个EVI网络实例中,所有的边缘设备必须配置相同的Netwok ID。但是,同一台边缘设备上的不同Tunnel接口必须配置不同的Netwok ID;
(2)同一个EVI网络实例中的所有边缘设备上配置的扩展VLAN必须一致,否则可能会引起扩展VLAN中的数据泄露;
(3)不同的EVI网络实例不能使用相同的扩展VLAN。
2、配置EVI边缘设备公网接口的注意事项
(1)不能使用Vlan-interface1作为EVI边缘设备的公网接口;
(2)EVI扩展VLAN的VLAN接口不支持作为公网出接口。
3、配置动态MAC地址表项老化时间的注意事项
如果在动态MAC地址表项老化时间内本地EVI边缘设备没有接收到对端数据中心的报文,那么本地EVI边缘设备上的动态MAC地址表项不会主动触发学习更新,直到该表项老化被删除。此时,发给对端数据中心的报文会因为在本地EVI边缘设备的MAC地址表中找不到对应表项而被丢弃,造成流量黑洞。只有当EVI边缘设备学习ARP表项时才能同时触发更新动态MAC地址表项。
为了避免流量黑洞的产生,需要配置MAC地址表项老化时间不小于动态ARP表项老化时间。缺省情况下,S12500的动态ARP表项老化时间为25分钟,动态MAC地址表项老化时间为5分钟。因此,建议您修改动态MAC地址表项的老化时间为30分钟。
4、配置VRRP时的注意事项
由于在双主情况下,会存在IP地址冲突的情况,因此要配置过滤策略过滤VRRP对应的免费ARP报文,需要先用display vrrp verbose命令查看VRRP备份组对应的虚拟MAC地址。
5、配置OSPF的注意事项
对于目的地址为组播地址的报文,该MAC不会作为源MAC,从而不能通过ISIS协议在边缘设备之间进行通告,只会在本地接口上进行泛洪,不会泛洪到EVI隧道接口,从而不会达到异地站点,因此对于ospf组播报文,需要在EVI隧道口上进行选择性泛洪。
使用如下的接口地址规划:
设备 | 接口 | IP地址 | 设备 | 接口 | IP地址 |
IP A | Loop0 | 1.1.1.1/32 | RTA | Loop0 | 3.3.3.3/32 |
Vlan-int100 | 100.1.1.1/24 | Vlan-int200 | 200.1.1.2/24 | ||
Vlan-int200 | 200.1.1.1/24 | Vlan-int300 | 201.1.1.2/24 | ||
Vlan-int10 | 10.1.1.1/24 | ||||
Vlan-int20 | 20.1.1.1/24 | ||||
IP B | Loop0 | 1.1.1.2/32 | |||
Vlan-int100 | 100.1.1.2/24 | ||||
Vlan-int300 | 201.1.1.1/24 | ||||
Vlan-int10 | 10.1.1.2/24 | ||||
Vlan-int20 | 20.1.1.2/24 |
1、IPA的配置
(1)配置IPA上各接口的IP地址及路由协议
# 配置IPA的公网接口(即EVI边缘设备的公网接口)。公网口需要关闭stp,否则会stp阻塞转发不通的情况。
<IPA>system-view
[IPA]vlan 100
[IPA-vlan10] quit
[IPA]interface gigabitethernet4/0/1
[IPA-GigabitEthernet4/0/1]port access vlan 100
[IPA-GigabitEthernet4/0/1]evi enable
[IPA-GigabitEthernet4/0/1] undo stp enable
[IPA-GigabitEthernet4/0/1]undo shutdown
[IPA]interfaceVlan-interface 100
[IPA-Vlan-interface100]ip address 100.1.1.1 24
[IPA-Vlan-interface100]undo shutdown
# 创建Loopback接口,作为EVI隧道的源接口。
[IPA]interface LoopBack 0
[IPA-LoopBack0]ip address 1.1.1.1 32
# 配置静态路由协议,发布公网loopback路由。
[IPA]ip route-static 1.1.1.2 32 100.1.1.2
# 配置IPA的扩展VLAN接口。
[IPA]vlan 10
[IPA-vlan10] quit
[IPA]interface gigabitethernet3/0/1
[IPA-GigabitEthernet3/0/1]port link-type trunk
[IPA-GigabitEthernet3/0/1] undo port trunk permit vlan 1
[IPA-GigabitEthernet3/0/1]port trunk permitvlan 10 20
[IPA-GigabitEthernet3/0/1]undo shutdown
(2)配置EVI隧道
# 建立EVI隧道。
[IPA]interface Tunnel 1 mode evi
[IPA-Tunnel1]source LoopBack 0
[IPA-Tunnel1]evi network-id 1
[IPA-Tunnel1]evi neighbor-discovery server enable
[IPA-Tunnel1]evi extend-vlan 10 20
# 配置ARP泛洪抑制功能,可以减少EVI隧道中ARP泛洪的次数。
[IPA]interface Tunnel 1
[IPA-Tunnel1]eviarp-suppression enable
# 配置MAC地址表项的老化时间为30分钟,避免流量黑洞的产生。
[IPA]mac-address timer aging 1800
(3)配置VRRP
# 创建VRRP备份组,配置扩展VLAN接口的IP地址,实现扩展VLAN之间的三层互通。
[IPA]interface Vlan-interface 10
[IPA-Vlan-interface10]ip address 10.1.1.1 24
[IPA-Vlan-interface10]vrrp vrid 10 virtual-ip 10.1.1.254
[IPA]interface Vlan-interface 20
[IPA-Vlan-interface20]ip address 20.1.1.1 24
[IPA-Vlan-interface20]vrrp vrid20 virtual-ip20.1.1.254
配置完后会发现会包地址冲突情况:
%Aug 11 03:20:04:855 2007 IPA ARP/6/DUPVRRPIP: -MDC=1;
IP address 10.1.1.254 conflicts with VRRP virtual IP address on interface Vlan-interface10, sourced from 0000-5e00-010a
%Aug 11 03:20:04:855 2007 IPA ARP/6/DUPVRRPIP: -MDC=1;
IP address 20.1.1.254 conflicts with VRRP virtual IP address on interface Vlan-interface20, sourced from 0000-5e00-0114
# 配置ACL匹配VRRP备份组对于的虚拟MAC地址,进行免费ARP过滤。
[IPA]display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers :2
Interface Vlan-interface10
VRID : 10 AdverTimer : 100
Admin Status : Up State : Master
ConfigPri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Auth Type : None
Virtual IP : 10.1.1.254
Virtual MAC : 0000-5e00-010a
Master IP : 10.1.1.1
Interface Vlan-interface20
VRID : 20 AdverTimer : 100
Admin Status : Up State : Master
ConfigPri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Auth Type : None
Virtual IP : 20.1.1.254
Virtual MAC : 0000-5e00-0114
Master IP : 20.1.1.1
[IPA]acl number 4010
[IPA-acl-ethernetframe-4010] rule 5 deny type 0806 ffff source-mac 0000-5e00-010a ffff-ffff-ffff
[IPA]acl number 4020
[IPA-acl-ethernetframe-4020] rule 5 deny type 0806 ffff source-mac 0000-5e00-0114 ffff-ffff-ffff
# 在扩展VLAN的出方向应用包过滤策略过滤VRRP对应的免费ARP报文。
[IPA]packet-filter 4010 vlan 10 outbound
[IPA]packet-filter 4020 vlan 20 outbound
(4)配置ospf
# 配置OSPF路由协议,使得站点间建立ospf邻居。
[IPA]ospf 1
[IPA-ospf-1]area 0
[IPA-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255
[IPA-ospf-1-area-0.0.0.0]network 200.1.1.0 0.0.0.255
# 在EVI隧道配置选择性泛洪ospf组播报文。
[IPA]interface Tunnel 1 mode evi
[IPA-Tunnel1]evi selective-flooding mac-address 0100-5e00-0005 vlan 10 20
2、IPB的配置
(1)配置IPB上各接口的IP地址及路由协议
# 配置IPB的公网接口(即EVI边缘设备的公网接口)。
<IPB>system-view
[IPB]vlan 100
[IPB-vlan10] quit
[IPB]interface gigabitethernet4/0/1
[IPB-GigabitEthernet4/0/1]port access vlan 100
[IPB-GigabitEthernet4/0/1]evi enable
[IPB-GigabitEthernet4/0/1] undo stp enable
[IPB-GigabitEthernet4/0/1]undo shutdown
[IPB]interfaceVlan-interface 100
[IPB-Vlan-interface100]ip address 100.1.1.2 24
[IPB-Vlan-interface100]undo shutdown
# 创建Loopback接口,作为EVI隧道的源接口。
[IPB]interface LoopBack 0
[IPB-LoopBack0]ip address 1.1.1.2 32
# 配置静态路由协议,发布公网loopback路由。
[IPB]ip route-static 1.1.1.1 32 100.1.1.1
# 配置IPB的扩展VLAN接口。
[IPB]vlan 10
[IPB-vlan10] quit
[IPB]vlan20
[IPB]interface gigabitethernet3/0/1
[IPB-GigabitEthernet3/0/1]port link-type trunk
[IPB-GigabitEthernet3/0/1] undo port trunk permit vlan 1
[IPB-GigabitEthernet3/0/1]port trunk permitvlan 10 20
[IPB-GigabitEthernet3/0/1]undo shutdown
(2)配置EVI隧道
# 建立EVI隧道。
[IPB]interface Tunnel 1 mode evi
[IPB-Tunnel1]source LoopBack 0
[IPB-Tunnel1]evi network-id 1
[IPB-Tunnel1]evi neighbor-discovery client enable 1.1.1.1
[IPB-Tunnel1]evi extend-vlan 10 20
# 配置ARP泛洪抑制功能,可以减少EVI隧道中ARP泛洪的次数。
[IPB]interface Tunnel 1
[IPB-Tunnel1]eviarp-suppression enable
# 配置MAC地址表项的老化时间为30分钟,避免流量黑洞的产生。
[IPB]mac-address timer aging 1800
(3)配置VRRP
# 创建VRRP备份组,配置扩展VLAN接口的IP地址,实现扩展VLAN之间的三层互通。
[IPB]interface Vlan-interface 10
[IPB-Vlan-interface10]ip address 10.1.1.2 24
[IPB-Vlan-interface10]vrrp vrid 10 virtual-ip 10.1.1.254
[IPB]interface Vlan-interface 20
[IPB-Vlan-interface20]ip address 20.1.1.2 24
[IPB -Vlan-interface20]vrrp vrid20 virtual-ip 20.1.1.254
# 配置ACL匹配VRRP备份组对于的虚拟MAC地址。
[IPB]display vrrp verbose
IPv4 Virtual Router Information:
Running Mode : Standard
Total number of virtual routers : 2
Interface Vlan-interface10
VRID : 10 AdverTimer : 100
Admin Status : Up State : Master
ConfigPri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Auth Type : None
Virtual IP : 10.1.1.254
Virtual MAC : 0000-5e00-010a
Master IP : 10.1.1.1
Interface Vlan-interface20
VRID : 20 AdverTimer : 100
Admin Status : Up State : Master
ConfigPri : 100 Running Pri : 100
Preempt Mode : Yes Delay Time : 0
Auth Type : None
Virtual IP : 20.1.1.254
Virtual MAC : 0000-5e00-0114
Master IP : 20.1.1.1
[IPB]acl number 4010
[IPB-acl-ethernetframe-4010] rule 5 deny type 0806 ffff source-mac 0000-5e00-010a ffff-ffff-ffff
[IPB]acl number 4020
[IPB -acl-ethernetframe-4020] rule 5 deny type 0806 ffff source-mac 0000-5e00-0114 ffff-ffff-ffff
# 在扩展VLAN的出方向应用包过滤策略过滤VRRP对应的免费ARP报文。
[IPB]packet-filter 4010 vlan 10 outbound
[IPB]packet-filter 4020 vlan 20 outbound
(4)配置ospf
# 配置OSPF路由协议,发布公网路由。
[IPB]ospf 1
[IPB-ospf-1]area 0
[IPB-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255
[IPB-ospf-1-area-0.0.0.0] network 201.1.1.0 0.0.0.255
# 在EVI隧道配置选择性泛洪ospf组播报文。
[IPB]interface Tunnel 1 mode evi
[IPB-Tunnel1]evi selective-flooding mac-address 0100-5e00-0005 vlan 10 20
3、RTA的配置
(1)配置RTA上各接口的IP地址及路由协议
# 配置OSPF路由协议,发布公网路由。
[RTA]ospf 1
[RTA -ospf-1]area 0
[RTA -ospf-1-area-0.0.0.0]network 201.1.1.0 0.0.0.255
[RTA -ospf-1-area-0.0.0.0]network 200.1.1.0 0.0.0.255
[RTA -ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
六、验证
#查看IPA的OSPF邻居,分别与IPB和RTA建立邻居关系。
[IPA]dis ospf peer
OSPF Process 1 with Router ID 1.1.1.1
Neighbor Brief Information
Area: 0.0.0.0
Router ID Address Pri Dead-Time State Interface
3.3.3.3 200.1.1.2 1 35 Full/BDR Vlan200
1.1.1.2 10.1.1.2 1 39 Full/DR Vlan10
#正常情况下的路由表,从IPA到达3.3.3.3网段路由的下一跳是RTA。
[IPA]dis ip routing-table
Destination/Mask Proto Pre Cost NextHop Interface
3.3.3.3/32 OSPF 10 1 200.1.1.2 Vlan200
#在IPA下接入一台PC,ip地址为10.1.1.3,在RTA上测试连通性。
[RTA]tracert -a 3.3.3.3 10.1.1.3
traceroute to 10.1.1.3(10.1.1.3) 30 hops max,40 bytes packet, press CTRL_C to break
200.1.1.1 2 ms 201.1.1.1 1 ms 200.1.1.1 1 ms
* 10.1.1.3 2 ms *
#当把IPA到RTA直接的链路中断后。
[IPA]dis ospf peer
OSPF Process 1 with Router ID 1.1.1.1
Neighbor Brief Information
Area: 0.0.0.0
Router ID Address Pri Dead-Time State Interface
1.1.1.2 10.1.1.2 1 39 Full/DR Vlan10
#路由的下一跳变为IPB。
[IPA]disip routing-table
Destination/Mask Proto Pre Cost NextHop Interface
3.3.3.3/32 OSPF 10 2 10.1.1.2 Vlan10
#当从RTA返回的报文到达IPB后,直接根据arp转发,出接口为EVI接口。
[IPB]dis arp
Type: S-Static D-Dynamic O-Openflow M-Multiport I-Invalid
IP address MAC address VLAN Interface Aging Type
10.1.1.1 3ce5-a6c1-3d00 10 ELNK0 8 D
10.1.1.3 c434-6b25-0b8d 10 ELNK0 13 D
#在RTA上测试连通性。可以看到转发路径已经切换到IPA-IPB-RTA上了。
[RTA]tracert -a 3.3.3.3 10.1.1.3
traceroute to 10.1.1.3(10.1.1.3) 30 hops max,40 bytes packet, press CTRL_C to break
1 201.1.1.12 ms 1 ms 2 ms
2 * * *
10.1.1.3 2 ms 2 ms 2 ms
如果要需要在vlan 20内的数据实现备份,只需要在两台EVI边缘设备间通过vlan 20建立OSPF邻居即可。虽然EVI并非典型的VPN,但在这里,最重要的就是通过EVI隧道建立OSPF邻居关系,实现需求。