CCNP9:重发布技术+路由策略

版权声明:创作者:LIHAO,未经本人允许,不可转载。 https://blog.csdn.net/a1766855068/article/details/85260700

CCNP9:重发布技术+路由策略

说明:本次讲解的环境为VMwarePro14.0上运行的webiou,使用CRT作为远程登陆工具。

一、认识重发布:

1、什么是重发布?

重发布(redistribute别名:重发布、重分发、重新分配):
一台设备同时运行于两个协议或者两个进程,默认从两端学习到的路由条目不共享。重发布技术是 人为 进行的共享。

2、使用重发布技术时的注意事项:

(1)必须存在 ASBR——自治系统边界路由器(协议边界路由器)
(2)必须考虑 种子度量
协议间共享路由时,度量是不携带到新的路由协议中的,因此需要在ASBR中导入路由时需要添加起始度量(种子度量)

3、重发布使用规则:

(1)将A协议发布到B协议时,在 ASBR上的B协议中配置。
(2)将A协议发布到B协议时,将 ASBR上所有通过A协议学习,及ASBR直连到A协议中的所有路由全部共享到B协议中;

名词 注释
单点单向重发布 一台ASBR运行A、B两种协议, A协议发给B协议,B协议不发往A协议
单点双向重发布 一台ASBR运行A、B两种协议, A协议发给B协议、B协议也发给A协议
多点单向重发布 一台ASBR运行多种协议,协议之间发送是单向的
多点双向重发布 一台ASBR运行多种协议,多个协议两两之间共享路由条目

4、重发布的几种发布方式:

方式 注解
A→B 将一种动态路由协议发布到另一种动态路由协议中。
静态→B 将ASBR上的 静态路由 发布到动态路由协议中。
直连→B 将ASBR上非B协议内工作的 直连路由 发布到B(动态路由协议)中

接下来我就以下图为例,将几种协议的重发布进行讲解。
在这里插入图片描述

二、配置重发布

1、搭建实验环境:

底层如上图搭建,我们以R2为中心,让几个路由器之间互相重发布,选取RIP、OSPF、EIGRP来作为讲解本实验的主要协议。
(1)R1与R2之间直连网段为12.1.1.0网段,R2与R3之间直连网段为23.1.1.0网段,R2与R4之间直连网段为24.1.1.0网段。
(2)R1、R2、R3、R4的环回分别是1.1.1.1/24、2.2.2.2/24、3.3.3.3/24、4.4.4.4/24
(3)R1运行的是RIPv2协议、R3运行OSPF协议、R4运行EIGRP协议。R2每种协议都运行,并分别将s0/0、s0/1、s0/2宣告到RIP、OSPF、EIGRP中,R2的环回不宣告。
①在R1上运行RIP协议:

R1(config)#router rip
R1(config-router)#version 2
R1(config-router)#no auto-summary
R1(config-router)#network 12.0.0.0
R1(config-router)#network 1.0.0.0

②在R2上配置rip、ospf、eigrp协议

R2(config)#router rip 
R2(config-router)#version 2
R2(config-router)#no auto-summary 
R2(config-router)#network 12.0.0.0 

R2(config)#router ospf 1
R2(config-router)#router-id 2.2.2.2
R2(config-router)#network 23.1.1.2 0.0.0.0 a 0

R2(config)#router eigrp 90
R2(config-router)#no auto-summary 
R2(config-router)#network 24.0.0.0

③在R3上配置ospf协议

R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3
R3(config-router)#network 23.1.1.1 0.0.0.0 a 0
R3(config-router)#network 3.3.3.3 0.0.0.0 a 0

④在R4上配置eigrp协议

R4(config)#router eigrp 90
R4(config-router)#no auto-summary 
R4(config-router)#network 24.0.0.0
R4(config-router)#network 4.0.0.0

2、RIP的重发布:

(1)A→B:

①OSPF导入RIP:

在R2中的rip协议中配置:

R2(config)#router rip
R2(config-router)#redistribute ospf 1 metric 2

