
做HCIP数通方向的人几乎没有绕开过重发布这个考点。题库里相关题目翻来覆去考面试时也经常被追问“双点双向重发布为什么会产生环路”“外部路由类型怎么影响选路”。可一旦进实验环境很多人会发现一个尴尬的事实看着都会一配就废。import-route命令就那几行但配完之后路由表里出现一堆莫名其妙的路径甚至RIP区域直接学不到OSPF路由才是常态。我最初练这个实验时也踩了不少坑尤其是在双点双向场景里被路由回灌、次优路径和外部LSA爆炸折磨过好几轮。所以这篇就把整个HCIP重发布实验练习从头到尾拆一遍包含拓扑规划、基础配置、三种递进场景、防环策略和常见问题排查。内容适合正在备考HCIP的考生也适合刚入行的网络工程师照着复现把重发布这个知识点真正落地。1. 重发布实验怎么规划拓扑设计与环境准备1.1 实验环境与整体目标做重发布实验我推荐用eNSP模拟器选AR2220或者AR3260都行路由器的型号不影响本实验核心逻辑。当然手头有真机或者用的是其他厂商模拟器只要支持OSPF、RIP和路由策略也能复现同样的思路。实验环境尽量简单但场景必须足够典型。我见过不少人练重发布就是两台路由器一台跑RIP一台跑OSPF配完import-route就结束了。这种做法能验证命令会不会敲但完全没触及重发布最核心的难点多协议边界上的选路控制、环路防护和路由回灌。所以我把实验目标定成三个层面跑通基础单点重发布掌握OSPF与RIP、静态路由之间互相引入的基本命令。构建双点双向重发布场景复现回灌、次优路径和外部路由冗余问题。用路由策略、tag打标和过滤工具解决上述问题并理解每种方案的使用边界。这三个目标对齐HCIP数通考试中重发布相关考点也对应真实项目里最常见的多协议网络合并场景。后面所有配置、验证和排错都围绕这三层展开。1.2 拓扑与地址规划拓扑采用经典的菱形结构四台路由器组成两个协议域左侧R1和中间两台路由器R2、R3跑RIP右侧R4和R2、R3跑OSPFR2和R3同时运行两种协议承担ASBR角色。这个结构的好处是能很自然地构造双点双向重发布复现各类经典故障。设备接口地址对端运行协议R1GigabitEthernet0/0/0172.16.12.1/24R2-G0/0/0RIPR1GigabitEthernet0/0/1172.16.13.1/24R3-G0/0/0RIPR1Loopback010.1.1.1/32-RIPR1Loopback1192.168.1.1/24-RIPR2GigabitEthernet0/0/0172.16.12.2/24R1-G0/0/0RIPR2GigabitEthernet0/0/1172.16.24.2/24R4-G0/0/0OSPFR2Loopback210.2.2.2/32-OSPFR3GigabitEthernet0/0/0172.16.13.3/24R1-G0/0/0RIPR3GigabitEthernet0/0/1172.16.34.3/24R4-G0/0/1OSPFR3Loopback310.3.3.3/32-OSPFR4GigabitEthernet0/0/0172.16.24.4/24R2-G0/0/1OSPFR4GigabitEthernet0/0/1172.16.34.4/24R3-G0/0/1OSPFR4Loopback010.4.4.4/32-OSPF注意一个细节R2和R3的Loopback地址同时也作为OSPF Router ID使用分别是2.2.2.2和3.3.3.3R4的Loopback0对应Router ID 4.4.4.4R1用1.1.1.1。这样的地址规划方便后面排查路由来源至少一眼能看出是哪台设备通告的。OSPF域全部放在Area 0不额外划分区域避免ABR概念干扰重发布的排查。RIP统一使用RIP-2原因后面讲tag方案时会提到。1.3 各协议基础配置先把所有接口IP和Loopback配置好再跑通各协议不要一上来就写import-route。基础配置部分没什么难度但有一个坑值得说RIP的network命令用的是自然网段不是通配符反掩码所以172.16.x.x这些接口统一通告172.16.0.0即可。R1上还有一个10.1.1.1和192.168.1.0网段要通告其中10.0.0.0和192.168.1.0分开写。R1的基础配置如下sysname R1 interface GigabitEthernet0/0/0 ip address 172.16.12.1 255.255.255.0 interface GigabitEthernet0/0/1 ip address 172.16.13.1 255.255.255.0 interface Loopback0 ip address 10.1.1.1 255.255.255.255 interface Loopback1 ip address 192.168.1.1 255.255.255.0 rip 1 version 2 network 172.16.0.0 network 10.0.0.0 network 192.168.1.0R2的基础配置关键点在于同时启用RIP和OSPF两个协议都只宣告各自对应接口sysname R2 interface GigabitEthernet0/0/0 ip address 172.16.12.2 255.255.255.0 interface GigabitEthernet0/0/1 ip address 172.16.24.2 255.255.255.0 interface Loopback2 ip address 10.2.2.2 255.255.255.255 rip 1 version 2 network 172.16.0.0 ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 172.16.24.0 0.0.0.255 network 10.2.2.2 0.0.0.0R3的配置与R2对称RIP侧宣告172.16.13.0所在网段OSPF侧宣告172.16.34.0和Loopback3sysname R3 interface GigabitEthernet0/0/0 ip address 172.16.13.3 255.255.255.0 interface GigabitEthernet0/0/1 ip address 172.16.34.3 255.255.255.0 interface Loopback3 ip address 10.3.3.3 255.255.255.255 rip 1 version 2 network 172.16.0.0 ospf 1 router-id 3.3.3.3 area 0.0.0.0 network 172.16.34.0 0.0.0.255 network 10.3.3.3 0.0.0.0R4只跑OSPF宣告两条互联网段和Loopback0sysname R4 interface GigabitEthernet0/0/0 ip address 172.16.24.4 255.255.255.0 interface GigabitEthernet0/0/1 ip address 172.16.34.4 255.255.255.0 interface Loopback0 ip address 10.4.4.4 255.255.255.255 ospf 1 router-id 4.4.4.4 area 0.0.0.0 network 172.16.24.0 0.0.0.255 network 172.16.34.0 0.0.0.255 network 10.4.4.4 0.0.0.0配置完成后先做一轮接口连通性验证确保所有直连网段互通。RIP域内R1到R2、R3都能ping通OSPF域内R2、R3、R4两两互通。这时候R4的路由表里应该只有172.16.24.0、172.16.34.0、10.2.2.2、10.3.3.3和10.4.4.4等OSPF域内路由R1的路由表里只有RIP学到的172.16.13.0和自身直连网段。确认基础环境干净再开始动重发布。2. 重发布配置实操三种典型场景由浅入深2.1 场景一静态路由引入OSPF场景一先从最简单、最不容易出错的静态引入开始。在R2上手工配置一条指向R1业务网段192.168.1.0/24的静态路由下一跳用R1的互联地址172.16.12.1。虽然R2通过RIP也能学到这个网段但静态路由优先级60低于RIP的100R2会优选静态路由。然后把这个静态路由引入OSPF模拟“把某个外部网段以受控方式发布进OSPF域”的场景。R2: ip route-static 192.168.1.0 24 172.16.12.1 ospf 1 import-route static在OSPF中import-route static会把静态路由以Type 5 LSAAS-External-LSA的形式发布到整个OSPF域默认外部路由类型为Type 2开销值cost默认为1。此时在R4上查看OSPF外部路由display ospf lsdb ase能看到一条来自2.2.2.2的192.168.1.0/24外部LSAAdvRouter是2.2.2.2。再看R4的路由表display ip routing-table protocol ospf会出现O_ASE条目指向192.168.1.0/24下一跳为172.16.24.2到达路径经由R2。这个场景虽然简单但能让你看清楚重发布的两个核心要素谁在引入、以什么类型和度量引入。后面所有复杂场景都在此基础上叠加。2.2 场景二RIP与OSPF单向互引场景二在R2上做RIP与OSPF的双向重发布先把“两个域的路由互相可见”跑通。R2上的配置如下R2: rip 1 import-route ospf 1 cost 3 ospf 1 import-route rip 1在RIP视图下执行import-route ospf 1OSPF域内的所有路由会被引入RIP这里我明确指定cost 3。为什么要手工指定因为引入路由的种子度量在不同协议里默认值不同而且不同版本VRP行为可能有差异最稳妥的做法就是显式给一个合理值。RIP的度量是跳数16代表不可达设成3表示到达这些OSPF网段需要经过3跳这个值在R1看来是合理且可用的。在OSPF视图下执行import-route rip 1RIP域内的路由会以OSPF外部路由形式进入OSPF域。这里没有指定metric和type默认就是OE2cost为1。配置完成后R1和R4的路由表会发生明显变化R1通过RIP学习到10.4.4.4/32、172.16.24.0/24、172.16.34.0/24、10.2.2.2/32、10.3.3.3/32等OSPF域路由下一跳指向172.16.12.2跳数为3。R4通过OSPF学习到10.1.1.1/32、192.168.1.0/24、172.16.13.0/24等RIP域路由OE2类型cost为1下一跳指向172.16.24.2。用几个关键命令验证display rip route display ip routing-table protocol rip display ospf lsdb ase display ip routing-table protocol ospf此时整个网络是通的R1可以ping通10.4.4.4R4可以ping通10.1.1.1。这个阶段不要急着往下做先理解一个问题R4到192.168.1.0/24为什么走了两条OSPF外部路由因为场景二只配置了R2做重发布R3还没有引入RIP所以R4只会看到来自R2的外部LSA。等到场景三把R3也配成双向重发布情况才会真正复杂起来。2.3 场景三双点双向重发布初体验场景三把R3也加上双向重发布形成双点双向。R3配置如下R3: rip 1 import-route ospf 1 cost 3 ospf 1 import-route rip 1两条ASBR同时引入OSPF域内马上会出现变化。在R4上再次执行display ip routing-table protocol ospf你会发现10.1.1.1/32现在有两条等价OE2路由分别指向172.16.24.2和172.16.34.3形成负载分担。RIP域内同样变了R1到10.4.4.4/32会有两条RIP路由一条来自R2一条来自R3R1会比较跳数后优选一条。如果只看路由表好像一切正常甚至还能做负载均衡。但真正的麻烦很快就来R2把OSPF路由引入RIP后R1学到了10.4.4.4R1作为RIP路由器会把这个路由再通告给R3R3本身也在把RIP引入OSPF于是这条原本来自OSPF域的外部路由又被R3重新灌回了OSPF域。这就是典型的“路由回灌”。在R3上执行display ospf lsdb ase会看到大量外部LSA其中很多条目的AdvRouter不是2.2.2.2就是3.3.3.3但内容却是OSPF域内部前缀的重发布版本。外部LSA数量变多只是开始如果不处理后续还会出现次优路径和收敛震荡。这一阶段正是HCIP考试里最爱深挖的地方也是实验练习的核心价值所在。3. 双点双向的环与坑防环机制与策略配置3.1 双点双向为什么一定会出问题双点双向重发布必然产生回灌原因是两个协议域在R2和R3两个边界点形成了交叉。以OSPF域路由回灌RIP域为例R2把10.4.4.4从OSPF引入RIP后R1学到这条路由RIP域内会继续传递R3同时运行RIP也能从R1学到这条“OSPF来源”的RIP路由。而R3又在执行RIP向OSPF的重发布于是这条路由又被放回OSPF域。虽然OSPF域内本来就有10.4.4.4的内部路由外部LSA的优先级和内部路由不同不会立刻导致数据黑洞但会带来三个实际危害外部LSA大量冗余LSDB膨胀OSPF收敛变慢。R4去往某些网段可能选择经过RIP域的外部路径形成次优路径。在更复杂的多前缀场景下路由策略不当会形成真正的环路和数据包来回绕。防环的核心思路不是靠协议自身而是靠边界设备上的路由策略。最常见的两种手段一种是用tag给路由打标记在边界上识别并拦截回灌路由另一种是用前缀列表或路由策略做精确过滤。实际项目中两种方案经常结合使用实验里建议都练一遍。3.2 用tag打标防止路由回灌tag方案是我在项目里最常用的防环手段。思路一句话总结在把OSPF路由引入RIP时给这些路由打上tag 100之后在做RIP向OSPF的重发布时凡是带tag 100的路由一律拒绝因为这些路由本质上就是OSPF自己的路由不应该再被引入回来。配置分三步。第一步在R2和R3上分别配置打tag的route-policyR2/R3: route-policy SET_TAG100 permit node 10 apply tag 100第二步在RIP进程引入OSPF时调用这个策略R2/R3: rip 1 import-route ospf 1 cost 3 route-policy SET_TAG100注意这里把之前直接写的cost 3挪到了route-policy前面命令写法略有变化但语义一致。使用RIP-2的原因就在这一步体现出来RIP-2报文头部自带Route Tag字段tag可以在RIP域内正常传递。R2把带tag 100的路由通告给R1R1再通告给R3时tag值不会丢失R3才能正确识别。第三步配置拒绝tag 100的route-policy并在OSPF引入RIP时调用R2/R3: route-policy DENY_TAG100 deny node 10 if-match tag 100 route-policy DENY_TAG100 permit node 20 ospf 1 import-route rip 1 route-policy DENY_TAG100这个DENY_TAG100策略先拒绝所有tag为100的路由剩下的路由放行。这样一来R3从RIP域收到的“回灌OSPF路由”因为带着tag 100在R3做RIP向OSPF重发布时被拦截无法再次进入OSPF域。R2侧同样被拦环路自然断掉。说一个实操细节route-policy的deny node后面一定要跟一个permit node否则默认隐含拒绝所有路由RIP向OSPF的路由引入会全部失效。我见过不少人只写了deny节点导致引入的路由一条都没有排查半天才发现问题。3.3 用filter-policy做精确过滤tag方案适合识别“某种来源”的路由但有些场景下只需要按前缀过滤。比如双点双向重发布时希望只在R2上引入RIP域的一个特定网段而R3完全不引入RIP路由就可以用前缀列表加filter-policy实现。构造一个场景R3不再做RIP向OSPF的重发布只保留R2引入RIP域路由同时R2、R3都做OSPF向RIP的重发布。这种“单点引入、双点引出”的架构在项目中非常常见可以避免OSPF域内出现多条等价外部路由的冗余。R3上把OSPF视图下的import-route rip删除然后配置R3: ip ip-prefix ALLOW_RIP index 10 permit 192.168.1.0 24 ospf 1 filter-policy ip-prefix ALLOW_RIP import这里filter-policy在OSPF进程视图下执行作用是过滤进入OSPF路由表的外部路由只有匹配ALLOW_RIP前缀列表的才会被安装进路由表。不过要注意filter-policy import只影响本机路由表的计算结果不影响LSA的泛洪。也就是说R4的LSDB里可能仍然存在来自R3的RIP外部LSA但R4不会安装到路由表。这个区别在实际排错时非常重要。很多人以为filter-policy能彻底阻止路由进入协议域实际上它只作用于本地路由表LSA的扩散并不会被阻止。如果需求是彻底不让R3通告RIP路由应该用route-policy结合import-route或者直接在R3上删除RIP向OSPF的重发布配置。3.4 外部路由类型与选路优化OSPF引入外部路由时有Type 1和Type 2两种类型默认是Type 2。很多人对这两者的区别背得很熟但没在实验里体会过选路差异考试遇到变体题就容易懵。Type 2OE2的开销只计算ASBR到ASBR通告的外部路由开销不计算内部路径开销。比如R2和R3都把RIP域路由以OE2引入cost都是1那么不管R4到R2和R4到R3的内部cost是多少这两条外部路由对R4来说是等价的会一起放进路由表做负载分担。Type 1OE1的开销等于ASBR通告的外部开销加上本设备到ASBR的内部开销。把R2上的引入改成OE1并指定较大costR2: ospf 1 import-route rip 1 type 1 cost 50此时R4比较到达R2和R3的总cost到R2的cost是50加内部链路开销到R3的cost是默认的外部开销1加内部链路开销。内部链路开销通常较小R4大概率会优选R3的路径。在实验里可以通过display ip routing-table 10.1.1.1 verbose看到路由的priority和cost变化。这个练习能直观看到OE1与OE2的选路逻辑差异。实际项目中如果ASBR有多台且各自链路带宽不均衡建议优先考虑OE1让外部路由的开销反映真实的网络路径质量。4. 常见问题与排查技巧实录4.1 RIP重发布后路由不可达或学不到重发布实验里最常见的问题就是RIP域学不到OSPF路由或者学到的路由不可达。原因主要有三个。第一个是import-route ospf没有配置。看起来像废话但实际运维中经常有人在RIP进程视图敲错了层级命令进了系统视图配置没生效还反复重启协议。配置完一定用display current-configuration查看一下确认import-route在正确的协议进程下面。第二个是种子度量值设置不合理。RIP的度量是跳数16代表不可达。实验中如果图省事把cost设成16RIP路由器学到这条路由后直接认为是不可达路由表里不会安装。我见过有人想表达“这条路由不应该用”就设了16结果全网丢路由。正确做法是设一个可达且能反映真实路径的跳数比如3。第三个是RIP版本问题。如果环境里RIP-1和RIP-2混跑RIP-1不支持VLSM和tag等扩展字段可能导致部分路由学习异常。建议全组网统一使用RIP-2实验配置里也专门用version 2固定版本。排查时用display rip route看RIP进程学习到的路由再用display rip 1 database查看RIP数据库内容。如果RIP数据库里有路由但路由表里没有重点检查filter-policy和路由优先级。4.2 外部路由负载均衡与次优路径双点双向重发布后R4到RIP域路由出现两条等价OE2是正常现象但有时候你希望它优选某一条路径这时候就要学会干预选路。常见的干预手段有四种修改外部路由cost让某一侧引入的外部开销更大或更小。将OE2改为OE1使内部路径开销参与选路。使用route-policy配合import-route只在一侧引入部分路由。调整路由优先级preference比如修改RIP学到的OSPF外部路由的优先级避免RIP域内的路径优先于OSPF域内路径。次优路径的现象比较隐蔽。举例来说R1要访问10.4.4.4它同时有两条RIP路由一条来自R2跳数3一条来自R3跳数也是3。R1可能负载均衡但其中一条路径要在R2、R3之间绕一圈才到R4实际传输效率很低。通过tracert可以看清数据包的真实走向tracert 10.4.4.4如果路径明显绕路就需要用路由策略收敛路由表或者调整引入时的cost控制选路。4.3 路由表与数据面不一致有时候display ip routing-table看到的路径很合理但实际ping不通这是最让人头痛的一类问题。原因通常出在几个容易被忽略的地方。第一个是环回接口掩码。如果环回接口配置时用了默认掩码比如loopback 1配置成10.4.4.1没有手工指定255.255.255.255OSPF或RIP通告出去的可能是10.0.0.0/8这种大网段导致路由覆盖范围和预期完全不符。第二个是黑洞路由或静态路由指向了Null0路由表有条目但数据面直接丢弃。第三个是出接口的ACL或防火墙策略拦截实验里不常见但遇到也容易卡住。遇到这种情况先看display fib和display ip routing-table verbose确认路由对应的出接口和下一跳是否可达再用带源地址的ping测试比如在R4上ping -a 10.4.4.4 10.1.1.1排除源地址选择的问题。4.4 重发布排查经验速查表整理一份实验和项目里通用的排查速查表按现象、可能原因、命令顺序排查现象可能原因排查命令RIP域学不到OSPF路由import-route未配置或metric为16display rip route、display current-configurationOSPF域外部路由过多双点重发布回灌display ospf lsdb ase、检查tag策略路由表出现等价外部路由多ASBR引入且OE2 cost相同display ip routing-table protocol ospf、修改OE1数据不通但路由表正常出接口不可达、掩码错误、ACL拦截display fib、tracert、ping -a配置route-policy后路由丢失deny节点后缺permit放行节点display route-policy、display current-configurationfilter-policy不生效只过滤本机路由表LSA仍在传播display ospf lsdb、display ospf routing这些坑我基本都踩过尤其是route-policy的deny后漏写permit以及filter-policy只影响本地路由表这两点在实验里很容易让人怀疑人生。5. 实验后的复盘心得重发布实验练到这一步命令已经不重要了真正重要的是脑子里建立一套“协议边界思维”。每次做重发布之前先问自己三个问题哪些设备处在协议边界上路由从哪个方向来、要往哪个方向去回灌路径在哪里、用什么策略切断我在实际项目里见过不少重发布引发的故障最后定位下来都是这三个问题没想清楚。RIP域和OSPF域合并静态路由和动态路由互相引入只要边界设计合理、防环策略到位重发布并没有传说中那么可怕。反过来边界设计混乱哪怕命令敲得再熟练早晚要出事。最后分享一个练实验的小技巧每次做路由策略调整之后不要急着看最终结果先把display ospf lsdb ase、display rip route、display ip routing-table这三条命令的结果截图或记录下来对比调整前后的变化。重发布排错最重要的能力就是观察路由从哪来到哪去这个习惯练好了比背一百条命令都管用。