本文说明了在RIP和OSPF之间或者在IGRP和EIGRP之间再分布路由的二个常见问题。如果一些路由在同一个主要网络,但是掩码与特定接口不同,RIP和IGRP不会从该特定接口通告这些路由。欲知关于RIP和IGRP更新的更多信息,参见发送和接收更新时的RIP和IGRP行为。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您是在真实网络上操作,请确保您在使用任何命令前已经了解其潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
在此问题的网络图中,路由器GW-2在RIP和OSPF之间再分布。OSPF域与RIP域具有不同的掩码(本例中更长),并且它们位于同一主网中。所以, RIP不会通告从OSPF获知的路由并重新分配到RIP。
OSPF域的子网掩码很难更改,因此,请在路由器GW-2中添加一条静态路由,该路由指向掩码为255.255.255.0的OSPF域,但下一跳为null0。然后,将静态路由重分发到RIP。完成此任务的配置如下:
ip route 128.103.35.0 255.255.255.0 null0 router rip redistribute static default metric 1
这允许通过RIP从路由器GW-2的E2/0接口通告128.103.35.0。但是,路由器GW-2的路由表中仍然包含从OSPF获知的更具体的路由,因此会做出最佳路由决策。
在此问题的网络图中,RIP域的掩码为255.255.255.248,而OSPF域的掩码为255.255.255.240。RIP不会通告从OSPF获知的路由并重新分发到RIP。
我们可以在路由器GW-2中添加一条指向OSPF域的静态路由,其掩码为255.255.255.248。但是,由于这是比原始OSPF掩码更具体的掩码,因此下一跳必须是实际的下一跳或接口。 并且,为了在OSPF域中包括所有地址,我们需要多个静态路由。这样,静态路由将重分发到RIP。
在下面的代码中,前面二个静态路由包括OSPF域中的区域128.103.35.32 255.255.255.240。第二个两个静态路由在OSPF域中覆盖范围128.103.35.16 255.255.255.240。并且最后四条静态路由将覆盖128.130.35.64 255.255.255.240范围,可以通过OSPF域中的两个接口了解这种情况。
ip route 128.103.35.32 255.255.255.248 E0/0 ip route 128.103.35.40 255.255.255.248 E0/0 ip route 128.103.35.16 255.255.255.248 E1/0 ip route 128.103.35.24 255.255.255.248 E1/0 ip route 128.103.35.64 255.255.255.248 128.103.35.34 ip route 128.103.35.64 255.255.255.248 128.103.35.18 ip route 128.103.35.72 255.255.255.248 128.103.35.34 ip route 128.103.35.72 255.255.255.248 128.103.35.18 router rip redistribute static default metric 1
在本文中呈献的解决方案,对于当您使用EIGRP而不是OSPF,IGRP而不是RIP的情况也是适用的。如果两份协议掩码是相同的,或者如果您使用的所有协议都支持Variable Length Subnet Mask (VLSM),此问题不应该发生。 此修正只被考虑用来弥补RIP和IGRP (VLSM) 限制的补丁程序。欲知关于RIP和IGRP VLSM限制的更多信息,参见为什么RIP和IGRP技术不支持VLSM?。