在R1上查看路由表发现R3的路由表已经进入R1注意度量值跳数为2
在这里插入图片描述

②EIGRP导入RIP:

在R2中的协议中配置:

R2(config)#router rip
R2(config-router)#redistribute eigrp 90 metric 2

注意:导入动态路由协议时,如果没有加种子度量,默认为无穷大。因此在没有加种子度量的时候,就无法收到其他路由器的路由表。

(2)静态(缺省)→B

我们先给R2上随便添一条缺省,这样R2的路由表中就有一条静态的缺省路由。然后进RIP,将静态重发布到RIP中。

R2(config)#ip route 0.0.0.0 0.0.0.0 loopback 0
R2(config)#router rip
R2(config-router)#redistribute static

在R1上查看路由表:
在这里插入图片描述
由此我们发现在重发布静态路由时:即使我们没有添加种子度量,R1也可以学习到R2上静态的路由。是因为静态的默认种子度量为1,但是我们也可以加种子度量。

(3)直连→B

对于重发布R2上的直连网段( R2环回、23.1.1.0、24.1.1.0 网段),其默认的种子度量也为1。配置如下:

R2(config)#router rip
R2(config-router)#redistribute connected 

此时我们再查看R1的路由表
图5-9
注意 : 运行 OSPF 协议的R3有23.1.1.0网段的直连,在我们第一次把 OSPF 倒入到 RIP 中的时候(第(1)中的第①步),我们可以看到它的度量值为2,但是当我们将直连重发布到rip中的时候,我们通过上图发现原本的度量由2跳转变为了1跳。为什么会转变呢?这是因为 R1对两次重发布进来的同一网段的度量进行了对比,选取其中度量小的路由并加载到路由表中

3、OSPF的重发布

(1)A→B

RIP、EIGRP 导入 OSPF

R2(config)#router ospf 1
R2(config-router)#redistribute rip subnets(子网)
R2(config-router)#redistribute eigrp 90 subnets

注意事项:
①:subnets在导入无类别路由(携带掩码)时必须携带,否则无法导入无类别路由。 如果不携带就会出现这样的提示:
% Only classful networks will be redistributed,这句话的意思是在说只能将不带掩码的路由往 OSPF 中发。
②:默认导入的RIP路由为类型2;
  类型2:种子度量为20,在内部传递时,不叠加内部的度量值;
  在这里插入图片描述
③:如果存在多台ASBR设备,但需要导入相同的路由时,可以将 修改类型 为1;
  类型1:种子度量为20,在内部传递时叠加内部的度量值;
  指令如下:

修改种子度量:R2(config-router)#redistribute rip(eigrp) subnets metric ?
修改种子类型:R2(config-router)#redistribute rip(eigrp) subnets metric-type 1

在这里插入图片描述

(2)静态→B

我们再给R2随便写一条普通的静态路由,在将静态路由导入到OSPF中。 缺省路由比较特殊,只能通过专用的命令导入缺省路由 。配置如下

R2(config)#ip route 99.1.1.0 255.255.255.0 loopback 0
R2(config)#router ospf 1
R2(config-router)#redistribute static subnets     重发布普通静态路由
R2(config-router)#default-information originate 	 重发布缺省静态路由

普通静态:默认进入路由类型为2、种子度量为20
缺省路由:默认进入路由为类型2,种子度量为1
如果需要修改种子度量或类型的配置如下

R2(config-router)#default-information originate  metric ?
R2(config-router)#default-information originate  metric-type ?

在这里插入图片描述

(3)直连→B

R2(config)#router ospf 1
R2(config-router)#redistribute connected subnets 

在这里插入图片描述
注:默认进入路由为 类型2种子度量为20

4、EIGRP的重发布

(1)A→B

配置如下:

R2(config)#router eigrp 90
R2(config-router)#redistribute rip metric 1544 100 255 1 1500
R2(config-router)#redistribute ospf 1 metric 1544 100 255 1 1500

