尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

路由重分布实验详解:OSPF与RIP双向重分布配置与排错指南

发布时间:2026/9/24 19:02:51

资讯中心
01
ARTICLE

路由重分布实验详解:OSPF与RIP双向重分布配置与排错指南

路由重分布实验详解:OSPF与RIP双向重分布配置与排错指南
在日常网络运维和认证备考里路由重分布Route Redistribution是一个绕不开的硬骨头。我在给团队做内部分享时发现很多人对单个协议比如OSPF或RIP玩得很溜但只要一涉及多协议共存立刻就会在重分布上翻车——要么路由学不全要么出现环路要么数据包绕远路。这个“重分布实验”项目本质就是把不同路由协议之间的“语言不通”问题彻底打通让OSPF域和RIP域里的路由能互相看见、互相抵达。这篇文章我就以一套完整的实验来拆解重分布的全过程。不管是准备CCNP/HCIP考试还是在现网里做协议迁移、多厂商设备对接这套思路和排错方法都能直接复用。我会从实验设计、关键参数、配置命令到问题排查按我实际操作的顺序一步步讲清楚。1. 重分布实验先把思路想清楚再做很多人上手就敲命令结果出了问题一脸懵。重分布这个实验最忌讳的就是不规划直接动手。先搞清楚为什么要做重分布、在哪个设备上做、往哪个方向做这三个问题想明白了实验就成功了一半。1.1 什么场景下需要路由重分布路由重分布解决的是多协议共存时的路由互通问题。现实中最常见的三种场景公司并购或部门合并两边网络一个跑OSPF、一个跑EIGRP中间必须打通企业出口同时接运营商A和运营商B两家运营商用的协议不一样内部需要同时学习到两边路由网络迁移过渡期新旧协议并行运行边界设备上做双向重分布保证业务不中断这些场景里单靠一种路由协议是无法搞定全局路由收敛的。重分布就是把A协议学到的路由转换成B协议的格式再注入到B协议域里。1.2 实验拓扑与需求拆解我这次实验用的拓扑很简单三台路由器串联R1 —— R2 —— R3。R1和R2之间跑RIPv2R2和R3之间跑OSPFR2就是那个“翻译官”——边界路由器。这个拓扑麻雀虽小五脏俱全你能观察到重分布引发的几乎所有典型问题种子度量值、次优路径、路由回馈、环路风险。需求拆解一下R1的Loopback0模拟业务网段要在OSPF域内可达R3的Loopback0模拟业务网段要在RIP域内可达双向重分布后全网路由必须收敛且路径最优选RIPv2和OSPF这两个协议组合是有讲究的。RIP的度量是跳数OSPF的度量是开销Cost两者度量体系完全不同重分布时必须手工指定种子度量值正好能把重分布最核心的考点暴露出来。2. 核心概念与关键参数种子度量值、管理距离与路由优先级重分布不是简单的“把路由抄过去”它牵扯到几个非常核心的选路参数。这些参数不理解透配置命令背得再熟也没用。2.1 种子度量值为什么是重分布第一坑每种路由协议对“这条路有多好”的衡量标准不一样。RIP认为跳数越少越好OSPF认为Cost越小越好EIGRP用复合度量。当一条路由从一个协议被“翻译”成另一个协议时原来协议算好的度量值没法直接沿用必须给一个初始值这个初始值就叫种子度量值Seed Metric。以RIP为例它的最大跳数是15跳16跳就是不可达。如果你在R2上把OSPF路由重分布进RIP时忘记指定度量值Cisco IOS默认会给一个无穷大度量相当于不可达RIP域内的路由器根本学不到这条路由。这不是玄学是机制设计如此——宁可让路由不可达也不能广播错误的路由。我在实验里给重分布进RIP的OSPF路由设置了度量值2给重分布进OSPF的RIP路由设置了Cost 10。这样做的逻辑是R2同时连接两个协议域它自己肯定是去往对端域的最优边界给一个合理的初始度量让下游路由器算出来的总度量是真实的。2.2 管理距离如何影响路由选路管理距离Administrative DistanceAD是路由器用来决定“多个协议同时告诉我去往同一个网段我听谁的”的信任等级。数值越小越可信。直连路由0静态路由1EIGRP汇总路由5OSPF110RIP120这个参数在重分布场景里极其关键。假设R2同时运行OSPF和RIP两个协议都学习到了去往某个网段的路由比如回馈路由路由器会比较AD值选择了AD更小的那条路径。AD的存在正是次优路径问题的根源之一。2.3 重分布方向单向、双向怎么选重分布可以是单向的也可以是双向的。单向重分布适合“一个协议域是核心另一个只是分支”的场景。举个例子核心网跑OSPF某个老旧的办公区跑RIP办公区只需要访问核心网资源但核心网不需要知道办公区内部细节此时只在边界路由器上把RIP重分布进OSPF就够了。双向重分布则适合两个协议域对等、需要互相访问全部资源的场景。我这次实验做的就是双向重分布因为它能把回馈路由、环路风险、次优路径这些“高级问题”全都暴露出来实验价值更高。但要提醒大家双向重分布是把双刃剑。配置简单排错极难。没有做好过滤和防环机制的双向重分布在某些特殊拓扑下会引发路由振荡甚至导致全网瘫痪。3. 实操过程从拓扑搭建到双向重分布配置纸上谈兵结束下面进入实操环节。我用的是GNS3模拟器三台Cisco IOS路由器镜像c7200接口规划如下。你用EVE-NG或者真机做逻辑完全一样。3.1 拓扑与地址规划设备接口IP地址所属协议域R1F0/010.0.12.1/24RIPv2R1Loopback01.1.1.1/32RIPv2模拟业务地址R2F0/010.0.12.2/24RIPv2R2F0/110.0.23.2/24OSPFR3F0/010.0.23.3/24OSPFR3Loopback03.3.3.3/32OSPF模拟业务地址所有设备关闭DNS查询设置日志同步这些基础操作能让你后续排错时少很多干扰。3.2 基础路由协议配置先把基础协议跑通再碰重分布。R1上的配置是这样的interface FastEthernet0/0 ip address 10.0.12.1 255.255.255.0 no shutdown ! interface Loopback0 ip address 1.1.1.1 255.255.255.255 ! router rip version 2 network 10.0.0.0 network 1.0.0.0 no auto-summaryR3上OSPF的配置interface FastEthernet0/0 ip address 10.0.23.3 255.255.255.0 no shutdown ! interface Loopback0 ip address 3.3.3.3 255.255.255.255 ! router ospf 1 router-id 3.3.3.3 network 10.0.23.0 0.0.0.255 area 0 network 3.3.3.3 0.0.0.0 area 0R2先只配置接口IP先别启用协议。为什么因为R2是边界设备我习惯先把链路层和三层连通性验证好再启用路由协议这样能把“物理层问题”和“路由协议问题”隔离开。R2上的协议配置先不写重分布router rip version 2 network 10.0.0.0 no auto-summary ! router ospf 1 router-id 2.2.2.2 network 10.0.23.0 0.0.0.255 area 0注意RIP宣告的是network 10.0.0.0它会把属于10.0.0.0/8的F0/0和F0/1接口都纳入RIP进程。但F0/1同时也被OSPF宣告了。这就是重分布的“火药桶”——同一个接口被两个协议宣告后R2会同时通过RIP和OSPF学到10.0.23.0/24网段的路由形成路由回馈的条件。不过这一步先不管后面处理。3.3 在边界路由器R2上配置双向重分布基础协议都正常后在R2上加重分布配置router rip redistribute ospf 1 metric 2 ! router ospf 1 redistribute rip subnets metric 10逐条解析redistribute ospf 1 metric 2把OSPF进程1学到路由重分布进RIP种子度量值为2。这个2表示跳数RIP用跳数作为度量。之所以设2而不是1是因为R1到达对端OSPF域可能需要经过R2、R3如果R1上的跳数是112而实际路径要经过两跳给1会导致下游路由器算出的跳数比实际少这就是度量失真。redistribute rip subnets metric 10把RIP学到路由重分布进OSPF。subnets关键字很关键——默认情况下OSPF重分布时只重分布主类网络Classful Network不加subnets子网路由不会发出去这是OSPF重分布最高频的配置遗漏。metric 10表示把RIP路由转换成OSPF路由后初始Cost为10。配置完成后分别在R1和R3上看路由表R1应该能看到3.3.3.3/32下一跳指向10.0.12.2R2协议来源显示RIP。R3应该能看到1.1.1.1/32下一跳指向10.0.23.2R2协议来源显示OSPF。看到这两条路由说明双向重分布已经生效实验的核心目标达成。3.4 验证与路由观察路由表验证只是第一步我还习惯用几条命令做深度体检show ip protocols查看各协议的路由重分布配置、过滤列表、度量值等参数是否生效。这条命令能一次性确认RIP和OSPF的重分布方向是否正确。show ip route rip和show ip route ospf分协议查看路由表能快速区分哪些路由是从哪个协议学到的对分析次优路径问题非常有用。traceroute从R1 trace到3.3.3.3确认实际转发路径是R1→R2→R3没有绕路。从R3 trace到1.1.1.1同样验证。实测时最常见的现象是R1能ping通3.3.3.3R3也能ping通1.1.1.1看起来一切正常。但用traceroute一查从R3去1.1.1.1的路径可能变成R3→R2→R1→R2→R1这种死循环或者R1去3.3.3.3走了R2又弹回R1。这些都是重分布没处理干净导致的下一章节详细讲。另外我还习惯看show ip ospf database里的Type 5外部路由External LSA它记录了OSPF域内重分布进来的所有外部路由信息通过它可以确认外部路由的Metric值是否符合预期。4. 典型问题排查与避坑实录重分布实验做到“路由能通”很简单但做到“路径最优、全网稳定”就考验功力了。下面这几个问题是重分布实验中最常翻车的点也是我在实际项目里踩过的坑。4.1 路由回馈引发的路由振荡路由回馈Route Feedback是双向重分布最经典的问题。我实验里的R2同时运行RIP和OSPF。R2通过OSPF学到了10.0.23.0/24因为F0/1接口属于OSPF区域同时也通过RIP学到了10.0.23.0/24因为F0/1接口也被network 10.0.0.0纳入了RIP进程。双向重分布开启后R2把OSPF学到的10.0.23.0/24重分布进RIP通告给R1R2把RIP学到的10.0.23.0/24重分布进OSPF通告给R3R1和R3收到后又把这条路由通告给R2R2再学回来这样一来R2会同时从多个来源学到去往同一个网段的路由路由表开始不稳定严重时路由会在RIP和OSPF之间反复进出形成路由振荡。解决思路是在边界路由器上做过滤禁止把从某个协议学到的路由再发回该协议域。最规范的做法是用路由标记Route Tag。在R2上做如下配置router rip redistribute ospf 1 metric 2 route-map FROM_OSPF_TO_RIP ! router ospf 1 redistribute rip subnets metric 10 route-map FROM_RIP_TO_OSPF ! route-map FROM_OSPF_TO_RIP deny 10 match tag 100 ! route-map FROM_OSPF_TO_RIP permit 20 set tag 200 ! route-map FROM_RIP_TO_OSPF deny 10 match tag 200 ! route-map FROM_RIP_TO_OSPF permit 20 set tag 100这个配置的核心思想从OSPF重分布进RIP的路由打上tag 200从RIP重分布进OSPF的路由打上tag 100。当R2从RIP域再次收到一条带tag 200的路由时说明这条路由原本就是OSPF域发出去的现在回来了直接deny掉不让它再进入OSPF域。反之亦然。这套tag机制相当于给每一条路由发了“身份证”边界路由器看到身份证就知道这条路由的“祖籍”从哪来回哪去的路由直接拒收从根源上掐断回馈环路。4.2 次优路径看似通实则绕路次优路径比环路更隐蔽。路由能通但走的路不是最短的。举个实验中的例子假设我在R2和R3之间再加一条链路R2和R3形成了一个两条链路的三角拓扑。R3上有一条直连路由10.0.34.0/24通过另一台设备学到R3把这条路由通过OSPF通告给R2。R2把它重分布进RIPR1学习后去往10.0.34.0/24会走R2这是没问题的。但如果R1自己还有一条直连路径能到R3且这条路径是通过RIP学到的R1就会比较两条路由的AD值——RIP的AD是120OSPF的AD是110R1会优先选择AD更小的OSPF路由但这条OSPF路由可能实际需要绕路。解决次优路径的核心原则在边界路由器上对重分布路由设置合理的AD值或者用route-map精确控制重分布的路由范围。我对重分布进OSPF的RIP路由设置了AD 120和RIP原始AD一致这样下游路由器不会因为重分布后的AD变化而改变选路决策。4.3 种子度量值引发的黑洞路由这个坑很经典。我在R2上配置了redistribute rip subnets metric 10但如果R3上还有一条默认路由指向R2而R2重分布进OSPF时某些RIP路由的度量值未正确设置可能造成R3认为某条路由更优却无法实际送达。另外EIGRP重分布有个大坑EIGRP的种子度量由带宽、延迟、可靠性、负载、MTU五个参数组成不全部指定重分布的路由根本不会被通告。OSPF和RIP好歹能给一个单一的度量值EIGRP缺一个参数都不行。实操建议是给OSPF重分布设置metric时先看目标协议域的度量基准。OSPF的Cost和接口带宽相关10G接口的Cost是1100M接口的Cost是1Cost过低可能导致下游路由器选路异常。我给10主要是相信下游Cost累加后能保持真实的路径差异但如果你实验里R3后面还有多层设备建议把metric加大到50左右避免把重分布路由“伪装”得比域内直连路由还优。4.4 过滤与打tag重分布的安全阀除了防环过滤还能控制重分布的范围。比如我只想把RIP域内的某几个网段重分布进OSPF其他网段一概不让进就可以用prefix-list配合route-map实现ip prefix-list RIP_LAN seq 5 permit 10.0.0.0/8 le 32 ! route-map FROM_RIP_TO_OSPF permit 10 match ip address prefix-list RIP_LAN set tag 100 ! router ospf 1 redistribute rip subnets metric 10 route-map FROM_RIP_TO_OSPF这样配置后只有符合prefix-list条件的RIP路由才会被重分布进OSPF其他路由即使RIP学到了也不会进入OSPF域。这在真实网络中非常实用——你往往只希望某些业务网段被其他协议域访问而不是把整个路由表全部倒腾过去。4.5 常见问题速查表现象可能原因排查命令解决方案对端协议域学不到重分布路由忘记配置种子度量值show ip protocols配置metric参数OSPF学到重分布路由但都是主类路由缺少subnets关键字show ip route ospf加上subnets关键字路由在RIP和OSPF间反复振荡路由回馈show ip route 查重复路由路由标记route-map过滤数据包绕远路到达目标重分布导致AD不一致show ip route 对比AD值调整重分布AD或精确过滤EIGRP重分布路由不通缺少部分种子度量参数show ip eigrp topology补全五个种子度量参数只有边界路由器学到路由下游学不到重分布方向配反show ip protocols检查redistribute方向以上排查思路不仅适用于实验环境在现网中遇到多协议互通问题时同样有效。每次排查先从show ip protocols确认配置是否生效再逐跳查看路由表最后用traceroute验证真实转发路径三步走基本能定位90%的重分布问题。我在实际项目中做过一次公司两部门网络融合一边是OSPF一边是RIP拓扑比实验里复杂得多中间还夹了三层交换机。当时就是因为没做回馈过滤上线后核心交换机路由表不断刷新CPU飙到80%多。后来就是按上面这套“打tag双向route-map过滤”的思路解决的。所以别嫌实验简单把实验里的问题折腾明白了现网翻车概率会小很多。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。