路由过滤之多个分配点分析

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介:

 我们在做路由重新分布的的时候,时常由于AD距离的不同导致路由出现环路或者导致不正确的路由,那这篇文章我就好好说下这个问题,如图所示:

我们先按正常的分配方法做下看看问题在哪

我们现在r3  r4 上重新分配 命令如下

r3(config)#router rip

r3(config-router)#reis

r3(config-router)#redis

r3(config-router)#redistribute ospf 1 me

r3(config-router)#redistribute ospf 1 metric 2

r3(config-router)#redistribute ospf 1 metric 2 su

r3(config-router)#redistribute ospf 1 metric 2 subnets

r3(config-router)#redistribute rip metric 100 sub

r3(config-router)#redistribute rip metric 100 subnets metric-ty 2

r4(config)#router rip

r4(config-router)#redis

r4(config-router)#redistribute ospf 1 me

r4(config-router)#redistribute ospf 1 metric ?

  <0-16>       Default metric

  transparent  Transparently redistribute metric

r4(config-router)#redistribute rip metric 100 me 

r4(config-router)#redistribute rip metric 100 metric-type 2 sub

 

r4#show ip route

Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP

       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 

       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

       E1 - OSPF external type 1, E2 - OSPF external type 2

       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

       ia - IS-IS inter area, * - candidate default, U - per-user static route

       o - ODR, P - periodic downloaded static route

 

Gateway of last resort is not set

 

O    192.168.4.0/24 [110/74] via 192.168.3.1, 00:02:04, Serial0/0

O    192.168.5.0/24 [110/138] via 192.168.3.1, 00:02:04, Serial0/0

O E2 192.168.6.0/24 [110/100] via 192.168.3.1, 00:02:04, Serial0/0

O E2 192.168.1.0/24 [110/100] via 192.168.3.1, 00:02:04, Serial0/0

C    192.168.2.0/24 is directly connected, Ethernet1/0

C    192.168.3.0/24 is directly connected, Serial0/0

我们看下r4的路由表发现通往0.6网段吓一跳是192.168.3.1 跳到r1上面去了,这并不是最佳路由,为什么会发生这样的问题?是管理距离惹得祸,我们知道ospf管理距离是90。而rip是120,所以路由会优先选用ospf路由条目,这就给我们一个警示:在多点路由重新分配时管理距离会导致非最佳路径的选择,路由环路和黑洞。

那我们该咋样做那,有两种方法一是运用重发布列表控制路由更新

法二:用distance控制管理距离 

我们先看第一种方法

我们在r3 r4 做如下配置

r3 :r3(config-router)#redistribute rip metric 100  sub

r3(config-router)#net

r3(config-router)#network 192.168.3.0 0.0.0.255 a 0

r3(config-router)#dis

r3(config-router)#distri

r3(config-router)#distribute-list 1 in

r3(config-router)#router rip

r3(config-router)#redtri

r3(config-router)#redis 

r3(config-router)#redistribute ospf 1 me

r3(config-router)#redistribute ospf 1 metric 2

r3(config-router)#net

r3(config-router)#network 192.168.6.0

r3(config-router)#distri

r3(config-router)#distribute-list 2 in

r3(config-router)#ip cl

r3(config-router)#ip cl

r3(config)#acc

r3(config)#access-list 1 per

r3(config)#access-list 1 permit 192.168.4.0

r3(config)#access-list 1 permit 192.168.3.0

r4;r4(config)#router rip 

r4(config-router)#redis

r4(config-router)#redistribute ospf 1 me

r4(config-router)#redistribute ospf 1 metric 2

r4(config-router)#net

r4(config-router)#network 192.168.2.0 0.0.0.

                                      ^

% Invalid input detected at '^' marker.

 

r4(config-router)#network 192.168.2.0 0.0.0.255 

                                      ^

% Invalid input detected at '^' marker.

 

r4(config-router)#network 192.168.2.0           

r4(config-router)#distri

r4(config-router)#distribute-list 1 in

r4(config-router)#router ospf 1

r4(config-router)#red

r4(config-router)#redistribute rip me

r4(config-router)#redistribute rip metric 100 sub

r4(config-router)#net

