当前位置: 首页 > article >正文

路由重分布

路由重分布所解决的问题

如下图所示,R1中运行的是RIP协议,R3是运行OSPF协议,由于两者运行的协议不同,所以RIP域内的路由是无法学习到OSPF域内的路由的

换句话说,R1上是没有OSPF域上的路由表的,而R3上也是没有RIP域内的路由表的,这就导致了双方是无法通信的

但是由于R2上同时运行着两种协议,所以R2的路由表中应该是有RIP和OSPF两者的路由条目的

这个时候我们就可以使用路由重分布技术来在R2上,将在OSPF中学到的路由引入到RIP中,RIP中学到的路由引入到OSPF中

image-20250111181702763

image-20250112160915179

除此之外,重分布可以和路由策略相互结合,针对一些特定的路由拒绝它们重发布

image-20250112161211287

还可以修改它们重发布的其它路由的开销值、路由类型等

重发布的位置

重发布的位置必须是在两个路由协议之间的路由器,即区域边界路由器(ASBR)

因为ASBR上运行着至少两种路由协议,ASBR对于两种路由协议都有它们的路由表

image-20250112161708278

并且路由器重发布的路由是一定会存在该设备上的路由表中的

由于直连路由也存在与路由表中,所以直连路由同样也可以被我们引入其它路由协议中

image-20250112162414363

路由重分布的场景

1、在公司的出口处,我们会使用安全性较高的静态路由,可以将这个静态路由引入到下联内网中的IGP协议中

image-20250112162859359

2、两个公司合并的时候,新公司A使用的是OSPF协议,旧公司使用的是RIP协议

image-20250112163113860

3、公司需要更换路由协议的时候

4、大型的骨干网络使用BGP,边缘设备使用OSPF时,需要将OSPF和BGP的路由双向重发布

路由重发布的配置命令

路由重发布命令的差别主要是重发布到RIP协议中与其它协议之间

由于RIP协议是无类路由协议,是不区分主类网络和子网的,只去关注跳数和网络地址本身,所以在重发不进RIP协议中,是不需要加上subnets的

重发布到OSPF进程中

router ospf 1
redistribute [bgp | rip | static | connected | isis] subnets [metric | metric-type | route-map | tag]

重发布到RIP进程中

router rip
redistribute [bgp | ospf id | static | connected | isis area-tag] [metric | route-map]

在重发布时,需要注意几个点

1、重发布是有方向的,如OSPF重发布到RIP中,这仅仅只是单向的,如下图,使得RIP中有OSPF的路由,但OSPF中没有RIP的路由

这必然会使得两个路由协议之间的通信出现问题。所以我们做的更多的是路由双向重发布

image-20250112164233852

2、重发布的路由必须存在重发布路由器上才能进行重发布,如上图,R2上重发布20.0和40.0的基础上是,R2本身就有它们的路由条目,换句话说,R2需要知道20.0和40.0怎么走,才能告诉其它人怎么去往20.0和40.0

策略路由+路由重发布

策略路由与路由重发布两者相互结合,可以做到在重分布时针对某些特定的路由进行过滤或执行某些策略,如允许某些路由通告,不允许某些路由通过,针对某些路由修改开销值等

策略路由+路由重发布的配置步骤

1、使用ACL或Prefix-list(前缀列表)来匹配路由

2、在route-map中引入ACL/Prefix-list

3、重发布的时候,在redistribute 后引入route-map

匹配路由

匹配路由的方式有两种,1、ACL,2、Prefix-list前缀列表

在匹配路由的ACL中,与之前我们学的用于过滤的ACL不同

在使用标准ACL进行匹配的时候,我们只能匹配到路由的网络号

image-20250112165433973

其缺点是,在路由条目变多的时候,需要一条一条的路由条目写上去,繁琐复杂

使用扩展ACL进行匹配路由,扩展ACL与之前用于过滤的ACL不同,用于匹配的扩展ACL是用源地址当作网络号,用目地址当作子网掩码

image-20250112170013283

但是在不同子网掩码下,如192.168.1.0/16、192.168.1.0/25,上图只能匹配到192.168.1.0/24,如果有多个子网掩码,还是需要写多行ACL

那解决这一系列问题,我们可以使用前缀列表Prefix-list

1、Prefix-list可以用于匹配网络号+子网掩码,使用ge和le来为子网掩码定范围

