HCIP笔记[第4章-重发布+路由策略]

重发布

作用:

  在两种路由协议之间,或者一个协议的不同进程之间,借助ASBR(同时工作在两种协议或者协议的不同进程中)学习到两个网络的路由信息,并且通过重发布进行路由共享,最终实现全网可达。

部署条件:

  1. 必须存在ASBR设备
      ASBR-----同时连接两种协议或者一个协议的两种进程,这样的设备同时运行在两种协议中,他会同时学习到两边的路由

  重发布的操作就是在ASBR设备上进行配置的,这里值得注意的是虽然是在ASBR设备上配置,但重发布这种技术是主要运用在两种协议或者两种进程之间的行为,是两两之间完成的。

重发布
默认情况下由于协议规则的不同,R2不会将R3上的路由信息通过RIP通告给R1,同时R2自然也不会将R1上的路由信息通过OSPF通告给R3。

  • 需要关注起始种子度量值
    -----路由的起始度量值,因为A协议和B协议的开销计算逻辑是不一样的,故不能直接使用原本协议本身传递路由携带的度量值。做法就是,当A协议重发布到B协议时,ASBR将不携带A协议传递过来的度量,而是通告给B协议时,由ASBR设备在路由中添加一个起始的种子度量值。—定义值

重发布的规则

A协议路由发布到B协议

在ASBR中的B协议(OSPF)上配置-----配置位置规则

  一旦发布,ASBR将会把所有通过A协议学习到的路由以及在ASBR上宣告在A协议中的所有直连路由,全部发布给B协议----重发布发布内容规则

重发布的名词

重发布的方向性问题**(单向/双向**)-----注意:重发布一定两种协议之间的行为

重发布的ASBR数量问题

  • 单点—只存在一个ASBR----重发布(只有一台ASBR设备)
  • 双点—存在两个ASBR设备—引发一些问题 (有两台ASBR设备)
  • 多点—存在多个ASBR设备

  需要强调的是,重发布这种行为是具有方向的,比如说,我将RIP的路由引入OSPF中,首先配置位置是在ASBR上,其次需要进入OSPF协议,然后执行路由引入的操作,这个过程将使得ospf网络中的设备获取到达RIP网络的路由。但是此时在RIP网络中,依然不存在任何OSPF网络的路由,为了实现全网路由的可达,还需要在R2上进入RIP进程,将OSPF路由引入RIP网络中,也就是路由的双向重发布
  当然,如果只希望OSPF网络学习到RIP网络的路由,那就仅可以在OSPF进程中执行引入RIP路由。这就是路由的单向重发布

重发布应用场景

重发布

1、动态路由协议之间的重发布

将OSPF路由重分布到RIP协议中
[r2-rip-1]import-route ospf 1
查看rip数据库表

在这里插入图片描述

RIP协议设计的默认种子度量值为0
OSPF协议设计的默认种子度量值为1

2、将直连路由重发布到动态路由协议

例如:将直连路由重分布到RIP协议中

[r2-rip-1]import-route direct

3、将静态路由重发布到动态路由协议

[r2-rip-1]import-route static

重发布注意事项

  1. 重发布不能重发布缺省路由0.0.0.0,如果想要让ASBR设备下发缺省,就只能主动下发
    若非要引入缺省,可以自动下发缺省,配置以下指令
    在这里插入图片描述
  2. 重发布如果出现重复发送路由的情况,则会由ASBR选择路由表中优先级高的发布

4、将RIP协议的路由重分布到OSPF协议中

修改度量值
修改1

修改开销值

修改2
[r2-ospf-1]import-route rip type 1 cost 10 

注意可以在重分布时修改种子度量值和类型

5、重发布直连

[r2-ospf-1]import-route direct
6、重发布静态
[r2-ospf-1]import-route static

  注意在重发布过程中可以修改路由参数,但是是针对重发布本身的路由进行修改,其他路由不会更改

路由回馈

OSPF-----针对域外路由设计了一个很大的路由优先级150,为了避免路由回馈

路由回馈问题:

  1. 可能选路不佳
  2. 可能出现环路

双点双向的重发布出现的问题

仅存1台ASBR设备,可靠性、稳定性低
 双点双向的重发布出现的问题
-----进行以下配置
[r2]ospf 1
[r2-ospf-1]import-route rip
[r2-ospf-1]q
[r2]rip
[r2-rip-1]import-route ospf

[r3]ospf 1
[r3-ospf-1]import-route rip
[r3-ospf-1]q
[r3]rip 1
[r3-rip-1]import-route ospf

  • 路由回馈
  • 选路不佳(因为不同协议之间cost计算方法不一致,所以每个协议针对重分布的路由信息都会设置种子度量值,相当于抛弃原本协议自带的cost
    选路不佳
    查看r4的路由信息表,我们发现了以下情况:在这里插入图片描述
      3.3.3.0/24学习到,是因为他是r3的直连网段;
      3.3.3.3/32学习到,是因为r2是通过1、2类LSA学习到的,他感知到3.3.3.3是一个环回网段,是一个接口,只能配置一个ip地址后,描绘的拓扑直接把他设置一个接口,将其掩码定死为32。
  • 解决办法:
    • 进入接口将其环回接口掩码从24修改为32;
    • 修改接口网络类型为broadcast,使其不再是环回这种特殊的接口网络类型,不会再学习32网段的路由

路由策略

技术背景

技术背景

作用

  • 控制路由的发送
  • 控制路由的接入
  • 发送或者接收时修改路由中的一些参数

如果区分或者抓取流量

数据可大概分为 控制层面流量(又称协议层面流量) 数据层面流量

  1. 数据层面流量:用户访问目标网段要发送数据包,数据通过路由器进行发送并到达目标网段。
  2. 控制层面流量:控制路由器如何访问目标网段,目标网段先将信息传递到起始网段,起始网段知道目标网段的位置后,起始网段再传递信息回去,这部分流量就称为控制层面流量,也称协议层面流量。 因为协议之间发送的数据包控制路由器如何到达目标网段。

工具一:ACL访问控制列表

更擅长抓取数据层面的流量

工具二:前缀列表

主要抓取控制层面的流量

例如:

假设网络中存在如下三个网段
172.16.0.0 24
172.16.0.0 25
172.16.0.0 26
现在,只需要抓取172.16.0.0 25网段

1、如果想利用ACL抓取

  
172.16.0.0
0.0.127.255 -----通配符-----0代表该位二进制不可变,1代表该位二进制可变
0.0.127.255表示:0.0表示前十六位二进制不可变 即172.16不可变

  反掩码要连续,通配符更灵活 可以不连续,例如 :0.255.0.255 —172.x.0.x(x代表可变),允许0、1穿插

172.16.0.0 -----172.16.00000000.00000000
0.0.127.255-----0.0.01111111.11111111-----有0的部分是固定的,1的部分是可以随便变的。
对应到172.16.00000000.00000000-----前17位不可变,后面可变,抓出来是172.16.0.0/17的网段,抓取结果不对

0.0.0.0 1111111-----前25位不可变,剩下的7位可变
对应到172.16.00000000.0 000000-----抓出来的网段是172.16.0.0xxxxxxx(x代表可变)-----也不对,抓取了24(24的网段从某种意义上来说也是同样特征,因为172.16.00000000.0 000000第25位是0,也抓取了172.16.0.0 24的一部分ip)、25的网段,我们只需要25的网段。

说明:ACL也存在无法抓取的场景,这种情况下就诞生了前缀列表。

  路由器学习到的是网段信息,不需要关注网段的端口号、目标、语言等信息,ACL仅靠通配符只能抓取数字特征,主要满足数字特征都能抓取,在面对以上情况时,只能额外抓取一部分流量,不满足要求。

2、前缀列表
2.1 指令单词解释

ip-prefix :ip的前缀
aaa:前缀名字
permit:允许
deny:拒绝
index:目录信息

2.2 抓取指令
[r3]ip ip-prefix aaa permit 172.16.0.0 25 
-----创建前缀列表aaa抓取172.16.0.0 25 网段
[r3]ip ip-prefix aaa permit 192.168.1.0 24 
-----给前缀列表添加规则(必须保证前缀列表名称一致)
2.3 查看创建的指令
[r3]display ip ip-prefix ?STRING<1-169>  Specify prefix-list name|              Matching output<cr>           Please press ENTER to execute command [r3]display ip ip-prefix
Prefix-list aaa
Permitted 0
Denied 0index: 10               permit  172.16.0.0/25  

查看指令

2.4 删除抓取的指令
[r3]undo ip ip-prefix aaa -----删除整个表
[r3]undo ip ip-prefix aaa index 10-----删除编号为10的命令

删除指令

2.5 拓展匹配规则

拓展匹配规则

[r3]ip ip-prefix aaa permit 172.16.0.0 24 less-equal 27 
-----匹配网络前缀为172.16.0.X 掩码为24 25 26 27 的所有IP地址

在这里插入图片描述

[r3]ip ip-prefix aaa permit 172.16.0.0 24 reater-equal 27 
-----匹配172.16.0.x 掩码大于等于27的网段

在这里插入图片描述
le32:小于32是隐含的规则

2.6 前缀列表默认规则

  前缀列表默认是末尾隐含一条拒绝所有的规则,当流量没有匹配到具体的规则则默认直接拒绝,匹配规则是自上而下逐一匹配,一旦匹配上就不在向下匹配。

例如:
在这里插入图片描述
  想要添加一条拒绝172.16.0.1 32网段的指令,但是这个网段在172.16.0.0 24范围内,且早已配置抓取该网段信息,因此添加时需要指定一个编号,这个编号应该比允许抓取网段的编号小,方便先执行拒绝指令。

2.6.1 Index作用
  • 一方面方便删除
  • 另一方面方便插入规则
2.7 抓取(允许)所有ip地址指令
[r3]ip ip-prefix aaa permit 0.0.0.0 0 less-equal 32 (掩码小于32)
ip ip-prefix aaa permit 0.0.0.0 0 greater-equal 0 (掩码大于0-----这两条规则等价,均为抓取所有IP地址的规则

-----详细步骤见HCIP调整选路最佳实验

http://t.csdnimg.cn/rRP8Q

1、偏移列表(思科的说法)

  偏移列表 (思科的说法)-----只能在距离矢量路由协议中使用 RIP 和EIGRP

[r3-GigabitEthernet0/0/0]rip metricout
-----流量发出时加大开销
[r3-GigabitEthernet0/0/0]rip metricin 
-----流量进入时加大开销

其多个设备离ASBR设备距离一样时,会出现默认的负载均衡的现象,例如:
在这里插入图片描述
目标网段时24.0.0.0/24,选择12.0.0.2,可以很快到达目的地,是一个最优路径;走下面13.0.0.2是一个次优路径。
  为解决以上情况,可以调整路由选路。基本思想是:先采用某种手段抓取网段的路由信息,抓取之后,在次优路径上加大其开销值;或者在接受设备上加大开销值。

配置步骤

1.抓取流量

metriin:流量进入时加大开销
metricout :流量发出时加大开销

[r3]ip ip-prefix bbb permit 24.0.0.0 24
2.执行策略
[r3-GigabitEthernet0/0/0]rip metricout ip-prefix bbb 10 //加大流量在出接口时的开销
-----注意:偏移列表只能在接口发出metricout或者接收metricin时调用前缀列表或者ACL抓取到的流量[r1-GigabitEthernet0/0/1]rip metricin ip-prefix aa 10 
偏移列表缺点

  偏移列表用法单一,只能针对路由信息做修改,无法对拓扑信息的参数修改。即偏移列表只能针对距离矢量路由协议-----rip和eigrp协议;不能在链路状态型协议中(如ospf协议)使用。

2.过滤列表

filter-policy :过滤列表
注意:不可以单独调用sl和前缀列表,没有拒绝流量的能力。
  本质可以理解为一个调用工具,本身是没有过滤流量的能力,必须借助低阶列表(ACL、前缀列表)本身的过滤数据能力。

配置

1.抓取流量,注意根据需求需要自行写拒绝或者允许的规则
[r1]ip ip-prefix bb deny 34.0.0.0 24
2.协议中调用过滤列表
[r1-rip-1]filter-policy ip-prefix bb import GigabitEthernet0/0/0 
-----注意方向(选择 export (路由发出方向)或者import(进入接口))和接口(直接回车,所有运行了这个协议的接口都会匹配这个策略,一般是选择接口)
[r1]ip ip-prefix bb permit 0.0.0.0 0 less-equal 32
-----注意,因为前缀列表末尾隐含一条拒绝所有的规则,所以在匹配前缀列表时要注意是否需要允许剩下所以的流量
filter-policy ip-prefix bb import GigabitEthernet0/0/0实质

  从R2发过来的流量(流向R1)匹配到了一条策略,写的规则是filter-policy ip-prefix bb import GigabitEthernet0/0/0,当它来到0/0/0接口时,这条策略关联的列表时bb这张列表,它发现这张前缀列表写的规则(如下图),这个接口可能接受到了很多流量,但是它一旦匹配到了34.0.0.0网段的路由,就拒绝它进入,所以不会学习r2的这条路径。

为什么还要添加[r1]ip ip-prefix bb permit 0.0.0.0 0 less-equal 32?

  34.0.0.0/24网段发生了变化,去往34.0.0.0/24网段,下一跳指向了13.0.0.2,但是前缀列表默认是末尾隐含一条拒绝所有的规则,当流量没有匹配到具体的规则则默认直接拒绝,导致这个接口除了拒绝34.0.0.0/24这个网段之外,还拒绝了剩下其他的流量,不符合我们只拒绝34网段的要求。

过滤列表缺点
  • 数据失去了备份
  • 只能过滤路由信息但是不能过滤LSA在OSPF中使用注意场景(只能入方向调用)
路由策略与过滤列表区别

  过滤列表可以在协议中直接去调用,路由策略的调用场景也不唯一,但是不能在协议中使用,在此时只学习在重发布过程中调用路由策略。

-----详细步骤见路由策略实验

http://t.csdnimg.cn/o8EGW

3. route-policy 路由策略

  路由策略——route-policy 调用方法不唯一,此时在重分布过程中调用,不能在协议中使用
因此是在ASBR上配置

 route-policy 路由策略

配置

1.抓取流量可以使用ACL也可以使用前缀列表
[r2]acl 2000-----创建ACL 2000
[r2-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255 -----抓取192.168.1.0 /24网段
2.创建路由策略并写规则
[r2]route-policy aa deny node 10
[r2-route-policy]if-match acl 2000
3.调用
[r2-ospf-1]import-route rip route-policy aa
[r2]route-policy aa permit node 1000 
-----如果想要放通所有剩下的路由信息,则直接在规则编号的末尾创建一张空表即可

没有IF-MATH就代表匹配所有IP地址,因为规则是允许

路由策略默认规则

  路由策略末尾也是隐含一条拒绝所有流量的规则,当流量没有匹配到具体的规则则默认直接拒绝,匹配规则是自上而下逐一匹配,一旦匹配上就不在向下匹配

查看路由策略配置的规则
[r2]display route-policy  //查看所有路由策略
[r2]display route-policy aa  //查看aa的规则
分析以上命令

分析以上命令

  首先创建了一个名为aa的route-policy 路由策略,并为该规则创建了编号10,一旦匹配到了编号10的规则,就执行拒绝;那哪些流量需要被拒绝掉呢?如果匹配到了ACL 2000列表里面的流量;那acl 2000匹配到了哪些流量呢?就是抓取的192.168.1.0 0.0.0.255这个网段里面的流量

查看ospf路由(可以看到tag)

[r3]display ospf routing

注意
路由策略apply可以同时修改多个参数,一个参数修改完成需要回车,再修改下一个
重发布只能调用一张路由策略表,调用新的表会覆盖之前调用的表

例如:

1、创建新表路由策略bb
[r2]route-policy bb permit node 50
Info: New Sequence of this List.
[r2-route-policy]q
2、调用新表
[r2-ospf-1]import-route rip route-policy bb
[r2-ospf-1]display this 
[V200R003C00]
#
ospf 1 import-route rip 1 route-policy bb-----aa表被覆盖area 0.0.0.0 network 23.0.0.0 0.0.0.255 
#
return

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/48772.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springSecurity学习之springSecurity流程

springSecurity流程 认证流程 登录请求进入UsernamePasswordAuthenticationFilter&#xff0c;父类是AbstractAuthenticationProcessingFilter&#xff0c;执行AbstractAuthenticationProcessingFilter的doFilter方法 authResult attemptAuthentication(request, response);确…

springcloud-远程调用超时问题

1、报错信息&#xff1a; 09:06:34.992 [PollingServerListUpdater-0] INFO c.n.config.ChainedDynamicProperty - Flipping property: device-managmet.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnection…

PYTHON学习笔记(四、pyhton数据结构--列表)

&#xff08;1&#xff09;list列表 列表的含义是指&#xff1a;&#xff08;1&#xff09;一系列的按特定顺序排列的元素组成。&#xff08;2&#xff09;python中内置的可变序列。&#xff08;3&#xff09;在python中使用[]定义列表&#xff0c;元素与元素之间使用英文的逗…

含有罗马字母的txt转换为csv文件读取-报错

r语言绘图二&#xff08;输入复杂的数学符号&#xff0d;&#xff0d;希腊字母表&#xff09; - R语言论坛 - 经管之家(原人大经济论坛) (pinggu.org) CSV读取报错 gcmeta <- read.csv("metadata.csv") > head(gcmeta)Sample Patient Tissue Platform Subty…

CentOS(7.x、8)上安装EMQX

EMQX 是一个高度可扩展的分布式 MQTT 消息服务器&#xff0c;适用于 IoT、M2M 和移动应用程序。以下是在 CentOS 系统上安装 EMQX 的基本步骤&#xff1a; 在 CentOS 上安装 EMQ X 步骤 1: 添加 EMQ X YUM 源 首先&#xff0c;你需要添加 EMQ X 的官方 YUM 源到你的 CentOS 系…

NNOM训练环境搭建(Windows)

目录 一、安装Anaconda 二、安装nnom编译环境 1. 创建并激活虚拟环境 2. 统一安装所有安装包 三、编译NNOM 一、安装Anaconda windows版本&#xff1a;Anaconda3-2019.10-Windows-x86_64.exe 勾选添加进系统环境变量&#xff0c;其他使用默认选项进行安装。 二、安装nnom…

Dubbo 的服务降级

在分布式系统中&#xff0c;服务的高可用性是至关重要的。然而&#xff0c;由于网络故障、服务器宕机等原因&#xff0c;服务不可用的情况时有发生。为了确保系统的稳定性和用户体验&#xff0c;Apache Dubbo 提供了服务降级功能。服务降级可以在远程服务不可用时&#xff0c;自…

pycharm报错:No module named pip/No module named pytest

1、问题概述? 今天在执行一个python脚本的时候,控制台提示:No module named pytest,就是没有pytest模块,于是我使用pip命令进行安装,命令如下; pip install pytest 结果又提示No module named pip,说我没有pip模块,没办法,再安装pip 2、安装pip-方式1 在pycharm的T…

【python基础知识】整除

熟练使用你所常用的开发语言是一个非常基本的要求。如果你日常需要使用Python&#xff0c;但是你对向上取整&#xff0c;向下取整&#xff0c;以及Python中的默认实现方式是什么都不知道的话&#xff0c;那么我就需要怀疑你的专业能力了。 1. 整除 讲解这个整除的知识&#xf…

因果推断 | 双重机器学习(DML)算法原理和实例应用

文章目录 1 引言2 DML算法原理2.1 问题阐述2.2 DML算法 3 DML代码实现3.1 策略变量为0/1变量3.2 策略变量为连续变量 4 总结5 相关阅读 1 引言 小伙伴们&#xff0c;好久不见呀。 距离上次更新已经过去了一个半月&#xff0c;上次发文章时还信誓旦旦地表达自己后续目标是3周更…

C#中的Func

1.Func委托的定义和使用步骤 Func委托在C#中用于表示一个具有指定参数和返回类型的方法。‌Func委托的定义允许你指定参数的类型和返回值的类型&#xff0c;‌它可以有多达16个参数。‌第一个泛型参数表示方法的参数类型&#xff0c;‌最后一个泛型参数表示方法的返回类型。‌…

VINS介绍

VINS&#xff08;Visual-Inertial Navigation System&#xff09;是一个视觉惯性导航系统&#xff0c;通常用于机器人、无人机或任何需要在未知环境中自主导航的移动平台。VINS结合了视觉传感器&#xff08;通常是相机&#xff09;和惯性测量单元&#xff08;IMU&#xff09;的…

【BUG】已解决:AttributeError: ‘WindowsPath‘ object has no attribute ‘rstrip‘

AttributeError: ‘WindowsPath‘ object has no attribute ‘rstrip‘ 目录 AttributeError: ‘WindowsPath‘ object has no attribute ‘rstrip‘ 【常见模块错误】 【错误原因】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&…

Elasticsearch数据迁移

前言 近期在搞ES集群的迁移&#xff0c;以及日常ES运维中也涉及到同集群内索引的重命名、迁移等实际场景。就考虑把实际场景模拟一下&#xff0c;侧重不同集群间的数据迁移&#xff0c;对比观察一下目前主流的数据迁移方式的优点和缺点。为之后真实迁移场景提供参考。 这次对…

Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)

基础介绍 Netfilter是Linux操作系统核心层内部的一个数据包处理模块&#xff0c;它具有如下功能&#xff1a;网络地址转换(Network Address Translate)数据包内容修改以及数据包过滤的防火墙功能。Netfliter框架不仅仅在ipv4中有应用&#xff0c;bridge&#xff0c;ipv4&#…

ipv6 基础学习(一)

IPv6 为什么要有IPV6&#xff1f; IPv4地址空间有限&#xff1a;IPv4使用32位地址&#xff0c;最多可提供约43亿个地址。随着互联网设备数量的爆炸式增长&#xff0c;这些地址已经几乎耗尽。 IPv6地址空间庞大&#xff1a;IPv6使用128位地址&#xff0c;可以提供大约3.410^3…

面试题:Java中堆内存和栈内存的区别,缓存数据是把数据放到哪里

目录 堆内存&#xff08;Heap&#xff09;栈内存&#xff08;Stack&#xff09;String字符串的hashcode缓存 在Java中&#xff0c;堆内存&#xff08;Heap&#xff09;和栈内存&#xff08;Stack&#xff09;是两种不同类型的内存区域。它们各自扮演着不同的角色&#xff0c;并…

深入理解TCP/IP协议中的三次握手

&#x1f44d; 个人网站&#xff1a;【洛秋资源小站】 深入理解TCP/IP协议中的三次握手 在计算机网络中&#xff0c;TCP/IP协议是通信的基石。理解TCP/IP协议中的三次握手是掌握网络通信的关键步骤之一。本文将详细解释TCP/IP协议中的三次握手过程&#xff0c;探讨其工作原理&…

Python面试整理-字符串处理

在Python中,字符串是一种非常重要且常用的数据类型,用于处理文本。字符串操作包括许多不同的方法,可以用来查询、修改、和处理字符串。以下是一些常用的字符串处理技术: 创建字符串 字符串可以通过单引号、双引号或三引号创建,支持多行字符串。 s1 = Hello s2 = "Wor…

操作系统安全:Windows隐藏账户的安全问题与实战操作。

「作者简介」&#xff1a;冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础著作 《网络安全自学教程》&#xff0c;适合基础薄弱的同学系统化的学习网络安全&#xff0c;用最短的时间掌握最核心的技术。 Windows系统的…