主要还是一种分流互备。
两个平面可以为两个运营商,且为多城市接入,本实验将1/3/5/7看做一个平面,做AS1,2/4/6/8看做另一个平面,做AS2;
两个平面一个可作为生产使用,另一个作为办公使用,无故障时互不干扰;
当出现某条线路断开时,可以进行自动切换,并尽量不干扰另一面,尽快回到自己的工作网络;
不同城市之间距离较远可以使用专线网络,同一城市之间距离较近可以使用以太网
可以看到表中有3/5/7的路由,表明底层配置没有问题(所有的都需要检查)
(以下均只给出其中一台的配置,其余与其大致相同)
去往对方,均有两条线路;此时可以看到线路的选择和预期是符合的,但是显然此次选路具有偶然性,因此仍需要进行通过团体属性干涉选路
举例:
XA(config)#ip prefix-list COMM-A permit 10.100.1.1/32
XA(config)#ip prefix-list COMM-B permit 10.100.2.2/32
XA(config)#route-map COMM permit 10
XA(config-route-map)#match ip address prefix-list COMM-A
XA(config-route-map)#set community 100:1
XA(config)#route-map COMM permit 20
XA(config-route-map)#match ip address prefix-list COMM-B
XA(config-route-map)#set community 100:2
使用ip bgp-community new-format 方便查看设置的团体属性(最好所有设备都写):
route-map写完后要进行调用
XA(config)#router bgp 100
XA(config-router)#neighbor 10.99.1.1 route-map COMM out
XA(config-router)#neighbor 10.99.2.1 route-map COMM out
查看刚才打标记路由:
可以看到刚才设置的团体属性
XA(config)#ip community-list expanded A permit .* :1$ 使用正则表达式匹配两种流量
XA(config)#ip community-list expanded B permit .*:2$
XA(config)#route-map SC permit 10
XA(config-route-map)#match community A
XA(config-route-map)#set local-preference 200
XA(config-route-map)#exit
XA(config)#
XA(config)#route-map SC permit 20
XA(config-route-map)#exit
XA(config)#
XA(config)#route-map BG permit 10
XA(config-route-map)#match community B
XA(config-route-map)#set local-preference 200
XA(config-route-map)#exit
XA(config)#route-map BG permit 20
XA(config-route-map)#exit
XA(config)#router bgp 100
XA(config-router)#neighbor 10.99.2.1 route-map BG in 调用在in方向
查看更改后的LP值:
生产1去往生产2:
生产2去往生产1:
办公1去往办公2:
办公2去往办公1:
可以看到办公流量只在平面1传递;办公流量只在平面2传递
XA去往生产2的流量切换到另一个接口s1/3,为满足实验要求,去往生产2的流量应该在8上往上走,重新回到生产的工作网络
此时根据社团属性进行比较测试
CD-B(config)#route-map SC permit 10
CD-B(config-route-map)#set local-preference 200
CD-B(config-route-map)#ex
CD-B(config)#router bgp 2
CD-B(config-router)#neighbor 10.1.78.7 route-map SC in
再次查看生产流向:(流量仍旧正常)
生产1去往生产2:
生产2去往生产1:
可以看到1去往2,流量方向正常;2去往1,流量传递过程中,从平面1跳至平面2进行传递,不符合实验需求。
此时通过修改WEIGHT值,来干涉选路:
SH-A#show run | s route-map
neighbor IBGP route-map SC in 在出方向调用(通平面IBGP邻居都要写入)
route-map SC permit 10
match community SC
set weight 100
route-map SC permit 20
可以看到2去往1的流量没有跳至平面2,正常的从自己的工作网络传播
生产1去往生产2:
生产2去往生产1:
可以看到流量恢复正常,满足要求
平面2关于办公的配置和平面1关于生产的配置大致相同