2、与ACL相似的是,Prefix-list也可以写多个,用于顺序匹配

3、如果路由条目中没有与Prefix-list匹配的条目,那么将不进行匹配

image-20250112171121930

特殊的前缀列表

匹配所有的网络的前缀列表

ip prefix-list ruijie seq 5 permit 0.0.0.0/0 le 32

image-20250112171805697

匹配缺省路由0.0.0.0 0.0.0.0,缺省路由网络号和掩码都是0.0.0.0直接输入进行匹配即可

ip prefix-list ruijie seq 5 0.0.0.0 0.0.0.0

匹配所有/32位的主机路由

依然是不对任何主机进行匹配,但是必须让直接掩码为32位

image-20250112172210266

重分布案例

重发布修改metric值

image-20250112174635478

重发布之前的路由表

R1

image-20250112174221680

R2

image-20250112174234026

R3

image-20250112174312245

可以看到,作为ASBR的R2,是同时拥有两边的路由的

在R2上配置策略路由+路由重发布

R2(config)#access-list 1 permit 172.16.0.0 0.0.255.255 		//使用ACL匹配网络
R2(config)#route-map ruijie permit 10
R2(config-route-map)# match ip address 1
R2(config-route-map)# set metric 50			//配置匹配后的策略为修改开销值为50
R2(config-route-map)#ex
R2(config)#route-map ruijie permit 20
R2(config-route-map)#ex						//由于route-map的末尾隐含一个deny any ,所以要写一个空permit语句来防止其它路由被过滤
R2(config)#router ospf 1
R2(config-router)#redistribute rip route-map ruijie subnets		//进入OSPF进程,进行策略路由+路由重发布

没有改metric值R3的路由表

image-20250112175736707

再次去查看R3的路由表,metric值已经被修改了

image-20250112175753638

重发布过滤路由

要求在将OSPF 100进程的路由中的2.2.2.2和3.3.3.3重发布到OSPF 200,注意是只将2.2.2.2和3.3.3.3重发布到OSPF 200中

我们可以通过将第一条route-map语句就拒绝不需要的路由,然后在末尾写上一条允许其它路由通过即可达到效果

image-20250113113425249

重发布之前R1、R2、R3的路由表

image-20250112195445924

image-20250112195500098

image-20250112195512937

可以看到R1和R3的OSPF是没有学到任何东西的

在R2上进行策略路由+路由重分布

R2(config)#access-list 1 permit 1.1.1.1 0.0.0.0		//使用ACL对192.168.1.1进行匹配
R2(config)#route-map ruijie deny 10	
R2(config-route-map)#match ip address 1				//拒绝ACL1所匹配的条目
R2(config)#route-map ruijie permit 20
R2(config-route-map)#ex							//一个空的route-map中存在一个match all,所以借此来使得除1.1.1.1的路由通过
R2(config)#router ospf 200
R2(config-router)#redistribute ospf 100 subnets route-map ruijie
R2(config-router)#ex

不使用route-map重分发的R3路由表

image-20250113115003859

使用route-map重分发的R3路由表

image-20250113115049750

可以看到1.1.1.1已经被route-map给过滤掉了

重发布达到主备切换的目的

如下图,要求R3访问生产服务器时走R1这边,访问办公服务器时走R2这边,当R1发生故障的时候,自动切换到R2,反之,同理

image-20250113152543166

通过在R1和R2上对直连路由/静态路由重发布到OSPF域内,并且在重发布时使用策略路由针对不同的路由条目进行metric的修改即可

image-20250113152501406

在R1上配置

R1(config)#ip route 10.1.1.1 255.255.255.255 10.0.1.4
R1(config)#ip route 10.2.2.2 255.255.255.255 10.0.2.4		//创建静态路由
R1(config)#access-list 1 permit 10.1.1.1 0.0.0.0
R1(config)#access-list 2 permit 10.2.2.2 0.0.0.0			//进行路由匹配
R1(config)#route-map ruijie permit 10
R1(config-route-map)#match ip add 1 
R1(config-route-map)#set metric 10
R1(config-route-map)#ex
R1(config)#route-map ruijie permit 20
R1(config-route-map)#match ip add 2
R1(config-route-map)#set metric 20
R1(config-route-map)#ex							//创建策略路由
R1(config)#router ospf 100
R1(config-router)#redistribute static subnets route-map ruijie
R1(config-router)#ex

在R2上配置

R2(config)#ip route 10.1.1.1 255.255.255.255 10.0.1.4
R2(config)#ip route 10.2.2.2 255.255.255.255 10.0.2.4	
R2(config)#access-list 1 permit 10.1.1.1 0.0.0.0
R2(config)#access-list 2 permit 10.2.2.2 0.0.0.0
R2(config)#route-map ruijie permit 10 
R2(config-route-map)#match ip add 1
R2(config-route-map)#set metric 20
R2(config-route-map)#ex
R2(config)#route-map ruijie permit 20
R2(config-route-map)#match ip add 2
R2(config-route-map)#set metric 10
R2(config-route-map)#ex						//创建策略路由
R2(config)#router ospf 100
R2(config-router)#redistribute static subnets route-map ruijie
R2(config-router)#ex

在没有使用策略路由进行重发布时,R3的路由表对于10.1.1.1和10.2.2.2就会存在两条路径

image-20250113155957187

使用策略路由之后,R3的路由表

image-20250113202245204

可以看到不同的开销对应不同的网关,这就是更改metric值的作用,当我们手动将一个接口给shutdown掉的时候,就会发现路由表的开销和网关就变了一个

如下所示,我们就将R1与服务器的接口给手动shutdown掉

在这里插入图片描述

分发列表过滤路由

对于更改的重分布+策略路由的过滤路由实验,我们还可以直接将全部的路由重分布到另一个OSPF进程内,然后在使用distribute-list对某些特定的路由进行过滤

image-20250113153654690

R2上重发布并使用distribute-list进行过滤

在使用分发列表之前,我们需要使用ACL对什么路由应该做什么动作进行配置,如这里的,就ACL需要针对1.1.1.1做出拒绝的动作

R2(config)#access-list 1 deny 1.1.1.1 0.0.0.0 
R2(config)#access-list 1 permit any 		//ACL末尾有一条阻止全部的不显示语句
R2(config)#router ospf 200
R2(config-router)#distribute-list 1 out		//distribute-list的方向是非常重要的,由于是将1.1.1.1这条路由发布出去,所以是out方向

使用分发列表之前R3的路由

image-20250113161931966

使用分发列表之后R3的路由

image-20250113162353917

可以明显地看到1.1.1.1/32这条路由被阻止重发布进OSPF 200中了


http://www.kler.cn/a/514404.html

相关文章:

  • 为AI聊天工具添加一个知识系统 之56 前端工具:知识图谱、语义网络和认知地图 之1
  • sql实战解析-sum()over(partition by xx order by xx)
  • 将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch(3.纯python的实惠版)
  • ABP - 缓存模块(1)
  • 99.10 金融难点通俗解释:投资资本回报率(ROIC)
  • |Python新手小白中级教程|第三十章:日期与时间(入门)
  • Hack The Box-Starting Point系列Vaccine
  • 【机器学习实战中阶】使用SARIMAX,ARIMA预测比特币价格,时间序列预测
  • LINUX下设置分离状态(Detached State)和未设置分离状态的主要区别在于线程资源的管理方式和线程的生命周期。以下是两种状态的对比:
  • 1.21学习
  • Ceisum无人机巡检直播视频投射
  • SpringCloud学习笔记【尚硅谷2024版】
  • 2025年1月19日(舵机VCC)
  • vue3切换路由后页面不报错显示空白,刷新后显示正常
  • 鸿蒙产业学院正式揭牌!软通动力与深信息签署校企合作框架协议
  • Postgresql源码(141)JIT系列分析汇总
  • HDFS的Shell操作
  • 【愚公系列】《微信小程序与云开发从入门到实践》059-迷你商城小程序的开发(加入购物车与创建订单功能开发)
  • c++ 与 Matlab 程序的数据比对
  • 【Docker】 privileged: true:允许容器获得比默认更高的权限
  • JavaScript正则表达式解析:模式、方法与实战案例
  • 基于微信小程序高校订餐系统的设计与开发ssm+论文源码调试讲解
  • 【2024年华为OD机试】 (E卷,200分)-通过软盘拷贝文件(JavaScriptJava PythonC/C++)
  • 使用一行 CSS 去除图像背景
  • el-tree树结构在名称后面添加其他文字
  • 基于Vue的电子商城后台管理系统