实验目的:实现A区域站点访问A区域站点走A平面,B区域站点访问B区域站点走B平面。当线路发生故障时(以A平面故障为例),做相应的备份。
一、ip地址分配
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R12
二、路由协议
1.ospf--使ibgp邻居可达,以建立tcp连接,为ibgp建邻奠定基础
宣告环回和直连(以AS3为例)
R9
R10
其他as的路由器与这两个类似,在这里不再赘述。
2.bgp
(1)建邻(ibgp用环回建邻,ebgp用直连线建邻)
R1
ibgp邻居
group IBGP internal//建立一个包含所有ibgp邻居的组
建邻并将ibgp邻居放入建好的ibgp邻居组中
peer IBGP connect-interface LoopBack0//与ibgp邻居建邻时使用环回
peer IBGP next-hop-local//由于bgp不会自动修改下一跳,因此收到来自ebgp邻居的路由时会让ibgp邻居觉得下一跳不可达,为了让自己的ibgp邻居接受这类路由,需要将路由的下一跳修改为本地的更新源地址
peer IBGP advertise-community//对外传递路由的团体属性
ebgp邻居
peer 10.0.12.2 advertise-community
peer 10.3.19.2 advertise-community
R2-R8建邻方式类似在这里就不再介绍。
R9
ibgp邻居
peer 10.10.10.10 next-hop-local
peer 10.10.10.10 advertise-community
ebgp邻居
peer 10.3.19.1 as-number 1
peer 10.3.19.1 advertise-community
R12
ebgp邻居
peer 10.4.125.1 advertise-community
peer 10.4.128.1 advertise-community
(2)路由宣告
R9
R10
R12
(3)添加团体属性
R9
peer 10.3.19.1 route-policy com1 export
R10
peer 10.3.104.1 route-policy com1 export
R12
peer 10.4.125.1 route-policy com1 export
peer 10.4.128.1 route-policy com1 export
三、路由策略
1.正常情况(A-A走A面,B-B走B面)
R9
ip community-filter advanced a permit 100:.*//抓A面的流量
peer 10.3.19.1 route-policy a import
R9出口有两个选择,R1和R10,此策略目的是让R9走R1去A面
R10
ip community-filter advanced b permit 200:.*//抓B面的流量
peer 10.3.104.1 route-policy b import
R10出口有两个选择,R9和R4,此策略目的是让R10走R9去A面
R12
ip community-filter advanced a permit 100:.*
ip community-filter advanced b permit 200:.*
peer 10.4.125.1 route-policy valuea import
peer 10.4.128.1 route-policy valueb import
2.R9-R1之间线路故障
(1)去A面的流量需要从R4上到A面(改value值)
ip community-filter advanced a permit 100:.*
peer 10.0.34.1 route-policy a import
在R2,R6,R8也做同样的操作(扩展性)
(2)回程路由到R3再返回B面(as-path)
R4
peer IBGP route-policy aspath export
在R2,R6和R8上也做同样的操作(扩展性)
四、测试
1.正常情况
PC1-PC5
PC2-PC6
PC5-PC1
PC6-PC2
2.R9-R1之间线路故障
PC1-PC5
PC5-PC1
3.整个A面故障(只能走B面,其备份功能得以体现)
PC1-PC5
PC5-PC1
备注:1.场景比较复杂时,利用团体值做策略比网段更方便;
2.如果B平面发生类似故障,可参考A平面的做法对B平面的路由做相应策略;
3.该方案具有很好的扩展性,如果有更多的站点接入,只需设好团体值即可。