注意:必须添加种子度量,默认为无穷大
1544 100 255 1 1500 分别代表带宽、延时、可靠性、负载、MTU
其中带宽建议根据网络的实际带宽来修改,其他参数已经为最优参数。
倒入后,我们查看R4的路由表:

在这里插入图片描述
重发布到EIGRP的路由,使用字母 D EX 标记,且管理距离变为170,而OSPF110、RIP120都不会发生改变。

(2)静态→B

配置如下:

R2(config)#router eigrp 90
R2(config-router)#redistribute static 

默认为主机最佳度量

(3)直连→B

配置如下:

R2(config)#router eigrp 90
R2(config-router)#redistribute connected

默认为主机最佳度量

5、总结

在一台运行多种协议的ASBR上要做到全网可达,就需要将该ASBR上运行的协议两两之间进行重发布,如下图示意:
在这里插入图片描述
配置命令总结如下:

协议 RIP OSPF EIGRP
重发布RIP redistribute rip subnets(metric、metric-type) redistribute rip metric 1544(可改) 100 255 1 1500
重发布OSPF redistribute ospf 1 metric 2 redistribute ospf 1 metric 1544 100 255 1 1500
重发布EIGRP redistribute eigrp 90 metric 2 redistribute eigrp 90 subnets(metric、metric-type)
重发布静态 redistribute static(metric) 静态:redistribute static subnets(metric、metric-type)
缺省:default-information originate(metric、metric-type)
redistribute static(metric)
重发布直连 redistribute connected(metric) redistribute connected subnets(metric、metric-type) redistribute connected(metric)

三、单点双向重发布

在这里插入图片描述
由于篇幅有限,单点双向重发布与第二节配置一样,只是图略微有所变化,这里不在演示。只是需要注意的是,R2、R4双向重发布后,R1是可以学到OSPF的路由的,R5也可以学到RIP的路由。特别地,如果在OSPF中加入一条缺省,R1是可以学到的。但如果给RIP中加入一条缺省,OSPF是学不到的,需要敲专用的指令。
注意事项:
DV协议默认接收所有重发布进入的路由,包括缺省条目,
LS协议在正常重发布时不接收缺省路由,需要专用指令。

四、多点双向重发布

说明:为了更深入的理解多点双向重发布,我会以该图作为讲解双向重发布的示例:

在这里插入图片描述
多点双向重发布:原本一台ASBR设备运行着多种协议,现在使用两台甚至多台ASBR来顶替原本只有一台的ASBR设备。这样做的目的是为了更稳定,可以做备份。但是必然也会带来很多的问题:选路不佳、路由回馈。

1、搭建实验环境:

配置底层、宣告路由网段即可。由于之前已经演示,这里不在做演示。

2、在R2、R4上进行双向重发布

R2配置如下: R4配置如下
R2(config)#router rip
R2(config-router)#redistribute ospf 1 metric 1
R2(config)#router ospf 1
R2(config-router)#redistribute rip subnets
R4(config)#router ospf 1
R4(config-router)#redistribute rip subnets
R4(config)#router rip
R4(config-router)#redistribute ospf 1 metric 1

3、多点双向重发布所带来的问题:

(1)选路不佳:

①R1的路由表:

此时进行这样配置由于种子度量都是1,理论上来说R1到OSPF域内应该有4个等开销负载均衡。但是出现了5个,我们会发现原本在RIP中的R4的环回也出现了负载均衡,这是不应该的,原因是因为出现了路由回馈。
在这里插入图片描述
出此之外我们可以看到去往R2的环回的两条路由,一个掩码是24位,一个掩码是32位,这是因为R2上显示直连环回的网段为掩码为24位,而32位掩码的路由是R4通过把OSPF精确学习到的路由重发布到RIP中去的。为了防止它影响我们的观察,我们可以把OSPF中的R2和R3环回的工作类型方式改了,改成点到点模式。这样我们看到的就都是24位了,配置和结果如下:

R2(config)#int lo0
R2(config-if)#ip ospf network point-to-point 
R3(config)#int lo0
R3(config-if)#ip ospf network point-to-point 

