思科路由重分发是网络中一项关键技术,它允许不同路由协议(如OSPF、EIGRP、BGP、RIP等)之间共享路由信息,从而实现多协议网络环境的互联互通,在实际网络部署中,企业网络常常同时运行多种路由协议,例如核心层可能使用OSPF,而边缘网络可能使用EIGRP或BGP,此时就需要通过路由重分发将一种协议的路由注入到另一种协议中,确保全网可达,路由重分发并非简单的“复制粘贴”,它涉及路由度量值管理、路由环路控制、路由策略过滤等多个复杂问题,需要合理配置命令和参数才能实现安全、高效的路由互通。

路由重分发的基本命令与配置
思科设备上配置路由重分发主要在路由进程模式下进行,核心命令是redistribute
,其基本语法结构为:
router <protocol> redistribute <source-protocol> [metric <value>] [metric-type <type>] [subnets] [route-map <map-name>]
<protocol>
为目标路由协议,<source-protocol>
为源路由协议,其他参数为可选关键字,用于控制重分发路由的度量值、类型、范围和过滤规则。
基础重分发配置
以将RIP路由重分发到OSPF为例,首先需要进入OSPF进程配置模式,然后使用redistribute rip
命令,默认情况下,重分发到OSPF的路由类型为Type 2外部路由(metric-type 2),度量值默认为1(可通过metric
参数修改)。
router ospf 1 redistribute rip metric 10 metric-type 1 subnets
上述命令中,metric 10
将重分发的RIP路由的OSPF度量值设置为10,metric-type 1
将其指定为Type 1外部路由(更精确,考虑内部链路开销),subnets
关键字表示重分发所有子网路由(若不添加,默认只重分发主类网络路由)。
度量值设置
不同路由协议的度量值含义差异较大,直接重分发可能导致路由次优或环路,EIGRP的度量值包含带宽、延迟、可靠性等复合参数,而OSPF的外部路由度量值是单一数值,必须通过metric
参数为重分发路由指定目标协议的度量值。

- EIGRP重分发:EIGRP支持复合度量值,可通过
bandwidth
、delay
、reliability
、loading
、mtu
等参数分别指定,router eigrp 100 redistribute ospf 1 metric 10000 100 255 1 1500
依次对应带宽(10kbps)、延迟(100μs)、可靠性(255,即100%)、负载(1,即0%)、MTU(1500字节)。
- BGP重分发:BGP的度量值为AS_PATH长度,可通过
metric
参数直接设置,router bgp 65001 redistribute ospf 1 metric 5
路由过滤与控制
并非所有源路由协议的路由都需要重分发,通常需要通过route-map
结合访问控制列表(ACL)或前缀列表(prefix-list)进行过滤,仅重分发RIP中目标网络为192.168.0.0/16的路由到OSPF:
ip access-list standard RIP_ROUTE permit 192.168.0.0 0.0.255.255 route-map FILTER_RIP permit 10 match ip address RIP_ROUTE router ospf 1 redistribute rip route-map FILTER_RIP subnets
若需拒绝某些路由,可在route-map
中添加deny
序列,对于OSPF,重分发路由默认会成为外部路由(LSA Type 5/7),若需控制重分发的路由范围(如仅重分发特定区域的路由),需结合distribute-list
或route-map
在接口或进程层面进行过滤。
防止路由环路的措施
路由重分发可能引发环路,例如ASBR(自治系统边界路由器)同时运行两种协议且相互重分发路由时,可能导致路由来回传递,常用解决方案包括:
- 设置路由标记(Tag):在重分发时为路由打上标记,在接收端通过
route-map
过滤标记相同的路由,避免反向重分发。router ospf 1 redistribute eigrp 100 subnets route-map TAG_EIGRP route-map TAG_EIGRP permit 10 set tag 100
在另一台ASBR上配置拒绝tag为100的路由重分发回EIGRP。
- 使用偏移列表(Offset-list):修改特定路由的度量值,使其次优,避免被选为最优路径。
- 控制重分发方向:仅在单向边界路由器上配置重分发,避免双向重分发。
重分发协议的优先级与默认行为
当路由器从多个源学习到同一目标网络的路由时,管理距离(AD)决定路由的可信度,重分发路由的管理距离因协议而异,
- EIGRP重分发路由的AD为170(内部EIGRP为90,外部EIGRP为170)
- OSPF外部路由(Type 1/2)的AD为110(内部OSPF为110)
- BGP外部路由的AD为20(EBGP)或200(IBGP)
若需调整重分发路由的可信度,可通过distance
命令修改特定路由的管理距离,
router ospf 1 distance 105 192.168.1.0 0.0.0.255
将来自192.168.1.0/24的OSPF外部路由AD调整为105,使其优先于其他路由。
路由重分发配置示例(多协议环境)
假设某网络运行OSPF(区域0)、EIGRP(AS 100)和RIP,需求为:
- 将RIP路由重分发到OSPF和EIGRP,OSPF侧metric-type为1,metric为20;EIGRP侧metric使用默认值。
- 将EIGRP路由重分发到OSPF,仅允许10.0.0.0/8网段路由,metric-type为2,metric为10。
- 将OSPF区域0的路由重分发到EIGRP,使用route-map过滤,拒绝192.168.0.0/16。
配置步骤如下:
! RIP配置 router rip version 2 network 172.16.0.0 ! EIGRP配置 router eigrp 100 network 10.0.0.0 network 192.168.0.0 redistribute rip metric 10000 100 255 1 1500 ! 重分发RIP到EIGRP ! OSPF配置 router ospf 1 network 192.168.0.0 0.0.255.255 area 0 redistribute rip metric 20 metric-type 1 subnets ! 重分发RIP到OSPF redistribute eigrp 100 subnets route-map EIGRP_TO_OSPF ! 重分发EIGRP到OSPF route-map EIGRP_TO_OSPF permit 10 match ip address prefix-list EIGRP_PREFIX set metric-type 2 set metric 10 ! ip prefix-list EIGRP_PREFIX seq 5 permit 10.0.0.0/8 ! route-map OSPF_TO_EIGRP deny 10 match ip address prefix-list DENY_NETWORK route-map OSPF_TO_EIGRP permit 20 router eigrp 100 redistribute ospf 1 route-map OSPF_TO_EIGRP ! ip prefix-list DENY_NETWORK seq 5 deny 192.168.0.0/16
相关问答FAQs
Q1: 路由重分发时,为什么必须配置metric参数?不配置会有什么影响?
A1: 不同路由协议的度量值计算方式和含义不同,例如RIP使用跳数,OSPF使用成本值,EIGRP使用复合参数,若不配置metric参数,目标协议会使用默认度量值(如OSPF默认为1,EIGRP默认为无穷大),可能导致路由次优或不可达,重分发到EIGRP时若未指定metric,EIGRP会认为该路由度量值无穷大,从而不会将其加入路由表,必须根据目标协议的度量规则合理配置metric,确保重分发路由能被正确选择和转发。
Q2: 如何避免路由重分发引发的路由环路问题?
A2: 避免路由环路可采取多种措施:①使用路由标记(Tag)和route-map过滤,防止路由在ASBR之间双向重分发;②控制重分发范围,仅重分发必要的路由(如通过ACL或prefix-list);③调整管理距离,确保重分发路由不会被优先选择为最优路径;④在边界路由器上配置偏移列表(Offset-list),增加重分发路由的度量值,使其次优;⑤设计网络拓扑时,尽量将重分发点部署在网络边缘,减少环路风险,在双向重分发场景中,可在一台ASBR上打标记,另一台ASBR拒绝标记相同的路由,从而阻断环路路径。