BGP路由策略配置实验

162 阅读4分钟

网络拓扑

图片.png

网络需求

  • 1️⃣ 在R4上配置PreVal策略,确保R4通过R3到达5.5.5.5
  • 2️⃣ 在R4上配置AS_path策略,确保R4通过R3到达9.9.9.9
  • 3️⃣ 在R2和R3上配置MED策略,确保R4通过R3到达6.6.6.6
  • 4️⃣ 在R2上配置Local Preference策略,确保R1通过R3到达4.4.4.4
  • 5️⃣ 在R1上配置Local Preference策略,确保R1通过R3到达8.8.8.8
  • 6️⃣ 在R5上配置AS策略,不接收任何始发AS123的路由
  • 7️⃣ 在R4上配置Community策略,确保7.7.7.7的路由不会宣告到AS5

策略一 PreVal

修改引入路由的本地优先级 手动认定合适的下一跳地址

# R4修改引入的路由条目

# 匹配数据流
ip prefix-list 5555 permit 5.5.5.5 32
# 创建路由策略
route-policy pv permit node 10
 if-match ip address prefix-list 5555
 apply preferred-value 100   // 应用优先级为100
 
 # 进入BGP视图应用路由策略
 bgp 4
 address-family ipv4
  peer 34.0.0.3 route-policy pv import

存在问题

图片.png

  • 只引入了5.5.5.5路由 6.6.6.6与9.9.9.9因为没有匹配被过滤 所以需要创建一个空允许策略
# 解决办法
route-policy pv permit node 20 // 创建空的路由策略

最终效果

图片.png

策略二 AS_path

根据as_path越少越优先的规则 修改引入路由条目的as_path数量 将次优路径下一跳as_path增多

相关命令

  • apply as-path { as-number&<1-32> [ delete | replace ] | clear }
参数备注
delete在原有的AS_Path属性中删除指定的AS号
replace替换原有AS号。如果未指定本参数,则在原AS路径前加入AS号
clear清空原有的AS_Path属性

设备配置

# R4修改引入的路由条目

# 匹配数据流
ip prefix-list 9999 permit 9.9.9.9 32
route-policy as permit node 10
 if-match ip address prefix-list 9999
 apply as_path 123 123 123 123

route-policy as permit node 20
bgp 4
 address-family ipv4
  peer 24.0.0.2 route-policy as import

最终效果

图片.png

策略三 MED

影响邻居的路由表选择 MED开销越小越优先

# R2配置
ip prefix-list 6666 permit 6.6.6.6 32
route-policy med permit node 10
 if-match ip address prefix-list 6666
 apply cost 100
 
route-policy med permit node 20

bgp 123
 address-family ipv4
  peer 24.0.0.4 route-policy med export
  
# R3配置
ip prefix-list 6666 permit 6.6.6.6 32
route-policy med permit node 10
 if-match ip address prefix-list 6666
 apply cost 50
 
route-policy med permit node 20

bgp 123
 address-family ipv4
  peer 34.0.0.4 route-policy med export

最终效果

图片.png

策略四 Local Preference出方向

该策略出方向入方向都可应用 出方向影响邻居 入方向影响自己 默认100 越大越优先

# R2出方向
ip prefix-list 4444 permit 4.4.4.4 32
route-policy lp permit node 10
 if-match ip address prefix-list 4444
 apply local-preference 50
 
route-policy lp permit node 20

bgp 123
 address-family ipv4
  peer 1.1.1.1 route-policy lp export

最终效果

图片.png

策略五 Local Preference入方向

# R1入方向
ip prefix-list 8888 permit 8.8.8.8 32
route-policy lp permit node 10
 if-match ip address prefix-list 8888
 apply local-preference 50
 
route-policy lp permit node 20

bgp 123
 address-family ipv4
  peer 2.2.2.2 route-policy lp import

最终效果

图片.png

策略六 AS过滤器

使用正则表达式匹配as路径 从而通过as_path过滤路由条目

# R1宣告L10-10.10.10.10 R5配置入方向AS过滤
ip as-path 1 deny 123$
ip as-path 1 permit .*

bgp 5
address-family ipv4
 peer 15.0.0.1 as-path 1 import 

最终效果

图片.png

策略七 团体属性

# R4配置
ip prefix-list 7777 permit 7.7.7.7 32
route-policy community permit node 10
 if-match ip address prefix-list 7777
 apply community no-export
 
route-policy community permit node 20

bgp 4
 address-family ipv4
  peer 24.0.0.2 route-policy community export
  peer 24.0.0.2 advertise-community
  
  
 # R2配置
 bgp 123
  address-family ipv4
   peer 1.1.1.1 advertise-community   // 配置将团体属性保留发给邻居 默认丢弃团体属性

最终效果

图片.png

故障排查

  • 造成原因: 路由未选择2.2.2.2 选择的是3.3.3.3 因为3.3.3.3不带团体属性 所以路由传递到R5

图片.png

图片.png

策略八 团体过滤器的使用

# R2配置
ip community-list 1 permit internet 
route-policy 7777 permit node 10
 if-match community 1 
 apply community no-advertise
 
bgp 123
 address-family ipv4
 peer 1.1.1.1 route-policy 7777 export

效果验证

图片.png

图片.png

参考网站

路由策略命令-H3C