r4(config-router)#network 192.168.3.0 0.0.0.255 a 0

r4(config-router)#distri

r4(config-router)#distribute-list 2 in

r4(config-router)#ip cl

r4(config)#acc

r4(config)#access-list 1 per 192.168.1.0 

r4(config)#acc

r4(config)#access-list 1 per 192.168.6.0

r4(config)#acc

r4(config)#access-list 2 per 192.166.4.0

r4(config)#access-list 2 per 192.168.4.0

r4(config)#access-list 2 per 192.168.5.0

我们在show下

r4#show ip ro

r4#show ip route 

Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP

       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 

       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

       E1 - OSPF external type 1, E2 - OSPF external type 2

       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

       ia - IS-IS inter area, * - candidate default, U - per-user static route

       o - ODR, P - periodic downloaded static route

 

Gateway of last resort is not set

 

O    192.168.4.0/24 [110/74] via 192.168.3.1, 00:00:21, Serial0/0

O    192.168.5.0/24 [110/138] via 192.168.3.1, 00:00:21, Serial0/0

R    192.168.6.0/24 [120/1] via 192.168.2.5, 00:00:11, Ethernet1/0

R    192.168.1.0/24 [120/1] via 192.168.2.5, 00:00:11, Ethernet1/0

C    192.168.2.0/24 is directly connected, Ethernet1/0

C    192.168.3.0/24 is directly connected, Serial0/0

发现192.168.6.0 吓一跳为192.168.2.5 了  成功

法2:用distance改变管理距离

 

r3(config)#router ospf 1

r3(config-router)#red

r3(config-router)#redistribute rip me

r3(config-router)#redistribute rip metric 100 sub

r3(config-router)#net

r3(config-router)#network 192.168.5.0 0.0.0.255 a 0

r3(config-router)#dis

r3(config-router)#distan

r3(config-router)#distance 130

r3(config-router)#distan

r3(config-router)#distance 110 0.0.0.0 255.255.255.0 1

r3(config-router)#rout

r3(config-router)#router rip

r3(config-router)#redis

r3(config-router)#redistribute ospf 1 me

r3(config-router)#redistribute ospf 1 metric 2 

r3(config-router)#net

r3(config-router)#network 192.168.6.0

r3(config-router)#dis

r3(config-router)#distan

r3(config-router)#distance 130

r3(config-router)#distan

r3(config-router)#distance 120 192.168.6.3 2

r3(config)#access-list 1 per 192.168.4.0

r3(config)#access-list 1 per 192.168.5.0

r3(config)#access-list 2 per 192.168.6.0 

r3(config)#access-list 2 per 192.168.1.0 

r4(config-router)#redistribute rip me

r4(config-router)#redistribute rip metric 100 sub

r4(config-router)#net

r4(config-router)#network 192.168.3.0 0.0.0.255 a 0

r4(config-router)#distan

r4(config-router)#distance 130

r4(config-router)#distance 110 0.0.0.0 255.255.255.255 1

r4(config-router)#router rip

r4(config-router)#red

r4(config-router)#redistribute ospf 1 me

r4(config-router)#redistribute ospf 1 metric 2 

r4(config-router)#net

r4(config-router)#network 192.168.2.0

r4(config-router)#dis

r4(config-router)#distan

r4(config-router)#distance 130

r4(config-router)#distan

r4(config-router)#distance 120 192.168.2.4 2

% Incomplete command.

 

r4(config-router)#distance 120 192.168.2.4  0.0.0.255 2

r4(config-router)#ip cl

r4(config)#ac 

r4(config)#access-list 1 per 192.168.4.0

r4(config)#access-list 1 per 192.168.5.0

r4(config)#access-list 2 per 192.168.1.0

r4(config)#access-list 2 per 192.168.6.0

r4#show ip ro

r4#show ip route 

Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP

       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 

       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

       E1 - OSPF external type 1, E2 - OSPF external type 2

       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

       ia - IS-IS inter area, * - candidate default, U - per-user static route

       o - ODR, P - periodic downloaded static route

 

Gateway of last resort is not set

 

O    192.168.4.0/24 [110/74] via 192.168.3.1, 00:00:21, Serial0/0

