设为首页收藏本站language 语言切换
查看: 307|回复: 0
收起左侧

[分享] 【BGP高级】路由策略配置实战:用Local Preference操控BGP主备链路切换

[复制链接]
发表于 前天 09:29 | 显示全部楼层 |阅读模式
本帖最后由 小乔 于 2026-7-10 10:35 编辑


一、为什么需要路由策略?它能解决什么问题?

路由策略(Route-Policy)是网络工程师进行精细化路由控制的核心工具。在BGP网络中,路由策略可以帮助我们:
控制路由的接收发布
修改BGP路径属性(如Local Preference、AS_Path等)
实现主备链路切换、流量负载分担等高级功能

本方案核心思路:
通过修改Local Preference(本地优先级)控制BGP选路
主链路设置更高的Local Preference(200)
备用链路保留默认Local Preference(100)
BGP会优先选择Local Preference更高的路径,实现主链路优先


二、组网需求与场景描述

某公司的部门A和部门B相距较远,Router_1和Router_6分别作为这两个部门的出口设备,AS 100内部使用OSPF作为IGP。现要求:
通过部署BGP,使部门A和部门B可以通信
通过配置路由策略,将Router_2 → Router_3 → Router_4链路作为主链路
当主链路断开时,自动切换到备用链路(Router_2 → Router_5 → Router_4)

网络拓扑:
AS 200:部门A所在AS,包含Router_1
AS 100:中间AS,包含Router_2、Router_3、Router_4、Router_5
AS 300:部门B所在AS,包含Router_6
主链路:Router_2 → Router_3 → Router_4
备用链路:Router_2 → Router_5 → Router_4

三、端口与IP地址规划表

设备接口IP地址所属AS连接对象
Router_1GE2/0/110.20.0.1/24AS 200Router_2
Router_2GE2/0/110.1.0.101/24AS 100Router_3(主链路)
Router_2GE2/0/210.30.0.101/24AS 100Router_5(备用链路)
Router_2GE2/0/310.20.0.2/24AS 100Router_1(AS 200)
Router_3GE2/0/110.1.0.102/24AS 100Router_2(主链路)
Router_3GE2/0/210.2.0.102/24AS 100Router_4(主链路)
Router_4GE2/0/110.2.0.101/24AS 100Router_3(主链路)
Router_4GE2/0/210.40.1.101/24AS 100Router_5(备用链路)
Router_4GE2/0/310.50.0.2/24AS 100Router_6(AS 300)
Router_5GE2/0/110.30.0.102/24AS 100Router_2(备用链路)
Router_5GE2/0/210.40.1.102/24AS 100Router_4(备用链路)
Router_6GE2/0/110.50.0.1/24AS 300Router_4


四、配置思路

1. 配置各路由器接口IP地址,确保直连链路互通
2. 在AS 100内配置OSPF作为IGP,保证内部路由可达
3. 配置BGP基本功能(EBGP和IBGP邻居)
4. 在Router_2上配置路由策略,为去往部门B的流量设置主备优先级
5. 在Router_4上配置路由策略,为去往部门A的流量设置主备优先级
6. 验证主链路优选和故障切换

五、完整配置命令与逐条注释

1. Router_1 配置


  1. # 配置设备名称
  2. sysname Router_1

  3. # ==================== 接口配置 ====================
  4. interface GigabitEthernet2/0/1
  5. ip address 10.20.0.1 255.255.255.0

  6. # ==================== BGP配置 ====================
  7. bgp 200
  8. router-id 1.1.1.1
  9. # 配置EBGP对等体(Router_2)
  10. peer 10.20.0.2 as-number 100

  11. # ==================== IPv4单播地址族配置 ====================
  12. ipv4-family unicast
  13. undo synchronization
  14. # 发布本地网段
  15. network 10.20.0.0 255.255.255.0
  16. peer 10.20.0.2 enable

  17. return
复制代码


