拓扑

配置
#R4
router bgp 65400
bgp log-neighbor-changes
neighbor 10.24.1.1 remote-as 65200
neighbor 10.24.1.1 route-map RM_AS65100 in
neighbor 192.168.5.5 remote-as 65400
neighbor 192.168.5.5 update-source Loopback0
neighbor 192.168.5.5 next-hop-self
neighbor 192.168.5.5 route-map RM_AS65100_172_20 out
neighbor 192.168.6.6 remote-as 65400
neighbor 192.168.6.6 update-source Loopback0
neighbor 192.168.6.6 next-hop-self
ip prefix-list PRE_AS65100_172_20 seq 5 permit 172.20.0.0/24
!
route-map RM_AS65100_172_20 permit 10
match ip address prefix-list PRE_AS65100_172_20
set local-preference 555
!
route-map RM_AS65100_172_20 permit 20
!
ip prefix-list PRE_AS65100 seq 5 permit 172.16.0.0/24
!
route-map RM_AS65100 permit 10
match ip address prefix-list PRE_AS65100
set local-preference 444
!
route-map RM_AS65100 permit 20
校验
- R4上可以看到去往3个172网络的路由条目3*2,然后最优路径是走 eBGP 的 R2,而不是走 iBGP的R6,因为eBGP 的优先级要更高。 因为内部路由也是从其他外部学习到的,自己知道的外部,和其他外部之间,更相信自己知道的
- R6 结构对称,可以观察到同样的效果

- R5 去到3个172网络的最佳路由,都是走R4,为什么

调整
- 在R4 上设置Local Preference
- 在R6 上设置Local Preference
- 配置方法和 配置Weight 类似
- 先 ip prefix-list
- 再 route-map
- 再 bgp
- 在 R4 和 R6上可以看到
- R4 上少了1条走192.168.6.6 去到172.16.0.0 的路由,是因为R6 向R5、R4 撤回了去到172.16.0.0 的路由,因为R6 学习到了更优的local reference 444 (在iBGP 内部传播)
- R6 上少了1条走192.168.4.4 去到172.24.0.0 的路由,是因为R4 向R5、R6 撤回了去到172.24.0.0 的路由,因为R4 学习到了更优的local reference 666 (在iBGP 内部传播)


- 在R5 上可以进一步确认,去到172.16 和 172.24 网络的路由都各自只剩了1条

方向调整
- 加载到 in 方向的 route-map,会影响整个 iBGP内的邻居. 如果1个需求说,只能影响1个邻居,那就需要调整方向为 out,R4 只针对R5 来做
- 在R4上新建 prefix-list,route-map,在BGP中加载到邻居192.168.5.5 的出站方向
- R4 的路由不会发生变化

- R5 的路由收到了 555 的local reference


Advanced Configuration
#创建peer-group,针对group进行配置
neighbor R4R5 peer-group
neighbor 192.168.4.4 peer-group R4R5
neighbor 192.168.5.5 peer-group R4R5
neighbor R4R5 remote-as 65400
neighbor R4R5 update-source loopback 0
#关闭默认全局ipv4
no bgp default ipv4-unicast
#针对性开启
address-family ipv4
neighbor 192.168.4.4 activate
neighbor R4R5 activate