在这里插入图片描述

②R3路由表:

我们在查看R3的路由表,理论上来说R3到RIP域中应该都等开销负载均衡。但是却一条等开销都没有。
在这里插入图片描述

③R2的路由表:

我们可以看到R2的路由表除了去往R1、R3环回的路由和34.1.1.0网段的路由是正确学习到的方式,其他的都有问题。
在这里插入图片描述

④R4的路由表:

我们可以看到R4中一条RIP的路由都没有学到,问题也很大。
在这里插入图片描述
总结:出现了等开销负载均衡,必然会出现选路不佳,这是由于导入的路由原有度量值被去掉,故只要进行多点双向重发布,必然选路不佳。 比如说R1去往R2的环回,按理所有流量下一跳是12.1.1.2最好,但是一部分流量的下一跳为14.1.1.2,绕了一大圈。

(2)路由回馈:

当RIP和OSPF(ISIS)之间进行多点双向重发布时, 由于RIP(120)的管理距离大于OSPF(110) ,导致ASBR优选OSPF路径,最终将RIP的路由重新发回RIP。因此当RIP和EIGRP进行多点双向重发布的时候,由于EIGRP的外部重发布距离是170大于RIP(120)正常是不会出现路由回馈的。但是依然会选路不佳。

4、部分解决路由回馈:

(1)实现等开销负载均衡:

因此要想解决以上问题:我们首先需要把图掰正,让R1到OSPF域内等开销负载均衡, R4到RIP域内等开销负载均衡,解决路由回馈。
我们之前说到在R1上多了一条去往R4环回的等开销负载均衡,是因为OSPF的管理距离小于RIP导致R4的环回发生了路由回馈,因此我们可以把去往R4的管理距离加大。

R2(config)#router ospf 1
R2(config-router)#distance 121 4.4.4.4 0.0.0.0(数值分别代表:管理距离、另一台ASBR的RID、反掩码)

同理我们也需要在R4上修改去往R2的管理距离。

R4(config)#router ospf 1
R4(config-router)#distance 121 2.2.2.2 0.0.0.0

(2)检查路由表:

①R2路由表:

我们发现大部分R2的路由都已经恢复正常,但是还有一条去往R4环回的路由有问题。R2在去往R4的环回时,竟然优选管理距离大的OSPF。这是为什么呢?
原因:
OSPF收敛速度比RIP快,R2优先学习到R4的环回,标记为OE2。紧接着将这条路由重发布到了RIP中,度量为1跳,由于R1到R4的度量也为1跳,且R1收到的都是去往R4环回的路由。因此,根据水平分割原理,R1是不会把R4给R1管理距离为120的度量给R2。最后导致R2只有OSPF域内学习到的管理距离为121的去往R4环回的路由。
解决方法:
不让R2将该路由给R1,或者给后度量要比R1到R4的度量值要大。
在这里插入图片描述

②R4路由表:

我们发现R4的路由表已经恢复正常,一切路由均正确。
在这里插入图片描述
总结:即便通过修改管理距离,解决路由回馈之后,也可能因为协议收敛速度的稳定,导致部分路由依然回馈中,无法完美解决,因此我们还需要使用路由策略进行解决。

5、路由策略解决路由回馈:

(1)使用前缀列表:

首先制作前缀列表让R2拒绝将去往R4环回的路由从s0/0口发出去,然后在RIP协议中调用。

R2(config)#ip prefix-list xxx deny 4.4.4.0/24
R2(config)#ip prefix-list xxx permit 0.0.0.0/0 le 32
R2(config)#router rip
R2(config-router)#distribute-list prefix xxx out s0/0

我们查看R1、R2的路由表
在这里插入图片描述
在这里插入图片描述
到这里R2、R4的路由表已经恢复正常。
我们再查看R3的路由表:
在这里插入图片描述
由于前缀列表可准确的抓取网络网段,但是由于拒绝某个网段在实际工程中很不好,一个网段断开就会导致相应的路由失去,因此还是建议用偏移列表调整路由的度量值,实现路径备份。这两种选一种即可。

(2)使用偏移列表:

R2(config)#access-list 1 permit 4.4.4.0
R2(config)#router rip
R2(config-router)#offset-list 1 out 1 s0/0

在这里插入图片描述
在这里插入图片描述
我们发现这两种方式都可以实现等开销负载均衡,此时这张图的路由回馈已经全部解决。实现了R1到OSPF域等开销,R3到RIP域等开销。R2和R4路由表全齐,接下来我们还需要解决选路不佳的问题,让R1到R2环回和23.1.1.0网段的下一跳12.1.1.2,去往34.1.1.0网段的下一跳为14.1.1.2;同理R3也一样。

6、路由策略解决选路不佳:

R2策略、配置 R4策略、配置
R2使用偏移列表,增大一条路径,是指走另一条路 R4使用Route-map减小路径的度量值
R2(config)#access-list 2 permit 34.1.1.0
R2(config)#router rip
R2(config-router)#offset-list 2 out 1 s0/0

R2(config)#ip prefix-list q permit 12.1.1.0/24
R2(config)#route-map q permit 10
R2(config-route-map)#match ip address prefix-list q
R2(config-route-map)#set metric 10

R2(config)#route-map q permit 20
R2(config)#router ospf 1
R2(config-router)#redistribute rip subnets route-map q
R4(config)#ip prefix-list q permit 14.1.1.0/24
R4(config)#ip prefix-list q permit 4.4.4.0/24

R4(config)#route-map q permit 10
R4(config-route-map)#match ip address prefix-list q
R4(config-route-map)#set metric 10

R4(config)#route-map q permit 20
R4(config)#router ospf 1
R4(config-router)#redistribute rip subnets route-map q

在这里插入图片描述

在这里插入图片描述
到这里该图的选路不佳已经全部解决,我们可以从路由表中看到它们的下一跳均为正确的选路方式。
最终总结:要想要解决多点双向重发布的选路不佳的问题,第一要解决的路由回馈,使一个域到另一个域实现等开销负载均衡;第二解决的是选路不佳,使用路由策略让它们进行正确的选路。

五、路由策略

路由策略:在控制层面抓取流量后,对流量进行修改,之后影响路由器路由表的生成,最终达到干涉选路的目的。

1、抓取控制层面流量:

(1)ACL:

访问控制列表,设计用于干涉数据层面流量,也可以用来抓取控制层面流量(不能精确匹配) 可以为 所有 的路由策略服务。

(2)前缀列表:

专用于抓取控制层面的网络号,为 分发列 表和 Route-map 服务。

配置 注解
r2(config)#ip prefix-list xxx permit 2.2.2.0/25 掩码为25
r2(config)#ip prefix-list xxx permit 3.3.3.0/24 le 30 掩码范围24-30
r2(config)#ip prefix-list xxx permit 4.4.4.0/24 ge 30 掩码范围30-32
r2(config)#ip prefix-list xxx permit 5.5.5.0/24 ge 25 le 30 掩码范围25-30
r2(config)#ip prefix-list xxx permit 0.0.0.0/0 le 32 允许所有
r2(config)#ip prefix-list xxx permit 0.0.0.0/0 匹配缺省
r2(config)#ip prefix-list xxx seq 11 deny 1.1.1.0/24 插入序列号为11,默认序列号+5递增

le、ge使用规则:len < ge-value <= le-value
匹配规则:至上而下逐一匹配,上条匹配按上条执行,不再查看下条,末尾隐含拒绝所有。

2、策略:

(1)偏移列表:

仅适用于DV(RIP/EIGRP)协议,在控制层面流量的入或出口上抓取路由条目,增大度量值,可以叠加。只能使用ACL为其服务。

(2)分发列表:

在控制层面流量的入口或出口上,限制路由条目的传递

①抓流量:

使用ACL或者前缀列表均可

R2(config)#ip prefix-list xxx deny 4.4.4.0/24
R2(config)#ip prefix-list xxx permit 0.0.0.0/0 le 32
②定制策略
R2(config)#router rip
R2(config-router)#distribute-list prefix xxx out s0/0    再R2的出接口s0/0上调用名为xxx的偏移列表