2. Router_2 配置(核心配置)


  1. # 配置设备名称
  2. sysname Router_2

  3. # ==================== ACL配置 ====================
  4. # 创建ACL 2000,匹配10.20.0.0/24网段(部门A)
  5. acl number 2000
  6. rule 0 permit source 10.20.0.0 0.0.0.255

  7. # ==================== 接口配置 ====================
  8. # 连接Router_3(主链路)
  9. interface GigabitEthernet2/0/1
  10. ip address 10.1.0.101 255.255.255.0

  11. # 连接Router_5(备用链路)
  12. interface GigabitEthernet2/0/2
  13. ip address 10.30.0.101 255.255.255.0

  14. # 连接Router_1(AS 200)
  15. interface GigabitEthernet2/0/3
  16. ip address 10.20.0.2 255.255.255.0

  17. # ==================== BGP配置 ====================
  18. bgp 100
  19. router-id 2.2.2.2
  20. # 配置IBGP对等体(Router_4的两个接口)
  21. peer 10.2.0.101 as-number 100
  22. peer 10.40.1.101 as-number 100
  23. # 配置EBGP对等体(Router_1)
  24. peer 10.20.0.1 as-number 200

  25. # ==================== IPv4单播地址族配置 ====================
  26. ipv4-family unicast
  27. undo synchronization
  28. # ★ 配置BGP路由优先级,使IBGP路由(100)优于OSPF路由
  29. preference 255 100 130
  30. peer 10.2.0.101 enable
  31. # ★ 对发往Router_4的路由应用路由策略local-pre
  32. peer 10.2.0.101 route-policy local-pre export
  33. peer 10.2.0.101 next-hop-local
  34. peer 10.20.0.1 enable
  35. peer 10.40.1.101 enable
  36. peer 10.40.1.101 next-hop-local

  37. # ==================== OSPF配置 ====================
  38. ospf 1
  39. import-route direct
  40. area 0.0.0.0
  41.   network 10.1.0.0 0.0.0.255
  42.   network 10.30.0.0 0.0.0.255

  43. # ==================== 路由策略配置 ====================
  44. # ★ 创建路由策略local-pre,节点10,permit模式
  45. route-policy local-pre permit node 10
  46. # 匹配条件:从对等体10.20.0.1学习到的路由(部门A)
  47. if-match ip route-source acl 2000
  48. # ★ 应用动作:设置本地优先级为200(高于默认100)
  49. apply local-preference 200

  50. return
复制代码


3. Router_3 配置


  1. # 配置设备名称
  2. sysname Router_3

  3. # ==================== 接口配置 ====================
  4. # 连接Router_2
  5. interface GigabitEthernet2/0/1
  6. ip address 10.1.0.102 255.255.255.0

  7. # 连接Router_4
  8. interface GigabitEthernet2/0/2
  9. ip address 10.2.0.102 255.255.255.0

  10. # ==================== OSPF配置 ====================
  11. ospf 1
  12. area 0.0.0.0
  13.   network 10.1.0.0 0.0.0.255
  14.   network 10.2.0.0 0.0.0.255

  15. return
复制代码


4. Router_4 配置(核心配置)


  1. # 配置设备名称
  2. sysname Router_4

  3. # ==================== ACL配置 ====================
  4. # 创建ACL 2000,匹配10.50.0.0/24网段(部门B)
  5. acl number 2000
  6. rule 0 permit source 10.50.0.0 0.0.0.255

  7. # ==================== 接口配置 ====================
  8. # 连接Router_3(主链路)
  9. interface GigabitEthernet2/0/1
  10. ip address 10.2.0.101 255.255.255.0

  11. # 连接Router_5(备用链路)
  12. interface GigabitEthernet2/0/2
  13. ip address 10.40.1.101 255.255.255.0

  14. # 连接Router_6(AS 300)
  15. interface GigabitEthernet2/0/3
  16. ip address 10.50.0.2 255.255.255.0

  17. # ==================== BGP配置 ====================
  18. bgp 100
  19. router-id 4.4.4.4
  20. # 配置IBGP对等体(Router_2的两个接口)
  21. peer 10.1.0.101 as-number 100
  22. peer 10.30.0.101 as-number 100
  23. # 配置EBGP对等体(Router_6)
  24. peer 10.50.0.1 as-number 300

  25. # ==================== IPv4单播地址族配置 ====================
  26. ipv4-family unicast
  27. undo synchronization
  28. preference 255 100 130
  29. peer 10.1.0.101 enable
  30. # ★ 对发往Router_2的路由应用路由策略local-pre
  31. peer 10.1.0.101 route-policy local-pre export
  32. peer 10.1.0.101 next-hop-local
  33. peer 10.30.0.101 enable
  34. peer 10.30.0.101 next-hop-local
  35. peer 10.50.0.1 enable

  36. # ==================== OSPF配置 ====================
  37. ospf 1
  38. import-route direct
  39. area 0.0.0.0
  40.   network 10.2.0.0 0.0.0.255
  41.   network 10.40.1.0 0.0.0.255

  42. # ==================== 路由策略配置 ====================
  43. # ★ 创建路由策略local-pre,节点10,permit模式
  44. route-policy local-pre permit node 10
  45. # 匹配条件:从对等体10.50.0.1学习到的路由(部门B)
  46. if-match ip route-source acl 2000
  47. # ★ 应用动作:设置本地优先级为200(高于默认100)
  48. apply local-preference 200

  49. return
