3

路由基础之控制RIP路由的发布及路由引入

 2 years ago
source link: https://blog.51cto.com/u_15606213/5235370
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

控制RIP路由的发布及路由引入

原理概述:

RIP协议是一种在现实网络中得到广泛应用的路由协议,相比于其他的路由协议,RIP最大的特点就是非常简单而且易于实现。

RIP是Routing Information Protocol(路由信息协议)的简称,它是一种较为简单的内部网关协议(Interior Gateway Protocol)。RIP是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量来衡量到达目的网络的距离。RIP通过UDP报文进行路由信息的交换,使用的端口号为520。

RIP协议中,每台RIP路由器都会定时向它的直连邻居发布它所知道的所有路由信息,同时又不断接收直连邻居发来的路由信息并以此更新自己的路由表,如此反复迭代,从而实现整个网络的路由收敛。

在实际中,人们常常会利用一些路由策略工具来对RIP路由器的路由发布加以控制,比如,可以利用Filter-Policy和ACL来对RIP路由器发布的某些特定路由加以过滤。某些情况下,人们可能需要将一些外部路由信息引入到RIP进程中来,在这个过程中,同样可以利用一些路由策略工具来对引入到RIP进程中路由进行过滤处理,从而实现某些特殊的网络需求。

实验目的:

掌握使用Filter-Policy实现对RIP路由发布的控制

加深对ACL规则的匹配过程的理解

实验内容:

使用Filter-Policy和ACL来控制RIP协议的路由发布,以及如何使用Route-Policy和ACL对引入到RIP中的路由进行过滤;

 路由基础之控制RIP路由的发布及路由引入_清晰明了

1:基本配置:

 路由基础之控制RIP路由的发布及路由引入_通俗易懂_02

2:使用Filter-Policy和ACL控制RIP协议的路由发布

R1:
[R1]rip
[R1-rip-1]v 2
[R1-rip-1]un su
[R1-rip-1]un summary
[R1-rip-1]net
[R1-rip-1]network 10.0.0.0
R2:[R2]rip
[R2-rip-1]v 2
[R2-rip-1]un su
[R2-rip-1]net
[R2-rip-1]network 10.0.0.0
[R2-rip-1]import-route direct

路由基础之控制RIP路由的发布及路由引入_通俗易懂_03可以看到,已经接收到关于R2上Loopback的路由信息;

配置Filter-Policy和ACL禁止R2向R1发布10.0.1.1/32和10.0.3.0/32这两条路由信息

[R2]acl 2000
[R2-acl-basic-2000]rule deny source 10.0.1.0 0.0.254.254
[R2-acl-basic-2000]rule permit source any
[R2-rip-1]filter-policy 2000 export Serial2/0/0

配置完成后,查看R1的IP路由表

路由基础之控制RIP路由的发布及路由引入_清晰明了_04

可以看到,R1的路由表中10.0.1.1/32和10.0.3.0/24这两条路由已经消失,其他路由,仍然路由存在。

3:配置静态路由

在R1上配置静态路由

[R1]ip route-static 1.1.1.1 255.255.255.255 NULL 0
[R1]ip route-static 1.1.1.0 255.255.255.0 NULL 0
[R1]ip route-static 1.1.1.0 255.255.255.128 NULL 0
[R1]ip route-static 1.1.0.0 255.255.0.0 NULL 0
[R1]ip route-static 1.0.0.0 255.0.0.0 NULL 0

配置完成后,查看R1的IP的路由表

路由基础之控制RIP路由的发布及路由引入_路由基础_05

可以看到,在R1上配置的静态路由已经生效;

4:使用Route-Policy和ACL对引入到RIP中的路由进行过滤处理

现在需要在R1上将静态路由引入到RIP进程中,但只允许1.1.0.0/16被引入

使用ACL 匹配1.1.0.0/16,规则号的步长设置为10

[R1]acl 2000
[R1-acl-basic-2000]step 10
[R1-acl-basic-2000]rule permit source 1.1.0.0 0.0.255.255

配置Route-Policy

[R1]route-policy import-rip permit node 10
[R1-route-policy]if-match acl 2000

引入静态路由,并应用Route-policy对引入的静态路由进行控制

[R1]rip
[R1-rip-1]import-route static route-policy import-rip

配置完成后,查看R2的IP路由表

路由基础之控制RIP路由的发布及路由引入_路由基础_06

可以看到1.1.0.0被引入到RIP进程中,但是1.1.1.0/24,1.1.1.0/25,1.1.1.0/32也被引入进RIP路由表。这表明虽然1.1.0.0/16匹配了ACL 2000 的规则,但同时1.1.1.0/24,1.1.1.0/25,1.1.1.0/32也匹配了ACL 2000的规则。造成这一问题的原因是ACL中的通配符掩码使用不当。

注意,通配符掩码的“0”所对应的位是必须匹配的,而“1”所对应的位可忽略。

 路由基础之控制RIP路由的发布及路由引入_通俗易懂_07

ACL 2000的rule 10的意思是,只要路由项前16比特为0000000100000001就算匹配, 因此,1.1.1.0/24,1.1.1.0/25,1.1.1.0/32也都是匹配这条规则的,若要唯一地匹配1.1.0.0/16,应该使用通配符掩码0.0.0.0。

在R1上重新配置ACL

[R1]acl 2000
[R1-acl-basic-2000]undo rule 10
[R1-acl-basic-2000]rule 10 permit source 1.1.0.0 0.0.0.0

查看修改后的ACL2000

 路由基础之控制RIP路由的发布及路由引入_清晰明了_08

查看R2的IP路由表

 路由基础之控制RIP路由的发布及路由引入_路由基础_09

可以看到,1.1.0.0/16被R2接收到了,而原来可以接收到的那三条被过滤掉了

在ACL2000中添加一条规则,把1.1.1.0/24和1.1.1.0/25也引入到了RIP中

[R1]acl 2000
[R1-acl-basic-2000]rule permit source 1.1.1.0 0.0.0.127

查看ACL2000

 路由基础之控制RIP路由的发布及路由引入_路由基础_10

查看R2的IP路由表

路由基础之控制RIP路由的发布及路由引入_路由基础_11 

可以看到目标被引进了,但是1.1.1.1/32也被引进了经分析发现1.1.1.1/32这条路有也是匹配rule 20的

修改ACL,拒绝关于1.1.1.1/32的路由

[R1]acl 2000
[R1-acl-basic-2000]rule deny source 1.1.1.1 0

配置完成后,查看RIP路由表

 路由基础之控制RIP路由的发布及路由引入_rip_12

可以看到,路由1.1.1.1/32还在路由表上

再次查看ACL2000

 路由基础之控制RIP路由的发布及路由引入_清晰明了_13

可以看到,按照ACL的顺序规则,1.1.1.1/32在匹配rule 30之前就已经匹配了rule20

所以rule30并没有起到过滤1.1.1.1/32的作用,正确的过程应该是让1.1.1.1/32先匹配到rule 30.现在,将rule 30删除,重新配置一个规则,并使规则的序列号小于20.

[R1]acl 2000
[R1-acl-basic-2000]undo rule 30
[R1-acl-basic-2000]rule 15 deny source 1.1.1.1 0

路由基础之控制RIP路由的发布及路由引入_路由基础_14

配置完成后,查看ACL,并查看R2的IP路由表

 路由基础之控制RIP路由的发布及路由引入_路由基础_15

可以看到,R2的IP路由表中已经没有了路由1.1.1.1/32,原因是在R1上引入路由时它已经被过滤掉了。

实验结束;

补充知识点:

(一)有类路由协议

1、有类路由协议的特点是发送路由更新包的时候不携带路由条目的子网掩码

2、有类路由协议在路由传递过程中使用路由发送和接收规则。

1:有类路由协议发送规则:

检查路由更新网络是否与发送端口同一主网

1).若否,路由更新自动汇总成主类网络

2).若是,继续检查更新的路由是否与发送接口的掩码一致

a. 是,发送更新

b. 否, 忽略更新

2:有类路由协议更新接收规则:

将网络地址和接收接口的网络地址进行比较,判断是否处于同一主网络

1).处于同一主网络,直接赋予该网络地址接收接口的掩码并写入路由表

2).不处于同一主网络,首先查看路由表中是否存在该主网络的任一子网

a.不存在,接收该网络地址,并赋予该网络地址一个有类掩码,同时写入路由表

b.存在,忽略该路由更新并丢弃

3:有类路由协议的特性:

1)同一个主网络下的子网若掩码不一致,则会出现子网丢失,即不支持VLSM

2)在边界路由器上面会产生自动汇总,并且这个自动汇总是无法关闭的。

对于不连续子网,必然导致多个路由器通告相同的路由更新(汇总后的),这样将导致网络不正常,所以不支持不连续子网。对于连续子网,则是支持的。

3)那么有类路由协议包括:RIPV1 IGRP

(二)无类路由协议

1:无类路由协议的特点:

发送路由更新包的时候携带自己的子网掩码

2:无类路由协议的特性:

1)因为发送子网掩码,可以支持VLSM

2)在边界路由器上面的自动汇总可以关闭,可以支持不连续子网。

3)无类路由协议包括:RIPV2 EIGRP OSPF ISIS BGPV4

4)基于现在我们所使用的网段一般都是VLSM,所以,我们现在都会使用无类的路由协议。

有类路由协议和无类路由协议的本质区别就是在发送路由更新时是否发送子网掩码。所以有类无类协议的不同就在于是否支持VLSM(可变长子网mask)。有类的不发送mask,不支持VLSM,无类的反之。

注:VLSM(​ ​可变长子网掩码​​) 是为了有效的使用​ ​无类别域间路由​​(CIDR)和路由汇聚(route summary)来控制​ ​路由表​​的大小,它是网络管理员常用的IP寻址技术,VLSM就是其中的常用方式,可以对子网进行层次化​ ​编址​​,以便最有效的利用现有的​ ​地址空间

默认情况下无类协议和有类协议一样,在边界路由器上自动进行汇总(OSPF不在边界自动汇总)。有类路由协议,自动汇总不可关闭。所以不支持不连续子网;而无类协议可以关闭这个该死的自动汇总功能,改用手工方式进行汇总,所以支持不连续子网。

备注:如有错误,请谅解!

此文章为本人学习笔记,仅供参考!如有重复!!!请联系本人!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK