路由策略是网络路由控制的核心技术,通过对路由属性的精细化修改,实现对路由路径的定向调控、流量转发优化及网络安全性增强,路由属性是路由器在路由决策过程中参考的关键参数,包括AS_PATH、LOCAL_PREF、MED、Weight、Next-Hop、Community等,修改这些属性可直接改变路由的优先级、传播范围、下一跳选择等,从而满足不同网络场景下的需求。

路由属性修改的核心方法与常见属性
路由属性的修改通常通过路由策略工具实现,如华为的Route-Policy、思科的Route-Map,结合Prefix-List(前缀列表)或ACL(访问控制列表)精确匹配路由,再通过apply子句修改目标属性,以下从常见属性出发,详细说明修改逻辑与应用场景。
AS_PATH属性:控制路由传播与选路优先级
AS_PATH是BGP路由的核心属性,记录路由经过的AS号序列,长度越短(AS跳数越少)优先级越高,通过在路由发布前向AS_PATH中 prepend( prepend)添加本地AS号,可增加AS_PATH长度,降低该路由的优先级,从而引导流量选择其他路径。
- 修改方法(华为示例):
route-policy modify_as_path permit node 10 if-match ip-prefix target_prefix // 匹配目标路由前缀 apply as-path prepend 65001 65001 // 添加两次本地AS号65001 - 作用:防止路由环路(如避免路由从接收接口返回),或引导流量远离特定AS(如避免经过高延迟网络)。
- 适用场景:企业双出口场景下,希望流量优先从低延迟ISP转发时,可对高延迟ISP学习的路由执行AS_PATH prepend,降低其优先级。
LOCAL_PREF属性:本地优先级调控
LOCAL_PREF(本地优先级)是BGP私有属性,仅在IBGP邻居间传递,影响本地路由器的选路决策,值越高(取值范围0-4294967295),路由优先级越高,本地设备优先将该路由加入路由表。
- 修改方法(华为示例):
route-policy set_local_pref permit node 20 if-match community target_community // 匹配目标团体属性 apply local-prefer 200 // 设置本地优先级为200 - 作用:控制本地出口流量方向,优先选择高带宽、低成本的链路。
- 适用场景:企业通过ISP1(100Mbps)和ISP2(1000Mbps)双上网,可将从ISP2学习的路由LOCAL_PREF设置为300,ISP1设置为100,本地流量优先从ISP2转发。
MED属性:多出口鉴别与外部选路
MED(Multi-Exit Discriminator,多出口鉴别)用于影响EBGP邻居的选路,值越低(取值范围0-4294967295),路由优先级越高,邻居设备优先从对应路径接收流量,MED仅在AS间传递,不穿越AS。
- 修改方法(思科示例):
route-map set_med permit 10 match ip address prefix_list target_prefix set metric 50 // 设置MED值为50 - 作用:告知上游邻居优先从本AS的特定接口接收流量。
- 适用场景:某AS与ISP A和ISP B互联,希望ISP A的流量优先从接口1进入,ISP B的流量优先从接口2进入,可对接口1学习的路由设置MED=30,接口2设置MED=50。
Weight属性:本地权重快速选路
Weight是华为/思科私有属性,仅在本地路由器生效,值越高(取值范围0-65535),路由优先级越高,与LOCAL_PREF不同,Weight不传递给任何邻居,适用于本地快速选路。

