- 技术背景
- 实施要点
- 路由优先级问题
- 路由倒灌
- 路由重发布的配置
- OSPF与RIP的互重发布
- 重发布直连路由到OSPF
- 重发布静态路由到OSPF
技术背景
在同一个网络拓扑结构中,如果存在两种不同的路由协议,由于不同的路由协议的工作机制各有不同,对路由的理解也不相同,这就在网络中造成了路由信息的隔离,然而由于这很有可能是同一个自治系统内的网络,全网需要互通,这时候咋办?例如一个网络包含两个片区,每个片区使用自己的动态路由协议,如果要实现两个片区的网络互通,就需要在两者之间打通路由,但是这两种动态路由协议毕竟是不同的协议,路由信息是完全隔离的,如何实现交互?这就需要使用路由重发布(也被称为路由引入,route-importation)了。
我们看上图,R1与R2之间,运行RIP(路由协议)来交互路由信息,R2通过RIP学习到了R1通告的192.168.1.0/24及2.0/24的路由。同时R2与R3又建立了OSPF邻接关系,因此R2也从R3那通过OSPF学习到了两条路由:3.0及4.0/24,也装载进了路由表。那么对于R2而言,它自己就有了去往全网的路由,但是R2不会将从RIP学习过来的路由告诉R3,也不会将从OSPF学习来的路由告诉R1。对于R2而言,虽然它自己的路由表里有完整的路由信息,但是,就好像冥冥之中,R和O的条目之间有道鸿沟,无法逾越。而R2就也就成了RIP及OSPF域的分界点。那么如何能够让R1学习到来自OSPF的路由、让R3学习到来自RIP的路由呢?关键点在于R2上,通过在R2上部署路由重发布,可以实现路由信息在不同路由选择域间的传递。
上图是初始状态。R2分别从RIP及OSPF都学习到了相应的路由。但是在默认情况下,通过这两个路由协议所学习到的路由是互相隔离的,R2不会自动地将OSPF路由“翻译”成RIP,反之亦然。那么此时,R1自然是无法访问到R3这一侧的网络的,R3也是一样。
上图中,我们开始在R2上执行重发布的动作,我们将OSPF的路由“注入”了RIP进程之中,如此一来,R2就会将3.0/24及4.0/24这两条OSPF路由“翻译”成RIP,然后传递给R1,R1也就能够学习到3.0和4.0路由了。注意重发布的执行地点,是在R2上,也就是在路由域的分界点上执行,另外,路由重发布是有方向的,我们执行完上述相关动作后,R3仍然是没有RIP域内的那些路由的,需进一步在R2上,将RIP路由重发布进OSPF,才能让R3学习到1.0/24及2.0/24路由。
当然我有很多整理好的资料文档和视频文件,【点这里】 获得更多资料文档 往期教学视频,主要也是想给新手小白少走点弯路。
实施要点
部署路由重发布的过程需要谨慎,尤其在一些复杂的网络环境中部署重发布时,更加应该考虑周祥。下面针对执行重发布的过程中需要关注的几个问题进行介绍。
路由优先级问题
路由优先级问题,是在部署重发布过程中需要关注的问题之一,尤其是在双点双向路由重发布的场景中,这种场景中两个ASBR(AS边界路由器)上会同时部署双向的路由重发布,这是一个非常值得关注的模型。
在上图所示的网络环境中,存在两个路由域:BGP及OSPF。R1上有一条直连路由1.1.1.1/32被network进BGP并传递给了R2及R3,那么此刻R2及R3的路由表中是有到达1.1.1.1/32的IBGP路由的。接下去R2部署了IBGP到OSPF的路由重发布,1.1.1./32的路由被引入了OSPF,形成外部路由条目并传递给了R3。现在R3同时从OSPF及IBGP学习到1.1.1./32路由,OSPF外部路由的优先级是150,而IBGP路由优先级为255,因此OSPF的外部路由要优于IBGP路由,如此一来R3会把OSPF路由1.1.1.1/32装载进路由表,该路由的下一跳为R4,这时R3就出现了“次优路径问题”,其访问1.1.1.1/32的流量走向是R4-R2-R1——绕了远路了。
造成这个现象的原因是路由协议的优先级在这里影响了R3的路由优选,为了规避这个现象,我们可以在R3上使用相关命令来调节1.1.1.1/32路由的优先级,使得R3优选来自IBGP的路由。
路由倒灌
还是上面的环境,刚才我们已经分析过了,如果不做任何干预,R3是会存在次优路径问题的,因为R3会优选到达1.1.1.1/32的OSPF路由,而不是IBGP路由。而如果R3又部署了OSPF到BGP的路由重发布,那么1.1.1.1/32路由又会被R3给倒灌回BGP,这就存在一个引发路由环路的隐患。
规避方法在上一个小节中已经探讨了一些。因此,双点双向重发布在部署起来的时候,需要格外小心。
路由重发布的配置
不同协议之间的路由重发布的配置大同小异,我们先看一下从其他路由协议注入路由到OSPF的配置:
[R2] ospf 1 [R2-ospf-1] import-route ? bgp Border Gateway Protocol (BGP) routes direct Connected routes isis Intermediate System to Intermediate System (IS-IS) routes limit Limit the number of routes imported into OSPF ospf Open Shortest Path First (OSPF) routes rip Routing Information Protocol (RIP) routes static Static routes unr User Network Routes
在一台设备上,将其路由表中通过A路由协议学习到的路由重发布到B路由协议中,是在该设备的B路由协议的配置视图下完成相关配置的。
OSPF与RIP的互重发布
在上图中,R1与R2运行着RIP,R2与R3则建立了OSPF邻接关系,我们最终要实现的目标是让全网能够互通。首先R2已经通过OSPF及RIP学习到了1.1.1.0/24及3.3.3.0/24路由,它已经同时拥有了OSPF及RIP路由域内的路由。但是默认情况下,它是不会将OSPF路由注入RIP域的,反之亦然。那么现在我们就要在R2上做路由重发布了。
首先是将OSPF路由注入RIP:
注意,上面只是给出了关键配置。完成这一步动作之后,R1的路由表就发生了变化,由于R2部署了从OSPF到RIP的路由重发布,因此它会将其路由表中的所有OSPF路由(3.3.3.0/24)以及本地直连的OSPF接口路由(192.168.23.0/24)都注入RIP,从而R1便能够通过RIP学习到192.168.23.0/24及3.3.3.0/24路由。
接着是将RIP路由注入到OSPF:
完成上述配置后,R3即可学习到RIP域中的路由192.168.12.0/24以及1.1.1.0/24。如此一来,全网的路由就互通了。因此要注意,将路由协议A注入到路由协议B,是在路由协议B的配置视图中完成相应的import-route配置。并且,路由重发布是单向的。
重发布直连路由到OSPF
常规情况下,要将一条直连路由通告给路由域,就必须network相应的直连接口。如果没有使用network命令在路由进程中激活相应的接口,则对于该路由域而言,这个接口所关联的网段就是外部网络。
另一种将到达直连网络的路由引入路由域的方式是使用路由重发布的方式,将直连路由注入,例如上图中
R3的初始配置如下: [R3] ospf 1 router-id 3.3.3.3 [R3-ospf-1] area 0 [R3-ospf-1-area-0.0.0.0] network 192.168.23.3 0.0.0.0
它并没有配置network 33.33.33.0 0.0.0.255,那么R1、R2是无法从OSPF学习到33.33.33.0/24路由的,因为R3的Loopback1接口并未激活OSPF。我们可以使用如下方式来将直连路由注入OSPF(下面只是粘贴了关键配置,省略了其他配置):
[R3] ospf 1 [R3-ospf-1] import-route direct # 如果不指定cost,则路由重发布进OSPF后cost=1,type为E2,可以在命令中增加cost及type关键字修改cost和外部路由metric-type
在OSPF配置视图中使用Import-route direct命令,会将路由器上所有的直连接口路由都注入OSPF。因此当R3执行上述命令时,其路由表中的直连路由192.168.23.0/24以及33.33.33.0/24都会被注入OSPF——以外部路由的形式。当然,如果此时Loopback1接口失效,那么该接口的直连路由重发布也就会被撤销。
重新发布静态路由到OSPF
在上图中,R1直连着网络11.11.11.0/24,R1不支持动态路由协议,R2配置了去往11.11.11.0/24的静态路由,且下一跳为R1。R2与R3建立OSPF邻接关系。现在对于整个OSPF域而言,它们是感知不到11.11.11.0/24网段的存在的,因为对于OSPF而言,R2所配置的静态路由是一条域外的路由。为了让OSPF内的路由器能够通过OSPF学习到11.11.11.0/24路由,我们需要在R2上部署路由重发布,将静态路由重发布到OSPF:
[R2] ip route-static 11.11.11.0 24 192.168.12.1 [R2] ospf 1 [R2-ospf-1] import-route static [R2-ospf-1] area 0 [R2-ospf-1-area-0.0.0.0] network 192.168.23.2 0.0.0.0
在OSPF配置视图下使用import-route static命令后,R2会将其路由表中所有的静态路由都会重发布到OSPF。如此一来,R3便能够通过OSPF学习到11.11.11.0/24路由。
当然我有很多整理好的资料文档和视频文件,【点这里】 获得更多资料文档 往期教学视频,主要也是想给新手小白少走点弯路。