实验需求

1.选路原则不能重复使用
2.每个路由器另外开一个回环100,把地址宣告进bgp,以回环100的地址判断选路
3.EBGP使用直连建立邻居,IBGP使用回环0,选路的时候最好精确匹配然后做策略。

根据实际情况将上图的第一条改成3路由器、第5,6条改成6、5路由器

Hub ce与Hub pe 使用ospf bgp ospf选择_ensp

 

实验拓扑为:

Hub ce与Hub pe 使用ospf bgp ospf选择_ensp_02

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邻居要更改下一跳属性

Hub ce与Hub pe 使用ospf bgp ospf选择_路由器_03

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_04

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_05

Hub ce与Hub pe 使用ospf bgp ospf选择_实验_06

Hub ce与Hub pe 使用ospf bgp ospf选择_路由表_07

Hub ce与Hub pe 使用ospf bgp ospf选择_ensp_08

 

接下来在每个路由器的BGP协议内宣告用于测试的环回1

 

 以上就是BGP的部署,接下来完成实验的需求

需求:

AS1到AS2选择2路由器出去

查看R3 R4此时的路由表,可见R3此时学习AS1的路由走的是R1,与预期不符

Hub ce与Hub pe 使用ospf bgp ospf选择_路由器_09

Hub ce与Hub pe 使用ospf bgp ospf选择_路由器_10

解决:   

在R3上,把从R4传递来的AS1的路由的Preference_Value增大,这样,R3就会从R4学习AS1的路由

注意:  因为该属性为私有不传递属性,故调用时,只能在入向调用,来影响本地的BGP生成

 

 

配置:

抓取AS1的流量(用于测试的环回1)

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_11

制作策略

Hub ce与Hub pe 使用ospf bgp ospf选择_实验_12

调用(对IBGP邻居R4的入向调用)

Hub ce与Hub pe 使用ospf bgp ospf选择_路由器_13

 

查看R3的路由表,可见与预期相符

Hub ce与Hub pe 使用ospf bgp ospf选择_路由器_14

因为其他属性的存在,导致R4学到的AS1路由就是从R2传递来的

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_15

AS2到AS1选择3路由器出去

查看R1 R2此时的路由表,可见R2此时学习AS2的路由走的是R4,与预期不符

Hub ce与Hub pe 使用ospf bgp ospf选择_ensp_16

Hub ce与Hub pe 使用ospf bgp ospf选择_路由表_17

解决:   

优选本地优先级(Local_Preference)最高的路由。最常干涉IBGP关系的选路

注意:  因为该属性为私有不传递属性,故调用时,只能在入向调用,来影响本地的BGP生成

部署位置:

改大:

R1EBGP接口入方向将AS2的流量LP增大

R1IBGP接口出方向将AS2的流量LP增大

R2IBGP接口入方向将AS2的流量LP增大

 

改小:

R2EBGP接口入方向将AS2的流量LP减小

 

下面将分别对以上四种方法进行实验测试:

a.R1的EBGP接口入方向将AS2的流量LP增大

抓取:

Hub ce与Hub pe 使用ospf bgp ospf选择_实验_18

制作策略:

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_19

对EBGP邻居入方向调用策略:

Hub ce与Hub pe 使用ospf bgp ospf选择_实验_20

R2上查看路由表,可见与预期相符

Hub ce与Hub pe 使用ospf bgp ospf选择_实验_21

 

b. R1的IBGP接口出方向将AS2的流量LP增大

对IBGP邻居出方向调用策略:

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_22

R2上查看路由表,可见与预期相符

Hub ce与Hub pe 使用ospf bgp ospf选择_ensp_23

 

c. R2的IBGP接口入方向将AS2的流量LP增大

抓取流量(AS2的):

Hub ce与Hub pe 使用ospf bgp ospf选择_实验_24

制作策略:

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_25

对IBGP邻居入方向调用策略:

Hub ce与Hub pe 使用ospf bgp ospf选择_路由器_26

R2上查看路由表,可见与预期相符

Hub ce与Hub pe 使用ospf bgp ospf选择_实验_27

d.R2的EBGP接口入方向将AS2的流量LP减小

制作策略:(将EBGP传递进来的AS2的路由的LP减小)

Hub ce与Hub pe 使用ospf bgp ospf选择_路由表_28

对EBGP邻居入方向调用策略:

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_29

查看R2的路由表,可见R2优选的是从R1传递来的LP大的(100),还可以看到对R4传递来的LP为更改后的70

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_30

 

 

AS1到AS3选择5路由器进入

R5的BGP路由表

Hub ce与Hub pe 使用ospf bgp ospf选择_路由器_31

 

R6的BGP路由表

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_32

 

R7的BGP路由表

Hub ce与Hub pe 使用ospf bgp ospf选择_路由表_33

 

问题:

可见,R6路由器出现问题,并且R6没有通过R7学习到R5传递的路由,这是因为IBGP水平分割的原因,R7通过IBGP邻居R5学习到的路由时不会传递给R6这个IBGP邻居的

解决:

1.路由反射器  

2.EBGP联邦

这里我采用路由反射器,即将R7作为反射器,R5 R6作为R7客户端

Hub ce与Hub pe 使用ospf bgp ospf选择_路由表_34

此时R6就可以通过R5来学习到AS1的路由

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_35

 

解决:

优选AS_Path短的路由。

注意:EBGP/IBGP关系均可被干涉,但只能在EBGP邻居间修改

 

思路:

在R6来连接R2的EBGP邻居的接口上将AS1的流量AS-Path加长

 

配置:

抓取流量:

Hub ce与Hub pe 使用ospf bgp ospf选择_路由器_36

制作策略(将AS1的流量从EBGP邻居过来时把AS-Path加大)

Hub ce与Hub pe 使用ospf bgp ospf选择_实验_37

 

在R6上对EBGP邻居的入方向调用策略

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_38

 

查看R6的BGP路由表,可见与预期相符

Hub ce与Hub pe 使用ospf bgp ospf选择_ensp_39

 

AS2到AS3选择6路由器进入

R5的BGP路由表:

Hub ce与Hub pe 使用ospf bgp ospf选择_实验_40

R6的BGP路由表:

Hub ce与Hub pe 使用ospf bgp ospf选择_路由表_41

R7的BGP路由表:

Hub ce与Hub pe 使用ospf bgp ospf选择_路由表_42

 

可见,R5、R7的路由表存在问题

解决:

MED多出口的鉴别属性

对于来自同一AS的路由,优选MED值小的

注意:最常用于干涉EBGP选路的属性

常常用于ASx干涉ASyASx的选路,即我去影响别人对我自己的选路

 

部署思路:

在R4上对EBGP邻居R5的MED值改大(大于默认的0),这样R5 R7就不会通过R4—R5学习AS2的路由了,只会通过R6来学习。

配置步骤:

抓取流量:

Hub ce与Hub pe 使用ospf bgp ospf选择_路由器_43

配置策略(加大MED,即cost)

Hub ce与Hub pe 使用ospf bgp ospf选择_路由表_44

在与EBGP邻居R5的出接口调用

Hub ce与Hub pe 使用ospf bgp ospf选择_实验_45

查看R5 R7的路由表,可见与预期相符

Hub ce与Hub pe 使用ospf bgp ospf选择_路由器_46

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_47

 

 

AS3到AS1选择6路由器出去

查看R1 R2的BGP路由表,可见R2路由表有问题

Hub ce与Hub pe 使用ospf bgp ospf选择_ensp_48

Hub ce与Hub pe 使用ospf bgp ospf选择_ensp_49

 

解决:

在R5传递给R2这个EBGP邻居时,将起源码修改为

? - incomplete

部署步骤:

抓取路由(AS3的路由)

Hub ce与Hub pe 使用ospf bgp ospf选择_路由器_50

制作策略(将匹配到的路由修改起源码为?)

Hub ce与Hub pe 使用ospf bgp ospf选择_路由器_51

在R5的连接EBGP邻居的出向上调用策略:

 

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_52

 

查看R2的路由表,可见优选了来自R6的起源码为i的路由

Hub ce与Hub pe 使用ospf bgp ospf选择_ensp_53

 

AS3到AS2选择6路由器出去

查看R3 R4

Hub ce与Hub pe 使用ospf bgp ospf选择_路由器_54

 

解决:

在R4上增加从R5学习AS3路由的AS-Path

抓取路由

Hub ce与Hub pe 使用ospf bgp ospf选择_ensp_55

制作策略(增加AS-Path)

Hub ce与Hub pe 使用ospf bgp ospf选择_ensp_56

R4对于R5这个EBGP的入接口调用

Hub ce与Hub pe 使用ospf bgp ospf选择_bgp_57

 

查看R4的路由表,可见与预期相符

Hub ce与Hub pe 使用ospf bgp ospf选择_实验_58