- 修改方法(华为示例):
route-policy set_weight permit node 30 if-match as-path 65001 // 匹配AS_PATH包含65001的路由 apply weight 1000 // 设置权重为1000 - 作用:快速本地优先选路,如双ISP接入时优先使用主ISP。
- 适用场景:企业主ISP(ISP1)备份ISP(ISP2),可将ISP1学习的路由Weight设置为1000,ISP2设置为500,本地流量优先从ISP1转发。
Next-Hop属性:修改下一跳地址
Next-Hop属性标识路由的下一跳转发地址,通过修改Next-Hop可改变流量转发路径,解决次优路径问题(如流量绕行非最优下一跳)。
- 修改方法(华为示例):
route-policy set_nexthop permit node 40 if-match ip-prefix target_prefix apply next-hop 192.168.1.1 // 强制下一跳为192.168.1.1 - 作用:指定特定下一跳(如通过隧道、静态路由优化路径)。
- 适用场景:某路由的下一跳为192.168.2.1,但实际最优路径应通过192.168.1.1,可通过策略强制修改Next-Hop为192.168.1.1。
Community属性:批量路由标记与控制
Community是BGP团体属性,用于批量标记路由,结合Route-Policy实现策略化控制(如限制路由传播、设置MED/LOCAL_PREF)。
- 修改方法(华为示例):
route-policy set_community permit node 50 if-match ip-prefix target_prefix apply community 65001:10 additive // 添加团体属性65001:10 - 作用:批量路由策略执行,如将特定路由标记为“no-export”(不向EBGP邻居传播)。
- 适用场景:企业希望将财务网段路由限制在内部AS传播,可设置Community为“65001:100 no-export”,并在出口路由器应用策略拒绝携带该Community的路由向EBGP发布。
路由属性修改场景案例
案例背景:某企业通过ISP1(主出口,1000Mbps)和ISP2(备份出口,100Mbps)双线上网,核心路由器运行BGP,希望所有上行流量优先从ISP1转发,ISP2仅作为备份。
配置思路:
- 匹配从ISP1学习的路由,设置LOCAL_PREF=300、Weight=1000;
- 匹配从ISP2学习的路由,设置LOCAL_PREF=100、Weight=500;
- 在BGP对等组中应用策略。
关键配置(华为):

# 定义前缀列表
ip ip-prefix isp1_prefix permit 10.1.1.0 24
ip ip-prefix isp2_prefix permit 10.2.2.0 24
# 配置路由策略
route-policy prefer_isp1 permit node 10
if-match ip-prefix isp1_prefix
apply local-prefer 300
apply weight 1000
route-policy prefer_isp2 permit node 10
if-match ip-prefix isp2_prefix
apply local-prefer 100
apply weight 500
# 应用至BGP对等组
bgp 65001
peer 100.1.1.1 route-policy prefer_isp1 import
peer 100.2.2.1 route-policy prefer_isp2 import
效果:本地路由器优先选择LOCAL_PREF高、Weight高的ISP1路由,实现流量主备切换。
注意事项
- 匹配顺序:Route-Policy节点按序号从小到大匹配,匹配即停止执行,需合理规划节点序号;
- 策略生效范围:LOCAL_PREF仅在IBGP传递,Weight仅本地生效,AS_PATH/MED影响EBGP选路,需结合场景选择;
- 路由环路风险:修改AS_PATH或Next-Hop时,需确保网络拓扑无环路,建议通过环路检测机制(如BGP Loop Prevention)辅助。
相关问答FAQs
问题1:路由策略修改路由属性时,如何确保策略匹配的准确性?
解答:通过结合Prefix-List或ACL精确匹配路由前缀(如IP地址范围、子网掩码),同时在Route-Policy中设置多维度匹配条件(如if-match community、if-match as-path),并合理配置节点序号(小序号优先匹配),需仅修改AS65001发布的10.0.0.0/8路由,可配置if-match as-path 65001和if-match ip-prefix 10.0.0.0/8,确保仅目标路由被匹配,使用display route-policy applied-record命令检查策略应用情况,避免遗漏或错误匹配。
问题2:修改AS_PATH属性时,如何避免过度prepend导致路由黑洞?
解答:过度prepend(如添加过多本地AS号)可能导致AS_PATH长度超过设备阈值(通常最大255),路由器会丢弃超长AS_PATH的路由,引发路由黑洞,解决方法包括:① 监控路由表,通过display bgp routing-table查看AS_PATH长度,确保不超过200;② 结合其他属性综合选路,如对prepend后的路由设置较高的LOCAL_PREF,避免因AS_PATH过长导致路由完全失效;③ 使用动态调整策略,如通过脚本监控链路状态,仅在链路故障时执行prepend,恢复后自动撤销。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/263174.html