复制代码


5. Router_5 配置


  1. # 配置设备名称
  2. sysname Router_5

  3. # ==================== 接口配置 ====================
  4. # 连接Router_2
  5. interface GigabitEthernet2/0/1
  6. ip address 10.30.0.102 255.255.255.0

  7. # 连接Router_4
  8. interface GigabitEthernet2/0/2
  9. ip address 10.40.1.102 255.255.255.0

  10. # ==================== OSPF配置 ====================
  11. ospf 1
  12. area 0.0.0.0
  13.   network 10.30.0.0 0.0.0.255
  14.   network 10.40.1.0 0.0.0.255

  15. return
复制代码


6. Router_6 配置


  1. # 配置设备名称
  2. sysname Router_6

  3. # ==================== 接口配置 ====================
  4. interface GigabitEthernet2/0/1
  5. ip address 10.50.0.1 255.255.255.0

  6. # ==================== BGP配置 ====================
  7. bgp 300
  8. router-id 6.6.6.6
  9. # 配置EBGP对等体(Router_4)
  10. peer 10.50.0.2 as-number 100

  11. # ==================== IPv4单播地址族配置 ====================
  12. ipv4-family unicast
  13. undo synchronization
  14. # 发布本地网段
  15. network 10.50.0.0 255.255.255.0
  16. peer 10.50.0.2 enable

  17. return
复制代码


六、路由策略工作原理详解

路由策略(Route-Policy)工作流程:
步骤动作说明
1Router_6发布路由在AS 300中发布10.50.0.0/24
2Router_4收到EBGP路由Router_4从Router_6学习到10.50.0.0/24
3Route-Policy匹配匹配ACL 2000(源10.50.0.0/24)
4修改Local Preference应用local-preference 200
5Router_4通告给IBGP邻居将修改后的路由通告给Router_2
6Router_2选路主链路路径Local Preference为200,被优选


本地优先级(Local Preference)的作用:
Local Preference是BGP的重要路径属性,用于在AS内部进行选路
值越高,路径越优先(默认值为100)
通过Route-Policy可以灵活修改该属性
本方案中:主链路Local Preference为200,备用链路为100


七、关键配置参数说明

配置项Router_2Router_4说明
ACL匹配acl 2000 source 10.20.0.0/24acl 2000 source 10.50.0.0/24匹配需要修改优先级的网段
Route-Policylocal-prelocal-pre设置Local Preference为200
应用方向exportexport向IBGP邻居发布时应用
BGP优先级preference 255 100 130preference 255 100 130IBGP(100)优于OSPF


特别注意:
Route-Policy的匹配条件必须精确,避免影响其他路由
Local Preference只在AS内部传递,不发给EBGP邻居
主备链路切换依赖OSPF或IGP的快速收敛
配置修改后需重置BGP会话或等待路由更新


八、验证配置结果

验证命令:

  1. display bgp routing-table                 # 查看BGP路由表
  2. display ip routing-table protocol bgp     # 查看BGP路由
  3. tracert                                   # 跟踪报文路径
  4. ping                                      # 测试连通性
复制代码


预期验证结果:

