在现网多出口架构中,BGP路由的智能选择直接影响着业务流量的走向和质量。许多工程师虽然熟记"漂亮老男人"这类记忆口诀,但当面对真实设备配置时,依然会陷入"参数不知从何调起"的困境。本文将彻底打破理论与实践的壁垒,通过华为/H3C设备真实配置案例,带您掌握BGP选路原则的工程化应用技巧。
BGP的13条选路原则并非平等适用所有场景。根据现网统计,90%的调优需求集中在以下五个关键属性:
| 属性 | 作用范围 | 调优方向 | 典型应用场景 |
|---|---|---|---|
| Local_Preference | AS内部 | 值越大越优先 | 控制出向流量 |
| AS_Path | 跨AS | 路径越短越优先 | 优化跨运营商路径 |
| MED | 相邻AS之间 | 值越小越优先 | 影响入向流量 |
| Origin | 全局 | i>e>? | 路由来源优先级 |
| Next_Hop_IGP_Cost | AS内部下一跳 | 值越小越优先 | 与IGP协同优化 |
实际配置经验:在华为设备中,前8条原则比较后若仍存在等价路由,才会继续比较后续原则。这意味着工程师只需重点掌握前8条即可应对大多数场景。
当企业网络存在双ISP接入时,常用Local_Preference指定主备链路。以下是华为设备的典型配置:
bash复制# 创建路由策略
route-policy LP_PREF permit node 10
if-match ip-prefix PREFERRED_ROUTES
apply local-preference 200
route-policy LP_PREF permit node 20
apply local-preference 150
# 应用策略
bgp 65001
peer 192.168.1.2 route-policy LP_PREF import
常见误区:
验证命令:
bash复制display bgp routing-table 203.0.113.0/24
# 查看输出中的Local_Pref值
MED用于影响相邻AS的入站流量选择,华三设备配置示例:
bash复制# 创建策略
route-policy MED_OUT permit node 10
apply cost 50
route-policy MED_OUT permit node 20
apply cost 100
# 应用策略
bgp 65001
peer 203.0.113.1 route-policy MED_OUT export
关键注意事项:
compare-different-as-med命令开启跨AS比较对于同时接入电信和联通的企业网络,推荐组合使用以下策略:
出向流量控制:
bash复制# 电信路由标记高优先级
ip ip-prefix CT index 10 permit 58.16.0.0 16
route-policy OUTBOUND permit node 10
if-match ip-prefix CT
apply local-preference 300
入向流量引导:
bash复制# 为联通链路设置更低MED
route-policy INBOUND permit node 10
apply cost 80 # 联通链路
route-policy INBOUND permit node 20
apply cost 120 # 电信链路
不当的路由聚合可能导致路径次优选择,建议采用:
bash复制# 华为设备明细路由优先配置
aggregate 172.16.0.0 22 detail-suppressed suppress-policy DETAIL_ROUTES
route-policy DETAIL_ROUTES permit node 10
if-match route-type detail
当BGP选路结果不符合预期时,建议按照以下流程排查:
基础检查:
display bgp peerdisplay bgp routing-table peer x.x.x.x received-routes属性验证:
bash复制# 查看路由详细信息
display bgp routing-table 203.0.113.0/24 verbose
# 重点检查:
# - Local_Pref
# - AS_Path
# - MED
# - Origin
策略追溯:
bash复制# 查看策略应用情况
display route-policy name LP_PREF
# 测试策略匹配
test-route-policy LP_PREF 203.0.113.0 24
流量测试:
bash复制# 跟踪实际流量路径
traceroute 203.0.113.1
# 华为设备流量统计
display ip routing-table 203.0.113.0 statistics
通过AS_Path修改实现路径偏好:
bash复制# 在华为设备上添加虚拟AS号
route-policy ASPATH_PREPEND permit node 10
apply as-path 65001 65001 additive
# 华三设备配置
route-policy ASPATH_PREPEND permit node 10
apply as-path 65001 65001
注意:部分运营商可能会过滤包含私有AS号的路由
使用Community标签实现跨设备策略联动:
bash复制# 定义Community值
ip community-filter basic COMM_CT index 10 permit 65001:100
# 创建策略
route-policy COMM_STRATEGY permit node 10
if-match community-filter COMM_CT
apply local-preference 200
典型应用场景: