一. Med与As-Path的概念
- As-Path (自治区域系统路径):路由在被通告给EBGP对等体时,路由器会在该路由的AS_Path中追加上本地的AS号;路由被通告给IBGP对等体时,AS_Path不会发生改变.
防环机制:BGP通过AS-Path检测环路,如果某路由的AS-Path包含本地AS号,则丢弃该路由3。
路径选择:AS-Path长度影响路由优选,通常路径越短越优先(如AS100 > AS100 200)
- Med(多出口鉴别器):可选非过度属性,代表度量值,表示外部对等体进入本地AS内的首选路径,值越小越优先
二.实验目标
- 通过IP前缀列表对相关路由条目进行匹配,并使用Route-Policy为过滤后的路由信息设置路由属性
- 使用BGP建立邻居对等体
- 通过Route-Policy对路由信息进行Med与As-Path属性进行修改
三.实验需求

- R1优先通过R2来访问R3的3.3.3.0路由,R1优先通过R3来访问R2的2.2.2.0路由,通过Med属性进行修改
- R1通过修改As-Path属性优先通过R3访问172.16.2.0网段,R1优先通过R2来访问172.16.3.0网段
四.实验配置
第一步:设置接口IP地址并配置BGP
R1:
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 172.16.10.1 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 172.16.30.1 24
[R1-GigabitEthernet0/0/1]int loopback0
[R1-LoopBack0]ip add 1.1.1.1 24
[R1-LoopBack0]bgp 100
[R1-bgp]peer 172.16.10.2 as-number 200
[R1-bgp]peer 172.16.30.2 as-number 200
[R1-bgp]network 1.1.1.0 24
与R2与R3建立EBGP关系,并在bgp内宣告1.1.1.0/24网段
R2:
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 172.16.10.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 172.16.20.1 24
[R2]int loopback0
[R2-LoopBack0]ip add 2.2.2.2 24
[R2-LoopBack0]bgp 200
[R2-bgp]peer 172.16.10.1 as-number 100
[R2-bgp]peer 172.16.20.2 as-number 200
[R2-bgp]network 2.2.2.0 24
与R1建立EBGP邻居关系,与R3建立IBGP邻居关系,并宣告2.2.2.0/24网段
R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 172.16.30.2 24
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 172.16.20.2 24
[R3-GigabitEthernet0/0/1]int loopback0
[R3-LoopBack0]ip add 3.3.3.3 24
[R3-LoopBack0]bgp 200
[R3-bgp]peer 172.16.30.1 as-number 100
[R3-bgp]peer 172.16.20.1 as-number 200
[R3-bgp]network 3.3.3.0 24
与R1建立IBGP邻居关系,与R2建立EBGP邻居关系,并宣告3.3.3.0/24网段
在R1中查看BGP邻居:
172.16.10.2 4 200 3 6 0 00:00:35 Established
1
172.16.30.2 4 200 3 6 0 00:00:09 Established
1
显示Established 代表对等体关系建立成功
此时查看R1的BGP路由表,发现到达2.2.2.0与3.3.3.0的网段都会从R2(172.16.10.2)方向走

在R1中disp bgp routing-table 2.2.2.0 这个网段
BGP选路优先级为:
优选具有最小IP地址的对等体通告的路由。
因为R2与R3的前9项均为默认没有配置,则会看第10项比较Router-ID,R2Router-id为172.16.10.2,R3为172.16.30.2,R2>R3,所以R1到3.3.3.0这个网段也会从R2进入
第二步:配置IP前缀列表修改Med值
R1配置IP前缀列表并修改Med值
[R1]ip ip-prefix 1 index 10 permit 2.2.2.0 24
[R1]ip ip-prefix 2 index 10 permit 3.3.3.0 24
//先定义两个前缀列表对网段进行匹配
[R1]route-policy med_r2 permit node 10
[R1-route-policy]if-match ip-prefix 1
[R1-route-policy]apply cost 20
[R1-route-policy]route-policy med_r2 permit node 20
[R1-route-policy]if-match ip-prefix 2
[R1-route-policy]apply cost 10
[R1-route-policy]route-policy med_r2 permit node 1000
//再通过route-policy对ip前缀列表进行匹配,设置med值,实现R1到3.3.3.0优先从R2,到2.2.2.0优先从R3通过
//Med是bgp路由优选的第6项
[R1-route-policy]route-policy med_r3 permit node 10
[R1-route-policy]if-match ip-prefix 1
[R1-route-policy]apply cost 10
[R1-route-policy]route-policy med_r3 permit node 20
[R1-route-policy]if-match ip-prefix 2
[R1-route-policy]apply cost 20
[R1-route-policy]route-policy med_r3 permit node 1000
[R1]bgp 100
[R1-bgp]peer 172.16.10.2 route-policy med_r2 import
[R1-bgp]peer 172.16.30.2 route-policy med_r3 import
//应用route-policy,接受路由时执行
在R1查看BGP路由表,发现路径成功被修改
第三步:配置IP前缀列表修改As-Path
在因为BGP在接收路由时,优先选择AS-Path途径路径少的,所以可以通过添加As-Path值将路由优先级降低
R2与R3配置:
//R2再定义一个逻辑接口,然后宣告
[R2]int loopback 1
[R2-LoopBack1]ip add 172.16.2.1 24
[R2-LoopBack1]bgp 200
[R2-bgp]network 172.16.2.0 24
//R3再定义一个逻辑接口,然后宣告
[R3]int loopback 1
[R3-LoopBack1]ip add 172.16.3.1 24
[R3]bgp 200
[R3-bgp]network 172.16.3.0 24
R1查看配置:

依旧是到达3.0与2.0网段还是走的R2,因为之前的前缀列表并未定义该两个网段,之后再配置一下前缀列表并且添加as-path
R1配置前缀列表并修改As-Path值:
[R1]ip ip-prefix 3 index 10 permit 172.16.2.0 24
[R1]ip ip-prefix 4 index 10 permit 172.16.3.0 24
//应用路由策略,添加as-path值
[R1]route-policy med_r2 permit node 30
[R1-route-policy]if-match ip-prefix 3
[R1-route-policy]apply as-path 200 200 200 add
[R1-route-policy]route-policy med_r3 permit node 30
[R1-route-policy]if-match ip-prefix 4
[R1-route-policy]apply as-path 200 200 200 add
查看BGP路由表
Total Number of Routes: 9
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.0/24 0.0.0.0 0 0 i
*> 2.2.2.0/24 172.16.30.2 10 0 200i
* 172.16.10.2 20 0 200i
*> 3.3.3.0/24 172.16.10.2 10 0 200i
* 172.16.30.2 20 0 200i
*> 172.16.2.0/24 172.16.30.2 0 200i
* 172.16.10.2 0 0 200 200 200 200i
*> 172.16.3.0/24 172.16.10.2 0 200i
* 172.16.30.2 0 0 200 200 200 200i
到达172.16.2.0网段时,在发送172.16.10.2路由信息的R2上添加了3个as-path,所以R1到达172.16.2.0这个网段会优先走as-path值少的,也就是R3
到达172.16.3.0原理也如此
结语:
BGP的路由管理十分强大,BGP在通告路由时会携带丰富的路径属性,这些属性描述了路由的特征,同时在某些场景下也会影响BGP的路由优选。
如有错误,欢迎批正
725





