实验需求
1.选路原则不能重复使用
2.每个路由器另外开一个回环100,把地址宣告进bgp,以回环100的地址判断选路
3.EBGP使用直连建立邻居,IBGP使用回环0,选路的时候最好精确匹配然后做策略。
根据实际情况将上图的第一条改成3路由器、第5,6条改成6、5路由器
实验拓扑为:
AS1与其他EBGP邻居间的地址用的是10.1.X.Y/24
AS2与其他EBGP邻居间的地址用的是10.2.X.Y/24
配置完OSPF于BGP后,解决下一跳属性导致路由不优的问题
更改下一跳属性,即通过EBGP邻居学习到的路由传递给IBGP邻居时下一跳属性不发生改变,导致路由不优,不会加表,则在R1 R2 R3 R4 R5 R6对自己的的IBGP邻居要更改下一跳属性
接下来在每个路由器的BGP协议内宣告用于测试的环回1
以上就是BGP的部署,接下来完成实验的需求
需求:
AS1到AS2选择2路由器出去
查看R3 R4此时的路由表,可见R3此时学习AS1的路由走的是R1,与预期不符
解决:
在R3上,把从R4传递来的AS1的路由的Preference_Value增大,这样,R3就会从R4学习AS1的路由
注意: 因为该属性为私有不传递属性,故调用时,只能在入向调用,来影响本地的BGP生成
配置:
抓取AS1的流量(用于测试的环回1)
制作策略
调用(对IBGP邻居R4的入向调用)
查看R3的路由表,可见与预期相符
因为其他属性的存在,导致R4学到的AS1路由就是从R2传递来的
AS2到AS1选择3路由器出去
查看R1 R2此时的路由表,可见R2此时学习AS2的路由走的是R4,与预期不符
解决:
优选本地优先级(Local_Preference)最高的路由。最常干涉IBGP关系的选路
注意: 因为该属性为私有不传递属性,故调用时,只能在入向调用,来影响本地的BGP生成
部署位置:
改大:
R1的EBGP接口入方向将AS2的流量LP增大
R1的IBGP接口出方向将AS2的流量LP增大
R2的IBGP接口入方向将AS2的流量LP增大
改小:
R2的EBGP接口入方向将AS2的流量LP减小
下面将分别对以上四种方法进行实验测试:
a.R1的EBGP接口入方向将AS2的流量LP增大
抓取:
制作策略:
对EBGP邻居入方向调用策略:
R2上查看路由表,可见与预期相符
b. R1的IBGP接口出方向将AS2的流量LP增大
对IBGP邻居出方向调用策略:
R2上查看路由表,可见与预期相符
c. R2的IBGP接口入方向将AS2的流量LP增大
抓取流量(AS2的):
制作策略:
对IBGP邻居入方向调用策略:
R2上查看路由表,可见与预期相符
d.R2的EBGP接口入方向将AS2的流量LP减小
制作策略:(将EBGP传递进来的AS2的路由的LP减小)
对EBGP邻居入方向调用策略:
查看R2的路由表,可见R2优选的是从R1传递来的LP大的(100),还可以看到对R4传递来的LP为更改后的70
AS1到AS3选择5路由器进入
R5的BGP路由表
R6的BGP路由表
R7的BGP路由表
问题:
可见,R6路由器出现问题,并且R6没有通过R7学习到R5传递的路由,这是因为IBGP水平分割的原因,R7通过IBGP邻居R5学习到的路由时不会传递给R6这个IBGP邻居的
解决:
1.路由反射器
2.EBGP联邦
这里我采用路由反射器,即将R7作为反射器,R5 R6作为R7客户端
此时R6就可以通过R5来学习到AS1的路由
解决:
优选AS_Path短的路由。
注意:EBGP/IBGP关系均可被干涉,但只能在EBGP邻居间修改
思路:
在R6来连接R2的EBGP邻居的接口上将AS1的流量AS-Path加长
配置:
抓取流量:
制作策略(将AS1的流量从EBGP邻居过来时把AS-Path加大)
在R6上对EBGP邻居的入方向调用策略
查看R6的BGP路由表,可见与预期相符
AS2到AS3选择6路由器进入
R5的BGP路由表:
R6的BGP路由表:
R7的BGP路由表:
可见,R5、R7的路由表存在问题
解决:
MED多出口的鉴别属性
对于来自同一AS的路由,优选MED值小的
注意:最常用于干涉EBGP选路的属性
常常用于ASx干涉ASy对ASx的选路,即我去影响别人对我自己的选路
部署思路:
在R4上对EBGP邻居R5的MED值改大(大于默认的0),这样R5 R7就不会通过R4—R5学习AS2的路由了,只会通过R6来学习。
配置步骤:
抓取流量:
配置策略(加大MED,即cost)
在与EBGP邻居R5的出接口调用
查看R5 R7的路由表,可见与预期相符
AS3到AS1选择6路由器出去
查看R1 R2的BGP路由表,可见R2路由表有问题
解决:
在R5传递给R2这个EBGP邻居时,将起源码修改为
? - incomplete
部署步骤:
抓取路由(AS3的路由)
制作策略(将匹配到的路由修改起源码为?)
在R5的连接EBGP邻居的出向上调用策略:
查看R2的路由表,可见优选了来自R6的起源码为i的路由
AS3到AS2选择6路由器出去
查看R3 R4
解决:
在R4上增加从R5学习AS3路由的AS-Path
抓取路由
制作策略(增加AS-Path)
R4对于R5这个EBGP的入接口调用
查看R4的路由表,可见与预期相符