1. 查看Router_2的BGP路由表(主链路优先):

  1. [Router_2] display bgp routing-table

  2. BGP Local AS : 100
  3. Total Number of Routes : 2

  4. Network            NextHop        MED        LocPrf    PrefVal    Path/Ogn
  5. *>  10.50.0.0/24     10.2.0.101     0          200       0          300
  6. *                    10.40.1.101    0          100       0          300
  7. # Local Preference为200的路径被优选(主链路)
复制代码


2. 查看Router_1的tracert结果(走主链路):

  1. [Router_1] tracert 10.50.0.1

  2. Tracing route to 10.50.0.1 over a maximum of 30 hops

  3.   1  <1 ms  <1 ms  <1 ms  10.20.0.2       # Router_2
  4.   2   1 ms   1 ms   1 ms  10.1.0.102      # Router_3(主链路)
  5.   3   2 ms   2 ms   2 ms  10.2.0.101      # Router_4
  6.   4   3 ms   3 ms   3 ms  10.50.0.1       # Router_6
  7. # 流量经过主链路 Router_2 → Router_3 → Router_4
复制代码


3. 主链路断开后验证(自动切换):

  1. # 断开Router_2与Router_3之间的链路

  2. [Router_2] display bgp routing-table
  3. Total Number of Routes : 1

  4. Network            NextHop        MED        LocPrf    PrefVal    Path/Ogn
  5. *>  10.50.0.0/24     10.40.1.101    0          100       0          300
  6. # 只剩备用路径,Local Preference为100

  7. [Router_1] tracert 10.50.0.1
  8.   1  <1 ms  <1 ms  <1 ms  10.20.0.2       # Router_2
  9.   2   1 ms   1 ms   1 ms  10.30.0.102      # Router_5(备用链路)
  10.   3   2 ms   2 ms   2 ms  10.40.1.102      # Router_4
  11.   4   3 ms   3 ms   3 ms  10.50.0.1       # Router_6
  12. # 流量自动切换到备用链路 Router_2 → Router_5 → Router_4
复制代码


九、排障指南(新手常见问题)

故障现象可能原因解决方法
路由策略不生效ACL不匹配或Route-Policy未应用检查ACL规则和route-policy export方向
主链路未优先Local Preference设置错误确认apply local-preference 200是否正确
主备切换失败IGP(OSPF)收敛慢优化OSPF参数或启用BFD快速检测
BGP邻居状态异常AS号或IP地址配置错误检查peer as-number和接口IP


十、配置注意事项

关键点提醒:
Route-Policy的匹配条件必须精确,避免影响其他路由
Local Preference只在AS内部传递,不发给EBGP邻居
主备链路切换依赖OSPF或IGP的快速收敛
配置修改后需重置BGP会话或等待路由更新
BGP优先级配置(preference 255 100 130)确保IBGP路由(100)优于OSPF路由


十一、路由策略的应用场景

路由策略的典型应用场景:
多出口选路控制:通过Local Preference控制主备链路
路由过滤:控制路由的接收和发布
路由标记:通过团体属性标记路由来源
Route-Policy + ACL结合,实现精细化的路由控制


十二、总结

本文通过路由策略(Route-Policy)技术,结合Local Preference属性,实现了BGP主备链路的自动切换。通过在Router_2和Router_4上配置路由策略,为主链路设置更高的Local Preference(200),确保流量优先走主链路;当主链路故障时,自动切换到备用链路(Local Preference为100)。

核心配置要点:配置接口IP → 配置OSPF → 配置BGP邻居 → 配置ACL匹配条件 → 配置Route-Policy修改Local Preference → 在IBGP邻居上应用Route-Policy → 验证路径

路由策略是BGP高级应用中的关键技术,掌握路由策略可以帮助网络工程师灵活控制路由传播和选路,是网络高级工程师的必备技能

互动提问

各位坛友,你在配置路由策略时遇到过哪些问题?是Local Preference不生效还是主备切换失败?欢迎留言分享你的排障经验!

--- 鸿鹄论坛,一路同行 ---

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?论坛注册

x
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2026-7-12 10:41 , Processed in 0.049598 second(s), 9 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表