思科路由重分布命令是网络工程中用于在不同路由协议之间共享路由信息的关键技术,当网络中运行多种路由协议(如OSPF、EIGRP、BGP、RIP等)时,路由重分布能够实现路由的跨协议传递,确保网络可达性,以下是关于思科路由重分布命令的详细说明,包括基本语法、配置步骤、注意事项及实例分析。

路由重分布的基本语法
思科设备中,路由重分布命令通常在全局配置模式或特定路由进程模式下执行,核心命令为redistribute
,其基本语法结构为:
router <protocol> [process-id] redistribute <source-protocol> [source-process-id] [metric <value>] [metric-type <type>] [route-map <map-name>] [subnets]
参数说明:
<source-protocol>
:被重分布的源路由协议,如ospf 1
、eigrp 100
、static
、connected
等。[metric <value>]
:重分布路由时设置的度量值,不同协议对度量值的定义不同(如RIP使用跳数,EIGRP使用复合度量值)。[metric-type <type>]
:用于OSPF等协议,指定外部路由类型(如E1或E2)。[route-map <map-name>]
:通过路由映射表控制重分布的路由条目,实现过滤或修改属性。[subnets]
:仅OSPF重分布时需要,表示重分布子网路由(默认仅重分布主类网络)。
配置步骤与实例
基本重分布配置
假设一台路由器同时运行OSPF和EIGRP,需将EIGRP路由重分布到OSPF中:
! 进入OSPF进程配置模式 router ospf 1 ! 重分布EIGRP 100的路由,设置度量值为20(OSPF默认外部度量值) redistribute eigrp 100 metric 20 subnets ! 退出OSPF进程 exit ! 进入EIGRP进程配置模式 router eigrp 100 ! 重分布OSPF 1的路由,设置EIGRP度量值为带宽+延迟(需手动计算或默认) redistribute ospf 1
使用路由映射过滤重分布路由
若需仅重分布特定EIGRP路由(如只重分发192.168.1.0/24)到OSPF:

! 定义路由映射 route-map EIGRP-to-OSPF permit 10 match ip address 1 ! 访问控制列表1中定义的网段 ! ! 创建ACL access-list 1 permit 192.168.1.0 0.0.0.255 ! ! 在OSPF进程中应用路由映射 router ospf 1 redistribute eigrp 100 route-map EIGRP-to-OSPF subnets
重分布静态路由和直连路由
! 重分布静态路由到EIGRP,设置度量值为1000 router eigrp 100 redistribute static metric 1000 ! 重分布直连路由到OSPF router ospf 1 redistribute connected subnets
不同协议的度量值设置
不同路由协议对度量值的计算方式不同,重分布时需合理配置,避免次优路径问题,以下是常见协议的度量值参数:
路由协议 | 度量值参数 | 说明 |
---|---|---|
RIP | metric <跳数> |
默认跳数为1,最大跳数为15 |
EIGRP | metric <带宽> <延迟> <可靠性> <负载> <MTU> |
可简写为metric <带宽> <延迟> ,其他参数默认 |
OSPF | metric <度量值> |
外部路由默认度量值为20,可通过metric-type 修改类型 |
BGP | metric <值> |
默认为IGP度量值,或通过bgp redistribute-internal 重分布内部路由 |
注意事项
- 路由环路风险:重分布可能导致路由环路,建议使用路由映射、路由标记(Tag)或分发列表(distribute-list)进行控制。
- 度量值一致性:重分布路由时需确保目标协议的度量值设置合理,否则可能被协议优先选择机制丢弃。
- 次优路径问题:当重分布路由的度量值低于协议内部路由时,可能造成流量次优路径转发,需通过
distance
命令调整管理距离。 - OSPF外部路由类型:OSPF重分布路由默认为E2类型(不增加内部成本),若需累加内部成本(E1类型),需指定
metric-type 1
。
高级配置:使用路由标记和分发列表
! 在EIGRP中为重分布路由打标记 router eigrp 100 redistribute ospf 1 route-map SET-TAG ! route-map SET-TAG permit 10 set tag 100 ! ! 在OSPF中通过标记过滤重分布路由 router ospf 1 distribute-list prefix OSPF-FILTER in ! 使用前缀列表过滤标记为100的路由
相关问答FAQs
问题1:路由重分布时,为什么需要使用subnets
关键字?
答:在OSPF中,默认情况下redistribute
命令仅重分布主类网络路由(如192.168.1.0/24),而不会重分布子网路由(如192.168.1.0/28),若需重分布所有子网,必须添加subnets
关键字,其他协议(如EIGRP、RIP)无需此关键字,因其默认支持子网路由的重分布。
问题2:如何避免重分布导致的路由环路问题?
答:可通过以下方法减少环路风险:
- 路由标记(Tag):在源协议中为重分布路由打唯一标记,在目标协议中通过路由映射或分发列表过滤标记路由。
- 双向重分布时的路由过滤:在双向重分布场景中,使用
distribute-list
或route-map
确保协议A重分布到协议B的路由不会被协议B再次重分布回协议A。 - 调整管理距离:通过
distance
命令提高重分布路由的管理距离,优先选择协议内部路由。 - 使用单向重分布:在可能的情况下,避免双向重分布,采用单向路由传递(如核心协议分发到边缘协议)。
