【ENSP模拟器】RIP(HCNP)——RIPv2的配置及实现

目录

案例1:RIPv2基础配置

R1的配置:

R2的配置:

R3的配置:

PC1的配置:

PC2的配置:

案例2:Silent-Interface

R1的配置如下:

R2的配置如下:

案例3:RIP路由手工汇总

GS_R1的配置如下:

Core的配置如下:

GS_R2的配置如下:

 GS_R1学习到的RIP路由如下:

Core学习到的RIP路由如下:

GS_R2学习到的RIP路由如下:

案例4:RIP报文认证

R1的配置如下:

R2的配置如下:

案例5:配置接口的附加度量值

​R1的配置:

R2的配置:

R3的配置:

R4的配置:

R5的配置:

案例6:配置RIP发布默认路由

OR的配置:

Core1的配置:

Core2的配置:

Core3的配置:

R5的配置:

OR的关键配置如下:

案例7:RIP路由标记

R1的配置:

R2的配置:

R3的配置:

R4的配置:

R6的配置:

R7的配置:

R8的配置:

AR2的配置:


案例1:RIPv2基础配置

如图所示的网络中,我们将在每台路由器上部署RIPv2,使得网络中各个网段之间可以能够实现相互通信。

R1的配置:

#
sysname R1
#
interface GigabitEthernet0/0/1
 ip address 192.168.1.2 255.255.255.252
#
interface GigabitEthernet0/0/2
 ip address 192.168.1.5 255.255.255.252
#
rip 1
 version 2
 network 192.168.1.0

在上述配置中,rip命令用于创建一个RIP路由进程,而该命令后的数字1则为该 RIP进程的进程ID (Process-ID), Process-ID如果不手工指定,则系统会自动为该进程分配一个Process-ID用于在设备上标识RIP进程,如果一台设备同时运行多个RIP进程,则每个进程需使用本地唯一的Process-ID以便区分。同一台设备上所运行的不同RIP进程相互独立,设备在一个RIP进程内学习到的路由缺省不会自动注入另一个RIP进程。

在RIP配置视图下执行的version 2命令用于指定该进程所运行的RIP版本为RIPv2。Network命令用于在指定网段的接口上激活RIP。值得注意的是,network命令所指定的必须是主类网络地址,而不能是子网地址。例如network 192.168.1.0这条命令,将使得R1在GE0/0/1接口上激活RIPv2,而network 172.16.0.0命令则使得R1在GE0/0/2接口上激活RIPv2。当然,如果您使用network 172.16.1.0命令试图在R1的GE0/0/2口上激活RIPv2,那么系统将会报错,因为172.16.1.0是一个子网地址,而不是主类网络地址。

R2的配置:

#
sysname R2
#
interface GigabitEthernet0/0/1
 ip address 192.168.1.1 255.255.255.252
#
interface GigabitEthernet0/0/2
 ip address 172.16.1.254 255.255.255.0
#
rip 1
 version 2
 network 172.16.0.0
 network 192.168.1.0

 在R2的配置中,netw。rk192.168.1.0命令将在其GE0/0/1及GE0/0/2接口上都激活RIPv2。

R3的配置:

#
sysname R3
#
interface GigabitEthernet0/0/1
 ip address 192.168.1.6 255.255.255.252
#
interface GigabitEthernet0/0/2
 ip address 172.16.31.254 255.255.255.0
#
rip 1
 version 2
 network 192.168.1.0
 network 172.16.0.0

完成上述配置后,R1、R2及R3便会开始在相关接口上发送Request及Response报文,并进行路由的学习。

使用display rip1 interface命令,可以查看本设备有哪些接口激活了RIP,以R1为例:

display rip 1 interface 

 

从以上输出可以看出,R1的GE0/0/1及GE0/0/2接口都在RIP进程1中被激活了。路由器将通过RIP发现的路由都存储在RIP数据库中,使用disp1ay rip 1 database命令可以查看RIP进程1的数据库,以R1为例:

disp1ay rip 1 database

 

从上述输出可以看出,R1发现了直连网段172.16.1.0/24及192.168.1.0/30,由于这两个网段是本地接口直连,因此它们的度量值都为0。另外,R1还通过RIP学习到路由172.16.31.0/24及192.168.1.4/30,这两条路由的度量值分别是2跳及1跳。

现在,三台路由器都己经知晓了到达网络中各个网段的路由,R1学习到的RIP路由如下:

R2学习到的RIP路由如下:

R3学习到的RIP路由如下:

PC1的配置:

PC2的配置:

案例2:Silent-Interface

在图所示的网络中,R1及R2运行RIPv2,为了使得R2能够通过RIP学习到去往192.168.1.0/24的路由,我们需要在R1的GE0/0/1接口上激活RIPv2,但是,GE0/0/1接口一旦激活RIPv2,R1便会周期性地从该接口发送Response报文,然而其直连的网段中并不存在其他的RIP路由器,因此这些RIP报文实际上造成了该网段内PC的额外负担。解决这个问题的办法非常简单,就是将R1的GE0/0/1接口配置为Silent-Interface。

R1的配置如下:

#
sysname R1
#
interface GigabitEthernet0/0/1
 ip address 192.168.1.1 255.255.255.0
#
interface GigabitEthernet0/0/2
 ip address 192.168.12.1 255.255.255.0
#
rip 1
 version 2
 network 192.168.1.0
 network 192.168.12.0
 silent-interface GigabitEthernet0/0/1

在R1的配置中,silent-interface GigabitEthernet0/0/1命令用于将GE0/0/1接口配置为Silent-Interfice。如此一来,R1将不会再从该接口发送Response报文。

R2的配置如下:

#
sysname R2
#
rip 1
 version 2
 network 192.168.12.0
#
interface GigabitEthernet0/0/2
 ip address 192.168.12.2 255.255.255.0

 完成上述配置后,首先在R1上查看一下RIP进程1的全局信息:

在以上输出的信息中,您可以看到,GE0/0/1接口已经被配置为Si1ent-Inte西ce。值得注意的是,虽然R1的GE0/0/1接口被配置为Silent-Interface,但是该接口由于已经激活了RIPv2,因此R1从GE0/0/2接口发送的Resp。nse报文会携带到达192.168.1.0/24的路由信息,因此R2也就能够学习到去往该网段的路由了。

R2的路由表中,RIP路由信息如下:

案例3:RIP路由手工汇总

在如图中,GS_R1及GS_R2为两台汇聚层路由器,这两台路由器分别下联4个终端网段,同时还上联核心层路由器Core。为了让网络中的路由器都能够动态地学习到去往全网各个网段的路由,我们将在这三台路由器上部署RIPv2。

GS_R1的配置如下:

#
sysname GS_R1
#
interface Ethernet0/0/1
 ip address 172.16.0.1 255.255.255.0
#
interface GigabitEthernet0/0/0
 ip address 172.16.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 192.168.1.1 255.255.255.252
 undo rip split-horizon
 rip summary-address 172.16.0.0 255.255.252.0
#
interface GigabitEthernet0/0/2
 ip address 172.16.2.1 255.255.255.0
#
interface GigabitEthernet0/0/3
 ip address 172.16.3.1 255.255.255.0
#
rip 1
 version 2
 network 192.168.1.0
 network 172.16.0.0

 注意:在上述配置中,network 172.16.0.0 命令将会把R1的GE0/0/0、GE0/0/2、GE0/0/3和Ethernet0/0/1接口都激活了RIPv2,因为这4个接口使用的IP网段是172.16.0.0/16内的子网。

Core的配置如下:

#
sysname Core
#
interface GigabitEthernet0/0/1
 ip address 192.168.1.2 255.255.255.252
#
interface GigabitEthernet0/0/2
 ip address 192.168.1.5 255.255.255.252
#
rip 1
 version 2
 network 192.168.1.0

GS_R2的配置如下:

#
sysname GS_R2
#
interface Ethernet0/0/1
 ip address 172.16.4.1 255.255.255.0
#
interface GigabitEthernet0/0/0
 ip address 172.16.5.1 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 192.168.1.6 255.255.255.252
 rip summary-address 172.16.4.0 255.255.252.0
#
interface GigabitEthernet0/0/2
 ip address 172.16.6.1 255.255.255.0
#
interface GigabitEthernet0/0/3
 ip address 172.16.7.1 255.255.255.0
#
rip 1
 version 2
 network 192.168.1.0
 network 172.16.0.0

 GS_R1学习到的RIP路由如下:

Core学习到的RIP路由如下:

GS_R2学习到的RIP路由如下:

现在,所有的路由器都已经获知了到达全网各个网段的路由。实际上这三台路由器的路由表是存在可优化的空间的。令人欣慰的是,这个网络的IP编址是科学并且合理,因此可以通过部署RIP路由汇总来简化网络中的路由器的路由表。

RIPv2是支持路由自动汇总的,在RIP的配置视图下,使用summary命令即可激活RIPv2的路由自动汇总功能。以华为AR2220路由器为例,缺省已经激活了RIP路由自动汇总。可以看一下GS_R1的RIP协议信息:

display rip

可以看见Summary:Enable,那么既然已经缺省激活了路由自动汇总,为什么在完成相应的配置后,在三台路由器上依然没有看见相关的现象呢?这是因为如果接口激活了水平分割或者毒性逆转,那么自动汇总功能将不会生效。这三台路由器的接口缺省已经激活了RIP水平分割,因此在这个场景中,在这些路由器的路由表中看见的依然都是明细路由。

以GS_R1为例,其GE0/0/1接口的RIP信息如下:

display rip 1 interface GigabitEthernet 0/0/1 verbose

 

可以看见:Split-Horizon : Enabled为了使GS_R1 的RIP路由自动汇总生效,不向Core通告其直连的4个网段的明细路由,而只能通告汇总路由,可以选择关闭其GE0/0/1接口的水平分割:(进入接口关闭水平分割)

如此一来,由于GS_R1处于由于GS_R1处在172.16.0.0/16及192.168.1.0/24这两个主类网络的边界,因此当它向192.168.1.0/24网络通告172.16.0.0/16网络的子网路由时,它将通告主类网络路由172.16.0.0/16(而不会通告明细路由)——这便是RIP路由自动汇总的效果。此时Core学习到的RIP路由如下:

您可能已经发现了,原先在Core的路由表中到达GS_R1所直连的4个终端网段的明细路由现在已经消失了,取而代之的是汇总路由172.16.0.0/16,如此可见,GS_R1的路由自动汇总功能生效了。

然而将接口的RIP水平分割关闭始终是存在一定的隐患的,因为RIP的路由防环在很大程度上依赖于水平分割。因此还是将GS_R1的GE0/0/1的水平分割开启,再另想他法。

实际上,在RIP配置视图下,使用summary always命令可以使得路由器无论水平分割或毒性逆转激活与否,都执行路由自动汇总。因此,调整GS_R1的配置如下:

将GS_R2的配置也做调整:

如此一来,GS_R1及GS_R2都将执行路由自动汇总。然而在“路由汇总”,在类似场景中,如果GS_R1及GS_R2都执行路由自动汇总,那么路由将在Core上产生问题。此时Core路由表中的RIP路由如下:

由于GS_R1及GS_R2都向Core通告汇总路由172.16.0.0/16,并且这两条路由的度量值是相等的,因此Core将会把这两条RIP路由都加载到其路由表中,此时关于该目的网段,Core将在GS_R1及GS_R2这两个下一跳执行等价负载分担。如此一来,以172.16.1.0/24为例,当Core转发到达该网段的数据包时,就有可能将其发往下一跳GS_R2,从而导致报文丢失。

造成这个问题的根本原因在于,RIP自动汇总产生的路由是不精确的,汇总路由的颗粒度太大,它只能是主类网络路由。因此,针对这个场景,手工路由汇总是一个更佳的方案。实际上,正如大家所看到的,这个网络的IP编址是非常科学的,GS_R1所直连的4个终端网段:172.16.0.0/24至172.16.3.0/24是连续的子网,可以使用172.16.0.0/22将它们刚好"囊括"住。同埋,也可以使用172.16.4.0/22将GS_R2所直连的4个终端网段刚好“囊括”住。如此一来,GS_R1仅需向Core通告汇总路由172.16.0.0/22即可,而Core便可以通过这条汇总路由到达GS_R1直连的4个终端网段,同理GS_R2仅需向Core通告汇总路由172.16.4.0/22。

GS_R1的手工路由汇总配置如下:(进入接口)

GS_R2的手工路由汇总配置如下:(进入接口)

完成上述配置后,来看看Core的路由表中的RIP路由:

案例4:RIP报文认证

在图中,R1及R2连接在一台交换机上,双方的接口均配置相同网段的IP地址并运行RIPv2,开始交换RIP路由。在正常情况下,R1应该能通过RIP从R2获知到达192.168.2.0/24的路由。此时网络中出现了一个攻击者R3,R3也接入到了交换机上,其接口也配置了相同网段的IP地址,并激活RIPv2,随后R3开始向交换机泛洪Response报文。如果R3也通过RIP向网络中通告到达192.168.2.0/24的路由,那么R1的路由表势必受到影响。如果R3通告的192.168.2.0/24路由的度量值与R2所通告的该路由度量值相等,那么R1便会在这两个下一跳执行等价负载分担,当其收到去往该网段的数据包时,就有可能将它们转发到R3,从而导致业务中断。当然,如果R3通告的路由的跳数比R2的更小,那么更将刷新R1的路由表,导致业务彻底中断。

RIPv2 支持报文认证,因此,只需要在R1及R2的接口上激活RIP报文认证,即可解决上述问题。

R1的配置如下:

R2的配置如下:

 在R1R2的配置中,rip authentication-mode simp1e plain Hcnp123命令用于在路由器的接口上激活RIP报文认证,simp1e关键字表示认证的方式为简单认证,即明文认证,当使用这种认证方式时,RIP路由器将口令Hcnp123以明文的形式在RIP报文中携带,如图所示,这显然是不安全的,因为攻击者可以在网络中轻松地捕获RIP报文,并使用报文分析工具查看其中的明文口令。另外,命令中的plain关键字表示口令将以明文的方式存储在配置文件中,因此使用display命令查看设备的配置文件时,能直接看到我们所配置的口令:

这显然更加不安全,因此建议使用cipher关键字替代plain,命令如下:

使用如上方法配置报文认证,在查看设备配置时,是无法看到明文口令的:

因此,cipher关键字相比之下更加安全,然而虽然口令是以密文的形式存储在配置文件中,但是由于使用了simp1e关键字,故路由器在发送RIP报文时,口令依然是以明文的方式在Resp。nse报文中被携带。

在R1及R2配置了RIP报文认证后,两台路由器的接口将对接收的RIP报文进行认证,如果发现口令不匹配,那么收到的RIP报文将被丢弃。所以,R3发送过来的、携带着非法路由信息的Resp。nse报文将被直接丢弃。尽管如此,正如前文所说,simp1e这一报文认证方式是不够安全的,更加推荐的报文认证方式是MD5。在接口视图下使用ripauthentication-mode md5命令可激活基于MD5的RIP报文认证。在该条命令中,有两个关键字可供选择:usua1n。nstandard,这两个关键字用于指定MD5的类型,其中usua1关键字表示MD5认证报文使用通用报文格式(私有标准),nonstandard关键字表示MD5认证报文使用非标准报文格式(IETF标准)。

R1的接口配置修改如下:

R2的接口配置修改如下:

如此一来,R1及R2的接口就开启了基于MD5的报文认证。此时,双方交互的Response报文中,HCNP@123口令不再以明文的方式被携带,因此安全性得到了提升。

案例5:配置接口的附加度量值

在图中,R1及R2连接在一台交换机上,双方的接口均配置相同网段的IP地址并运行RIPv2,开始交换RIP路由。在正常情况下,R1应该能通过RIP从R2获知到达192.168.2.0/24的路由。此时网络中出现了一个攻击者R3,R3也接入到了交换机上,其接口也配置了相同网段的IP地址,并激活RIPv2,随后R3开始向交换机泛洪Response报文。如果R3也通过RIP向网络中通告到达192.168.2.0/24的路由,那么R1的路由表势必受到影响。如果R3通告的192.168.2.0/24路由的度量值与R2所通告的该路由度量值相等,那么R1便会在这两个下一跳执行等价负载分担,当其收到去往该网段的数据包时,就有可能将它们转发到R3,从而导致业务中断。当然,如果R3通告的路由的跳数比R2的更小,那么更将刷新R1的路由表,导致业务彻底中断。

R1的配置:

#
sysname R1
#
interface Ethernet0/0/0
 ip address 192.168.12.1 255.255.255.0
 rip metricout 2000 3
#
interface GigabitEthernet0/0/0
 ip address 192.168.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 192.168.13.2 255.255.255.0
#
rip 1
 version 2
 network 192.168.1.0
 network 192.168.12.0
 network 192.168.13.0

R2的配置:

#
sysname R2
#
interface Ethernet0/0/0
 ip address 192.168.12.2 255.255.255.0
#
interface Ethernet0/0/1
 ip address 192.168.25.1 255.255.255.0
#
rip 1
 version 2
 network 192.168.12.0
 network 192.168.25.0

R3的配置:

#
sysname R3
#
interface GigabitEthernet0/0/1
 ip address 192.168.13.3 255.255.255.0
#
interface GigabitEthernet0/0/2
 ip address 192.168.34.1 255.255.255.0
#
rip 1
 version 2
 network 192.168.13.0
 network 192.168.34.0

R4的配置:

#
sysname R4
#
interface GigabitEthernet0/0/1
 ip address 192.168.34.2 255.255.255.0
#
interface GigabitEthernet0/0/2
 ip address 192.168.45.1 255.255.255.0
#
rip 1
 version 2
 network 192.168.34.0
 network 192.168.45.0

R5的配置:

#
sysname R5
#
interface Ethernet0/0/0
 ip address 192.168.25.2 255.255.255.0
#
interface GigabitEthernet0/0/0
 ip address 192.168.5.1 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 192.168.45.2 255.255.255.0
#
rip 1
 version 2
 network 192.168.25.0
 network 192.168.45.0
 network 192.168.5.0

 现在,观察一下R1路由表中的RIP路由:

显然,R1优选了R2通告过来的192.168.5.0/24路由,因为这条路由的度量值更小。同理,对于192.168.1.0/24,R5也会通过RIP获知到达该网段的路由,并且优选R2所通告的RIP路由。

如此一来,当192.168.1.0/24与192.168.5.0/24这两个网段的用户在进行通信的时候,双方互通的流量是走在R1—R2—R5这段低带宽链路上的,而R1—R3—R4—R5这一侧高带宽的链路则不会承载这两个网段互通的任何流量,这显然是不合理的。一个更加合理的设计是将双方互通的流量切换到高带宽链路上,而R2这一侧的链路则作为备份路径。

RIP支持在接口上进行相应的配置,从而将该接口接收或发送的特定路由的度量值在原有的基础上增加一个自定义的值,目的是影响RIP路由的优选。

R1的配置如下:

#
acl number 2000
 rule 5 permit source 192.168.5.0 0
 rule 10 permit source 192.168.1.0 0
#
interface Ethernet0/0/0
 ip address 192.168.12.1 255.255.255.0
 rip metricout 2000 2

在上述配置中,AC12000用于匹配路由192.168.5.0(BasicAC1H能匹配路由的目的网络地址,而不能匹配路由的目的网络掩码),而接口视图下的rip metricout 2000 2命令则用于调整RIP接口的附加度量值,这条命令造成的影响是:当R1在Ethemet 0/0/1接口上收到192.168.5.0/24这条RIP路由(也即AC12000所匹配住的路由)的更新时,它会将该路由的度量值在原有的基础上增加2跳。由于R2通告给R1的192.168.5.0/24路由的度量值为2跳,因此当R1在接口Ethemet 0/0/1。上收到该条路由后,将其度量值增加2跳后再加载到其路由表,如此一来,该路由最终的度量值变为4跳,而这个度量值的调整,将使R1优选R3通告过来的192.168.5.0/24路由。现在,从192.168.1.0/24去往192.168.5.0/24的数据包将会被R1转发给R3,这些流量将通过高带宽链路送往目的网段。

但这还不够,因为从192.168.1.0/24去往192.168.5.0/24的数据包走的是R1—R3—R4—R5这段路径,而从192.168.5.0/24去往192.168.1.0/24的数据包目前依然走的是R5-R2-R1这段低带宽路径,这种现象被称为数据的往返路径不一致。一个理想的场景是,从A到B的数据沿着一条路径转发,而从B到A的回程数据也沿相同的路径返回。为了实现这个目的,在本案例中,我们还需要再做调整,使得R5优选R4所通告的192.168.1.0/24路由(而不是优选R2通告的路由)。要实现这个目的,有两种方法:可以在R5的Ethemet1/0/。接口做配置,使其在该接口收到192.168.1.0/24路由时增加一定度量值,当然也可以在R2的Ethemet 0/0/1接口做配置,使其在该接口发送192.168.1.0/24路由时增加一定度量值。后者的配置如下:

#
acl number 2000
 rule 5 permit source 192.168.1.0 0
#
interface Ethernet0/0/1
 ip address 192.168.25.1 255.255.255.0
 rip metricout 2000 3

R2的接口Ethemet1/0/1上所配置的rip metricout 2000 3命令,将使其在该接口发送AC12000所匹配的路由时将路由的度量值增加3跳,因此原本R2从该接口通告给R5的192.168.1.0/24路由的度量值为2跳,经过上述配置后,它通告给R5的该条路由的度量值就变成了4跳,而相比于R4所通告的192.168.1.0/24路由(跳数为3),R5当然会优选后者通告过来的路由。如此一来就实现了192.168.1.0/24与192.168.5.0/24这两个网段之间的互通流量的转发路径管控,将流量引导到高带宽的路径上。

案例6:配置RIP发布默认路由

在图2.37所示的网络中,Core1、Core2Core3为三台核心层路由器,它们分别下联着一些终端网络,同时又上联出口路由器OR,OR则连接着Internet出口线路。为了让网络中的各个网段实现数据互通,我们在这4台路由器上都运行了RIPv2,另外,为了让OR路由器能够将访问Internet的数据包转发出去,又在OR上配置一条指向Internet的静态默认路由。然而Core1>Core2Core3如何将下联终端网络访问Internet的流量转发到出口路由器OR呢?为了实现这个目的,可以在Core1>Core2Core3上配置下一跳为OR的静态默认路由,然而这种方法是非常笨拙的,一来存在额外的手工配置量,二来静态的默认路由也无法根据网络拓扑的变化作出动态响应。因此,一个更加推荐的方法是,通过RIP动态地传递默认路由——在OR上通过RIP下发默认路由,从而让网络中的RIP路由器都能动态地学习到这条默认路由。

OR的配置:

#
sysname OR
#
interface GigabitEthernet0/0/0
 ip address 192.168.12.1 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 192.168.13.1 255.255.255.0
#
interface GigabitEthernet0/0/2
 ip address 192.168.14.1 255.255.255.0
#
interface GigabitEthernet0/0/3
 ip address 200.1.1.1 255.255.255.0
#
rip 1
 default-route originate cost 1
 version 2
 network 192.168.12.0
 network 192.168.13.0
 network 192.168.14.0
#
ip route-static 0.0.0.0 0.0.0.0 200.1.1.2

Core1的配置:

#
sysname Core1
#
interface GigabitEthernet0/0/0
 ip address 192.168.12.2 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 192.168.15.1 255.255.255.0
#
rip 1
 version 2
 network 192.168.12.0
 network 192.168.15.0

Core2的配置:

#
sysname Core2
#
interface GigabitEthernet0/0/0
 ip address 192.168.13.2 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 192.168.16.1 255.255.255.0
#
rip 1
 version 2
 network 192.168.13.0
 network 192.168.16.0

Core3的配置:

#
sysname Core3
#
interface GigabitEthernet0/0/0
 ip address 192.168.14.2 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 192.168.17.1 255.255.255.0
#
rip 1
 version 2
 network 192.168.14.0
 network 192.168.17.0

R5的配置:

#
sysname R5
#
interface GigabitEthernet0/0/0
 ip address 200.1.1.2 255.255.255.0

OR的关键配置如下:

#配置一条指向Internet的默认路由:
[OR]ip route-static 0.0.0.0 0.0.0.0 200.1.1.2
#下发RIP默认路由(注意,OR的RIP配置未有全部貼出network命令被忽略、
[OR]rip
[OR-rip-1]version 2
[OR-rip-1]defau1t-route originate cost 1

 在RIP配置视图中执行的defau1t-route originate命令用于在RIP发布一条默认路由,cost关键字用于设置该默认路由的度量值(缺省时该值为0)。完成上述配置后,三台核心层路由器便能够通过RIP学习到这条默认路由,以Core1为例:

如此一来,当Core1下联终端网络的用户访问Internet时,流量首先被送达Core1,而Core1则根据这条默认路由,将流量转发给OR,OR再根据自己配置的静态默认路由将流量转发到Internet。Core2及Core3同理。然而这里有一个小小的问题,那便是当OR连接Internet的接口发生故障时,其指向Internet的静态默认路由将会失效(由于出接口失效,因此关联该出接口的静态默认路由也就不再可用),但此时OR依然会向RIP通告动态的默认路由,这样导致的结果是,三台核心层路由器依然会通过RIP学习到默认路由,因此当它们下联的终端用户访问Internet 流量还是会被转发给OR,然后在OR这里被丢弃。所以实际上此时三台核心层路由器将终端网络发往Internet的流量转发到OR是没有意义的。

OR的配置可以做少许修改,可在default-route originate命令中增加match default关键字。在没有该关键字之前,无论OR的路由表中是否已经存在默认路由,它都始终向RIP发布一条默认路由。而使用该关键字后,只当OR的路由表中存在其他路由协议或者其他RIP进程产生的默认路由时,OR才会向RIP发布默认路由。此时,当OR连接Internet的接口发生故障时,其路由表中的静态默认路由消失,OR将立即使用一条毒性路由撤销原来发布的RIP默认路由,这样一来,三台核心层路由器纷纷将RIP默认路由从路由表中删除,之前的困惑也就得到了解决。

案例7:RIP路由标记

在图中,R2处于RIP域的边界,它直连着一个外部网络,在该外部网络中存在A、B两个业务,这两个业务使用不同的IP网段。现在R2配置了到达这两个业务网段的静态路由,为了让整个RIP域能够动态地学习到这些路由,R2需要将静态路由重分发到RIP。由于RIP域内的路由器基于某种需求需要在学习到这些到达外部网络的路由后;区分出到达A、B业务的路由,此时便可以在R2上完成相关操作,使得它将外部路由重分发到RIP时,为它们设置不同的路由标记。

网络拓扑设备的配置:

R1的配置:

#
sysname R1
#
interface GigabitEthernet0/0/0
 ip address 10.1.1.1 255.255.255.0

R2的配置:

#
sysname R2
#
interface GigabitEthernet0/0/0
 ip address 10.2.2.1 255.255.255.0

R3的配置:

#
sysname R3
#
interface GigabitEthernet0/0/0
 ip address 11.1.1.1 255.255.255.0

R4的配置:

#
sysname R4
#
interface GigabitEthernet0/0/0
 ip address 11.2.2.1 255.255.255.0

R6的配置:

#
sysname R6
#
interface GigabitEthernet0/0/0
 ip address 31.1.1.32 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 192.168.1.1 255.255.255.0
#
interface GigabitEthernet0/0/2
 ip address 192.168.2.1 255.255.255.0
#
rip 1
 version 2
 network 192.168.1.0
 network 192.168.2.0
 network 31.0.0.0
 import-route static
#
ip route-static 10.1.1.0 255.255.255.0 31.1.1.21 tag 10
ip route-static 10.2.2.0 255.255.255.0 31.1.1.21 tag 10
ip route-static 11.1.1.0 255.255.255.0 31.1.1.21 tag 20
ip route-static 11.2.2.0 255.255.255.0 31.1.1.21 tag 20

R7的配置:

#
sysname R7
#
interface GigabitEthernet0/0/0
 ip address 192.168.1.2 255.255.255.0
#
rip 1
 version 2
 network 192.168.1.0

R8的配置:

#
sysname R8
#
interface GigabitEthernet0/0/0
 ip address 192.168.2.2 255.255.255.0
#
rip 1
 version 2
 network 192.168.2.0

AR2的配置:

#
 sysname AR2
#
interface GigabitEthernet0/0/0
 ip address 10.1.1.2 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 10.2.2.2 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 11.1.1.2 255.255.255.0 
#
interface GigabitEthernet1/0/0
 ip address 11.2.2.2 255.255.255.0 
#
interface GigabitEthernet2/0/0
 ip address 31.1.1.21 255.255.255.0 

在以上配置中,R2配置了4条静态路由,其中到达A业务网段的静态路由指定了标记值10,而到达B业务网段的静态路由则指定了标记值20,在ip route-static命令中使用tag关键字可设置该静态路由的标记值。另外,在RIP配置视图下执行的import-route static命令用于将R2路由表中的静态路由重分发到RIP。当R2将静态路由重分发到RIP时,这些路由的标记值将会被一并携带,并且填充到Response报文的“路由标记”字段中。

完成上述配置后,RIP域内的路由器即可通过RIP学习到这些路由,以R7的路由表为例:

以10.1.1.0/24路由为例,查看一下他的详细信息:

从以上输出中,可以看到该路由所携带的标记。

当然,查看R7的RIP数据库,也能看到这些外部路由及其标记:

猜你喜欢

转载自blog.csdn.net/weixin_40274679/article/details/106378140
今日推荐