O    192.168.5.0/24 [110/138] via 192.168.3.1, 00:00:21, Serial0/0

R    192.168.6.0/24 [120/1] via 192.168.2.5, 00:00:11, Ethernet1/0

R    192.168.1.0/24 [120/1] via 192.168.2.5, 00:00:11, Ethernet1/0

C    192.168.2.0/24 is directly connected, Ethernet1/0

C    192.168.3.0/24 is directly connected, Serial0/0

成功!

 


本文转自q狼的诱惑 51CTO博客,原文链接:http://blog.51cto.com/liangrui/410589,如需转载请自行联系原作者

相关文章
|
缓存 Java 数据库连接
深入浅出 MyBatis 的一级、二级缓存机制
深入浅出 MyBatis 的一级、二级缓存机制
603 0
|
3月前
|
前端开发 Java 数据库连接
java bo 对象详解_全面解析 java 中 PO,VO,DAO,BO,POJO 及 DTO 等几种对象类型
Java开发中常见的六大对象模型(PO、VO、DAO、BO、POJO、DTO)各有侧重,共同构建企业级应用架构。PO对应数据库表结构,VO专为前端展示设计,DAO封装数据访问逻辑,BO处理业务逻辑,POJO是简单的Java对象,DTO用于层间数据传输。它们在三层架构中协作:表现层使用VO,业务层通过BO调用DAO处理PO,DTO作为数据传输媒介。通过在线商城的用户管理模块示例,展示了各对象的具体应用。最佳实践包括保持分层清晰、使用工具类转换对象,并避免过度设计带来的类膨胀。理解这些对象模型的区别与联系。
146 0
|
8月前
|
算法 数据安全/隐私保护 计算机视觉
基于Retinex算法的图像去雾matlab仿真
本项目展示了基于Retinex算法的图像去雾技术。完整程序运行效果无水印,使用Matlab2022a开发。核心代码包含详细中文注释和操作步骤视频。Retinex理论由Edwin Land提出,旨在分离图像的光照和反射分量,增强图像对比度、颜色和细节,尤其在雾天条件下表现优异,有效解决图像去雾问题。
|
8月前
|
人工智能 物联网 编译器
《近阈值计算:硬件加速芯片的低功耗密码》
近阈值计算(NTC)技术通过将晶体管工作电压降至接近阈值电压,有效降低功耗并提升芯片性能,成为硬件加速芯片领域的研究热点。NTC优化了电路设计、器件选型和系统级协同设计,采用流水线技术和冗余设计提高稳定性和可靠性。尽管面临性能、稳定性和设计复杂性的挑战,NTC为低功耗高性能芯片提供了新方向,推动人工智能、物联网等领域的发展。
237 15
|
8月前
|
运维 安全 Linux
阿里云操作系统迁移最佳实践
本次分享的主题是社区操作系统迁移和阿里云操作系统迁移。由龙溪社区王喆分享。 1. 操作系统生命周期 2. 操作系统迁移方案 3. 操作系统迁移流程 4. 操作系统迁移评估 5. 一站式迁移运维平台SysOM 6. SMC操作系统迁移实践
257 2
|
11月前
|
Ubuntu Linux 网络安全
在Linux上安装软件有多种方法
在Linux上安装软件有多种方法
415 64
|
10月前
|
移动开发 前端开发 Java
过时的Java技术盘点:避免在这些领域浪费时间
【10月更文挑战第14天】 在快速发展的Java生态系统中,新技术层出不穷,而一些旧技术则逐渐被淘汰。对于Java开发者来说,了解哪些技术已经过时是至关重要的,这可以帮助他们避免在这些领域浪费时间,并将精力集中在更有前景的技术上。本文将盘点一些已经或即将被淘汰的Java技术,为开发者提供指导。
430 7
|
11月前
|
监控 负载均衡 JavaScript
PM2 介绍
【10月更文挑战第11天】
|
11月前
|
算法 搜索推荐 Shell
数据结构与算法学习十二:希尔排序、快速排序(递归、好理解)、归并排序(递归、难理解)
这篇文章介绍了希尔排序、快速排序和归并排序三种排序算法的基本概念、实现思路、代码实现及其测试结果。
285 1