|
|
BGP 路由选路属性修改配置实操
BGP (Border Gateway Protocol) 中本地优先级(Local Preference)、MED (Multi-Exit Discriminator) 和 AS-PATH 是重要的路由选路属性。下面我将介绍如何在主流网络设备上配置和修改这些属性。
一、本地优先级 (Local Preference)
本地优先级用于在 AS 内部决定出站流量的路径选择,值越高优先级越高。
Cisco IOS 配置示例- router bgp 100
- neighbor 192.0.2.1 remote-as 200
-
- ! 设置特定路由的本地优先级
- address-family ipv4
- route-map SET_LOCAL_PREF in ! (或out, 根据需求)
- ! 或者直接对邻居设置
- neighbor 192.0.2.1 route-map SET_LOCAL_PREF in
-
- ! 定义route-map
- route-map SET_LOCAL_PREF permit 10
- set local-preference 200
复制代码
Huawei/H3C 配置示例- bgp 100
- peer 192.0.2.1 as-number 200
-
- ! 使用route-policy设置本地优先级
- ipv4-family unicast
- apply route-policy SET_LOCAL_PREF in # 或out
-
- ! 定义route-policy
- route-policy SET_LOCAL_PREF
- policy statement 10
- apply local-preference 200
复制代码
二、MED (Multi-Exit Discriminator)
MED 用于向相邻 AS 建议进入本 AS 的优选路径,值越低优先级越高。
Cisco IOS 配置示例- router bgp 100
- neighbor 192.0.2.1 remote-as 200
-
- ! 设置发送给特定邻居的MED值
- address-family ipv4
- neighbor 192.0.2.1 route-map SET_MED out
-
- ! 定义route-map
- route-map SET_MED permit 10
- set metric 50 # MED在Cisco中通常用metric表示
复制代码
Huawei/H3C 配置示例- bgp 100
- peer 192.0.2.1 as-number 200
-
- ! 使用route-policy设置MED
- ipv4-family unicast
- apply route-policy SET_MED out
-
- ! 定义route-policy
- route-policy SET_MED
- policy statement 10
- apply cost 50 # 或 apply med 50 (不同版本可能不同)
复制代码
三、AS-PATH 属性修改
AS-PATH 记录路由经过的 AS 路径,可以通过 prepend 增加 AS 路径长度来影响选路。
Cisco IOS 配置示例- router bgp 100
- neighbor 192.0.2.1 remote-as 200
-
- ! 使用route-map修改AS-PATH
- address-family ipv4
- neighbor 192.0.2.1 route-map PREPEND_AS out
-
- ! 定义route-map
- route-map PREPEND_AS permit 10
- set as-path prepend 100 100 100 # 在AS-PATH前添加多次本AS号
复制代码
Huawei/H3C 配置示例- bgp 100
- peer 192.0.2.1 as-number 200
-
- ! 使用route-policy修改AS-PATH
- ipv4-family unicast
- apply route-policy PREPEND_AS out
-
- ! 定义route-policy
- route-policy PREPEND_AS
- policy statement 10
- apply as-path 100 100 100 additive # 添加AS号
复制代码
四、综合配置建议
- 配置顺序:通常先配置本地优先级影响出站流量,再配置MED影响入站流量
- 策略应用方向:
- 本地优先级通常应用于入站路由(in方向)
- MED通常应用于出站路由(out方向)
- AS-PATH prepend通常应用于出站路由(out方向)
- 验证命令:
- Cisco:或
- show ip bgp neighbors x.x.x.x advertised-routes
复制代码 - Huawei:
- display bgp routing-table
复制代码 或- display bgp peer x.x.x.x advertised-routes
复制代码 - 注意事项:
- 本地优先级只在AS内部传播,不会发送给外部AS
- MED只在相邻AS之间比较,不同AS的MED值不会直接比较
- AS-PATH prepend会影响路由的可信度,可能影响其他AS的选路决策
五、最佳实践
- 在修改这些属性前,先明确网络设计目标和流量工程需求
- 从小范围开始测试,验证效果后再全面部署
- 记录所有配置变更,便于故障排查和回滚
- 考虑使用BGP社区(Community)属性配合这些属性实现更灵活的策略
以上配置示例可根据实际网络设备和需求进行调整。不同厂商和设备版本可能存在语法差异,建议参考具体设备的官方文档。 |
|