注意:若在OSPF协议中使用分发列表,只能入向调用,不能出向调用。因为OSPF要保证整个拓扑要完整,接收方收到拓扑后,可以不把拓扑的结果放到路由表里。但是一定要发送放进行发送。
还可以在重发布进行时,直接限制条目的发布规则。不在接口上操作,而是在流量从A协议缓存区进入B协议缓存区时就限制。有助于节约设备性能。

r3(config)#router rip 
r3(config-router)#distribute-list prefix qq out ospf 1

将OSPF发布到RIP时生效。
由于偏移列表只可以增加度量值,如果是RIP一旦度量值加大,必然会导致工作范围的减小。分发列表只能限制路由可不可以传递,功能性也很弱。因此最常用的路由策略Route-map就出来了。

(3)Route-map:

可以对控制层免流量进行大量的行为,在重发布、BGP选路、ziPBR(策略路由)三方面可以大量应用。
搭建实验环境:
在这里插入图片描述
该实验是说将R7上的4个环回通过重发布让R9学到以后,1.0为正常通过,2.0拒绝通过,3.0种子度量类型改为E1,4.0保持原有E2类型将度量值降低至10,12.1.1.0网段种子度量类型改为E1并将度量值加到50

R8(config)#router ospf 1
R8(config-router)#redistribute rip subnets

我们查看R9的路由表:在这里插入图片描述

①抓流量:使用ACL或访问控制列表
ACL 控制列表
R8(config)#access-list 1 permit 1.1.2.0 R8(config)#ip prefix-list a permit 1.1.4.0/24
R8(config)#access-list 2 permit 1.1.3.0 R8(config)#ip prefix-list b permit 12.1.1.0/24
②定制Route-map:
定制Route-map 注释
R8(config)#route-map x deny 10
R8(config-route-map)#match ip address 1
创建x列表,大动作拒绝,序号10
匹配ACL列表1
R8(config)#route-map x permit 20
R8(config-route-map)#match ip address 2
R8(config-route-map)#set metric-type type-1
WW列表的序号20,大动作允许
匹配ACL列表2
小动作为类型修改为1
R8(config)#route-map x permit 30
R8(config-route-map)#match ip address prefix-list a
R8(config-route-map)#set metric 10

匹配前缀列表a
修改种子度量值为10
R8(config)#route-map x permit 40
R8(config-route-map)#match ip address prefix-list b
R8(config-route-map)#set metric-type type-1
R8(config-route-map)#set metric 50
R8(config)#route-map x 50 空列表允许所有

策略写好后,还需要在重发布时调用:

R8(config)#router ospf 1
R8(config-router)#redistribute rip subnets route-map x

在这里插入图片描述
我们发现一切都跟我们计划的一样。这里要说明的是由于12.1.1.0网段的度量类型为E2,因此在计算度量时还需要进行叠加内部度量,出现了114,如果时E2那么50就是50。

Rout-map配置规则
1、在创建route-map时,若不配置大动作,动作为允许;不配置序号,那么序号永远为10,故从第二条开始必须配置序号
r2(config)#route-map x
r2(config-route-map)#
2、在抓取流量时,使用允许,在route-map中来拒绝流量
3、匹配规则—从上往下逐一匹配,上条匹配按上条执行,不再查看下条,末尾隐含拒绝所有
4、不匹配及匹配所有,不执行及不做任何小动作,仅按大动作执行。故大动作为允许的空表,标示允许所有
5、存在或or与and 关系:可以用或关系同时匹配3条流量,对它们做同一种策略。
route-map ccsp permit 10
match ip address 1 2 3 或关系
set metric 10
set metric-type type-1 与关系
set origin egp 2
6、在一个序号中,匹配流量只能匹配一种抓取流量的协议,ACL或者前缀列表。

猜你喜欢

转载自blog.csdn.net/a1766855068/article/details/85260700