BGP的路径选择

BGP选路调整的配置与思路

参考阅读

深入浅出BGP

BGP 路由聚合(Huawei设备)

BGP选路实验(华为设备)

BGP聚合路由小实验

一、实验搭建

实验拓扑如下:

在这里插入图片描述
说明:R3的L1、2;R5的L1、2、3在配置完BGP后宣告到BGP中,进行选路和路由汇总的调整优化

1.1 BGP建邻配置

所有AS之间均采用直连链路建立邻居,配置较为简单,不做过多赘述,配置完成后查看邻居的建立情况

[R1]router id 10.0.1.1
[R1]bgp 64513
[R1-bgp]peer 10.0.12.2 as-number 64513
[R1-bgp]peer 10.0.14.4 as-number 64512 [R1-bgp]quit

[R2]router id 10.0.2.2
[R2]bgp 64513
[R2-bgp]peer 10.0.12.1 as-number 64513
[R2-bgp]peer 10.0.23.3 as-number 64514
[R2-bgp]peer 10.0.25.5 as-number 64515 [R2-bgp]quit

[R3]router id 10.0.3.3
[R3]bgp 64514
[R3-bgp]peer 10.0.23.2 as-number 64513 [R3-bgp]quit

[R4]router id 10.0.4.4
[R4]bgp 64512
[R4-bgp]peer 10.0.14.1 as-number 64513

[R5]router id 10.0.5.5
[R5]bgp 64515
[R5-bgp]peer 10.0.25.2 as-number 64513 [R5-bgp]quit

在这里插入图片描述

在这里插入图片描述
注意:R2上对R1将下一跳属性改为自己,防止吓一跳不优,导致路由不优的问题

扫描二维码关注公众号,回复: 13122097 查看本文章
[R2]bgp 64513
[R2-bgp]peer 10.0.12.1 next-hop-local

1.2 配置团体属性

团体属性有普通、特殊两种团体属性

在R5上宣告L1、2、3,并宣告进BGP中,为10.1.5.5/24这个网段的路由携带团体值为100的属性值

1、宣告路由

[R5]bgp 64515
[R5-bgp]network 10.1.5.5 255.255.255.0
[R5-bgp]network 10.2.5.5 255.255.255.0
[R5-bgp]network 10.3.5.5 255.255.255.0

2、每台路由器上对邻居都使能传递团体属性

[R1]bgp 64513
[R1-bgp]peer 10.0.14.4 advertise-community
[R1-bgp]peer 10.0.12.2 advertise-community 

[R2]bgp 64513
[R2-bgp]peer 10.0.12.1 advertise-community
[R2-bgp]peer 10.0.23.3 advertise-community
[R2-bgp]peer 10.0.25.5 advertise-community 

[R3]bgp 64514
[R3-bgp]peer 10.0.23.2 advertise-community 

[R4]bgp 64512
[R4-bgp]peer 10.0.14.1 advertise-community 

[R5]bgp 64515
[R5-bgp]peer 10.0.25.2 advertise-community 

3、R5上制作策略,使10.1.5.0/24网段带上100的策略

1、抓路由
[R5]acl number 2000
[R5-acl-basic-2000]rule 0 permit source 10.1.5.0 0.0.0.255 

2、制作策略
[R5]route-policy com permit node 10 
[R5-route-policy]if-match acl 2000
[R5-route-policy]apply community 100 
 
3、对邻居调用
[R5]bgp 64515
[R5-bgp]peer 10.0.25.2 route-policy com export 

在R2、R1上查看效果

在这里插入图片描述
在这里插入图片描述
这条带100属性值的路由R4也学习到了

在这里插入图片描述

注意:要明白为什么R5上宣告了3条自己的回环,这里为什么只有一条?

以上就是普通的团体属性的配置,下面配置一下特殊的团体属性;

需求:

  • 在R5上使用路由策略为路由10.2.5.0/24添加特殊的团体属性no-export
  • 为10.3.5.0/24添加特殊的团体属性no-advertise

1、抓路由

[R5]dis ip ip-prefix noex
Prefix-list noex
Permitted 24
Denied 25
        index: 10               permit  10.2.5.0/24             
[R5]dis ip ip-prefix noad
Prefix-list noad
Permitted 15
Denied 3
        index: 10               permit  10.3.5.0/24             

2、制作策略

[R5-route-policy]di th
[V200R003C00]
#
route-policy com permit node 10 
 if-match acl 2000 
 apply community 100 
#
route-policy com permit node 20 
 if-match ip-prefix noex 
 apply community no-export 
#
route-policy com permit node 30 
 if-match ip-prefix noad 
 apply community no-advertise 
#
route-policy com permit node 40 
#
return

3、在普通的属性值配置中已经调用过,这里不在调用了

验证查看

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
总结:

  • 对于使用了特殊团体属性no-export后的BGP路由10.2.5.0/24,R2不向其AS外发送,但会发布给其AS内的R1
  • 而对于使用no-advertise属性的BGP路由10.3.5.0/24,R2则不向任何对等体发送

在路由器上查看其解释

[Router-route-policy]apply  community ?
  INTEGER<0-4294967295>  Specify community number
  STRING<3-11>           Specify aa<0-65535>:nn<0-65535>
  internet               Internet(well-known community attributes)
  no-advertise           Do not advertise to any peer (well-known community attributes)
  no-export              Do not export to external peers(well-known community attributes)
  no-export-subconfed    Do not send outside a sub-confederation(well-known community attributes)
  none                   No community attribute

1.3 路由汇总时利用团体属性

首先将R3上的L1、2宣告进BGP中

[R3]bgp 64514
[R3-bgp]network 10.1.3.3 255.255.255.0
[R3-bgp]network 10.2.3.3 255.255.255.0

需求:
R5发布的10.1.5.0/24和R3发布的10.2.3.0/24汇总成一个A类网10.0.0.0/8。通告时抑制明细路由,并且该汇总路由最后通告给R4时携带的团体属性为200。对路由10.1.3.0/24保留明细通告给R4。

配置思路:

1、对需要进行操作的路由带上标准的团体属性值 相当于确立目标对象

2、使用团体属性过滤列表,过滤出指定的团体值的路由 相当于抓路由,但是抓的是标有团体值的路由

3、做路由策略,匹配第二步的过滤列表

4、aggre的抑制明细时调用


具体配置:

1、首先,在R上对10.2.3.0/24路由添加100的团体属性,三步走;即抓路由、做策略、对邻居调用

1、抓路由
[R3]acl number 2000
[R3-acl-basic-2001]rule 0 permit source 10.2.3.0 0.0.0.255 

2、做策略
[R3-route-policy]di th
[V200R003C00]
#
route-policy comm permit node 10 
 if-match acl 2000 
 apply community 100 
#
route-policy comm permit node 20 
#
return

3、对邻居调用
[R3-bgp]peer 10.0.23.2 route-policy comm_r3 export 

在邻居R2上查看配置情况,可见,收到了这条带着100属性值的路由

在这里插入图片描述

在这里插入图片描述

至此,10.2.3.0/24 10.1.5.0/24这两条路由都携带了100的属性值;

2、使用团体过滤列表,过滤出100属性值的路由

[R1]ip community-filter 1 permit 100

3、制作一个策略,匹配这个团体过滤列表,用于在路由汇总时过滤这个列表中的明细路由

[R1]route-policy macomm permit node 10 
[R1-route-policy]if-match community-filter 1 

需求中说:
并且该汇总路由最后通告给R4时携带的团体属性为200;那么在即抑制明细有要重新给属性值的情况下就要使用attribute-policy,所以再制作一个策略,用于给汇总后的路由携带200属性值

[R1]route-policy adcomm permit node 10
[R1-route-policy]apply community 200:1 additive 

4、最后,就是再R1上做出汇总了

[R1-bgp]aggregate 10.0.0.0 255.0.0.0 detail-suppressed origin-policy macom attribute-policy adcom 

R4上验证查看,可见与预期相符

在这里插入图片描述

二、分析

  • 如果将10.2.5.0/24这条路由的属性也改成no advertise,思考此时在R2、R1、R4上再分别查看BGP路由表,这几条路由的传递情况
    no advertise就是不传递给其他的所有邻居(IBGP、EBGP);所以只有R2能看到这条路由,其他设备都看不到

  • 思考如何在R4上实现同时保留10.1.3.0/24和10.2.3.0/24这两条路由的明细, 仅抑制路由10.1.5.0/24的明细。

思路:
仅抑制10.1.5.0/24的话,就要再抑制明细后使用origin-policy对这条路由的明细进行抑制,使用团体过滤列表,

详细步骤如下:

1、首先再R5上将10.1.5.0/24网段的路由携带成99的团体属性

在这里插入图片描述

2、使用团体过滤列表,过滤出99属性值的路由

[R1]ip community-filter 2 permit 99

3、制作一个策略,匹配这个团体过滤列表,用于在路由汇总时过滤这个列表中的明细路由

[R1]route-policy necomm permit node 10 
[R1-route-policy]if-match community-filter 2 

4、注意aggregate的写法

[R1-bgp]aggregate 10.0.0.0 255.0.0.0 detail-suppressed origin-policy necom

R4上验证查看,可见与预期相符

在这里插入图片描述
至此,实验完成,你学废了吗?


猜你喜欢

转载自blog.csdn.net/qq_41959899/article/details/109905963
BGP