HCNP Routing&Switching之路由策略工具Route-Policy
前文我们了解了路由过滤和路由过滤工具Filter-Policy使用相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15316188.html;今天我们来聊一聊路由策略工具Route-Policy工具的相关话题;
Route-Policy
Route-Policy是路由策略工具,主要用来过滤路由和修改路由属性的工具;它的可以调用条件匹配工具ACL或前缀列表IP-Prefix来作为条件,匹配符合条件的路由,然后再对路由进行修改;比如允许路由或者拒绝对应路由,除此之外它还可以修改路由属性;如修改下一跳、开销等等;
Route-Policy语法规则
提示:Route-Policy是由多个node构成,node的概念类似ACL里的rule,每个node会有不同的索引号,类似ACL里面的rule 编号,这个编号的主要作用是用来定义匹配条件的先后顺序;其次route-policy和IP-Prefix一样都是用名字来标识不同路由策略;一条Route-policy除了有名字、节点号还有节点匹配模式,即允许和拒绝;if-match语句主要用来描述怎么匹配对应的路由(即匹配条件),满足条件(通过)的路由会执行下面的apply语句做修改路由属性的操作;route-policy node之间是或关系;每个node下可以有若干个if-match和apply子句,if-match、apply子句之间是与的关系,即多个条件需同时满足,过滤后的操作也是全部执行;
Route-Policy匹配流程
提示:route-policy的匹配流程和IP-Prefix的执行流程查不多,都是从上至下依次每个节点进行匹配,如果路由匹配上了,则不再往下匹配,直接跳转到对应执行apply子句(模式是permit的情况),如果模式是deny,则表示对应路由不能通过(当然这个不能通过是条件中是动作是permit,如果条件中是deny动作,则对应路由会接着往下匹配);如果路由没有被任何一个节点匹配,则对应路由会被默认规则匹配;在route-policy中默认规则是拒绝操作,即如果没有被任何节点匹配,对应默认动作是不允许路由通过;
Route-Policy条件匹配模式和匹配模式组合说明
提示:如果对应匹配条件中规则是permit,此时匹配的路由是否允许通过取决route-policy的模式,permit就允许通过,deny就不允许通过;如果没有被匹配上则进行下一个节点匹配;如果条件中是deny,则对应匹配或没有匹配都会进行下一个节点匹配,即条件规则是deny,不管route-policy的模式是permit还是deny,对应路由都会进行下一个节点匹配;也就是说条件是deny的规则,最后路由的去留取决默认规则;
Route-Policy匹配规则
提示:route-policy匹配规则可以匹配路由的ip地址范围,用acl来过滤路由;也可以使用前缀列表来过滤对应路由条目;除此之外还可以通过匹配路由下一跳,出接口、路由类型、标签和开销等作为条件;
Route-Policy执行动作
提示:对应匹配允许的路由信息,route-policy可以做修改路由的下一跳,优先级,标签,开销以及开销类型等;
实验:如下拓扑,配置ospf
R1的配置
sys
sys R1
int g0/0/0
ip add 10.0.0.1 24
int g0/0/1
ip add 11.0.0.1 24 ospf 1 router-id 1.1.1.1
area 0
net 10.0.0.0 0.0.0.255
net 11.0.0.0 0.0.0.255
R2的配置
sys
sys R2
int g0/0/0
ip add 10.0.0.2 24
int g0/0/1
ip add 11.0.0.2 24
int lo 1
ip add 1.1.1.1 32
int lo 2
ip add 2.2.2.2 32 ospf 1 router-id 2.2.2.2
area 0
net 10.0.0.0 0.0.0.255
net 11.0.0.0 0.0.0.255
net 1.1.1.1 0.0.0.0
net 2.2.2.2 0.0.0.0
查看R1的路由表,看看通过ospf是否学习到R2的lo接口路由?
提示:可以看到R1通过ospf学习到1.1.1.1和2.2.2.2的路由,对应路由都有两个下一跳,默认开销、优先级都一样,此时R1和R2的流量都会负载分担在两条链路上;
在R1上新建前缀列表匹配1.1.1.1的路由
在R1上新建ACL匹配下一跳为11.0.0.2的地址
提示:匹配下一跳地址,可以使用acl,也可以使用前缀列表;
在R1上新建路由策略,拒绝下一跳为11.0.0.2,路由地址为1.1.1.1的路由
提示:上述路由策略主要用前缀类别来作为条件匹配路由,用acl来作为条件匹配对应路由的下一跳地址;表示以上两个条件工具匹配的路由,对应路由策略为拒绝,即不让对应路由通过;最后一条是空语句,没有任何条件,表示匹配所有条件,即最后一条空语句就表示允许没有被节点1匹配的路由;相当于修改了route-policy的默认规则;
在R1的ospf进程中使用filter-policy路由过滤工具调用route-policy作为条件过滤路由
提示:route-policy只有被调用工具调用以后,对应规则才会生效;
验证:在R1上查看路由表,看看对应路由是否被过滤掉?
提示:可以看到R1此时的路由表中就只有一条1.1.1.1的路由,其下一条为10.0.0.2;之前下一跳为11.0.0.2的路由就被路由策略给过滤掉了;
在R1上新建回环接口lo,其地址为10.10.10.10 32
新建ACL匹配10.10.10.10的路由
新建路由策略,匹配10.10.10.10的路由,并修改其开销为100,开销类型为1类
在R1上将直连路由导入ospf中,并调用路由策略
验证:在R2上查看路由表,看看对应路由的开销是否被修改?对应类型是否被修改?
提示:可以看到对应R2学习到的路由其开销为101,因为R1导入的开销为100,即R1发出的开销就为100,然后加上R2接收时默认是1,所以开销为101;其实如果我们这里不更改类型为1,则默认是类型2,类型2它是不会计算内部开销的,即不会加上R2的开销;
HCNP Routing&Switching之路由策略工具Route-Policy的更多相关文章
- HCNP Routing&Switching之路由过滤工具Filter-Policy
前文我们了解了路由控制技术中路由策略和路由匹配工具IP-Prefix相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15314262.html:今天我们 ...
- HCNP Routing&Switching之路由控制、路由策略和IP-Prefix List
前文我们了解了IS-IS路由聚合和认证相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15306645.html:今天我们来聊一聊路由控制技术中的路由策 ...
- HCNP Routing&Switching之路由控制-策略路由
前文我们了解了路由策略工具Route-Policy相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15322135.html:今天我们来聊一聊策略路由相 ...
- HCNP Routing&Switching之路由引入
前文我们了解了路由控制技术策略路由相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15333139.html:今天我们来聊一聊路由引入技术相关话题: 路 ...
- HCNP Routing&Switching之路由引入导致的问题及解决方案
前文我们了解了路由引入相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15359902.html:今天我们来讨论下由于路由引入所导致的问题以及怎么避免此 ...
- HCNP Routing&Switching之BGP路由控制
前文我们了解了BGP的路由属性和优选规则相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15489497.html:今天我们来聊一聊BGP路由控制相关话 ...
- HCNP Routing&Switching之BGP路由过滤和AS-Path-Filter
前文我们聊了下通过修改BGP路由属性来影响路由,从而达到控制BGP路由的目的:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15495585.html:今天我们 ...
- HCNP Routing&Switching之OSPF外部路由类型以及forwarding address
前文我们了解了OSPF的4类.5类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15222969.html:今天我们来聊一聊外部路由类型和forward ...
- HCNP Routing&Switching之IS-IS路由渗透和开销
前文我们了解了IS-IS邻居建立过程.LSDB同步.拓扑计算和路由的形成:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15265698.html:今天我们来聊 ...
随机推荐
- 手把手和你一起实现一个Web框架实战——EzWeb框架(二)[Go语言笔记]Go项目实战
手把手和你一起实现一个Web框架实战--EzWeb框架(二)[Go语言笔记]Go项目实战 代码仓库: github gitee 中文注释,非常详尽,可以配合食用 上一篇文章我们实现了框架的雏形,基本地 ...
- 【笔记】SVM思想解决回归问题
使用svm思想解决回归问题 使用svm思想解决是如何解决回归问题,其中回归问题的本质就是找一条线,能够最好的拟合数据点 怎么定义拟合就是回归算法的关键,线性回归算法就是让预测的直线的MSE的值最小,对 ...
- 玩转 pyocd
(一) pyocd (1) 什么是pyocd pyocd 是 arm 开发的一个 python 包(python package),该软件包可以使用多种USB调试器对 arm cortex-M 微 ...
- MySQL 条件查询
查询条件 having having的功能和where一样,都是用来筛选查询,不同的是,where在分组之前用,having必须在分组之后使用. # 查询每个部门大于30岁的平均工资,并且保留平均工资 ...
- Windows Go 开发环境下载、安装并配置
前言 对于我们Windows用户而言,Go提供两种环境安装方式(源码安装除外): 1.MSI安装(MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的 ...
- Docker是简介
Docker是什么 使用最广泛的开源容器引擎 一种操作系统级的虚拟化技术 依赖于Linux内核特性:Namespace(资源隔离)和Cgroups(资源限制) 一个简单的应用程序打包工具 D ...
- ProjectEuler 007题
题目:By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is ...
- 【C语言】第4章 选择结构程序设计
第4章 选择结构程序设计 C语言有两种选择语句: if 语句,实现两个分支的选择结构 switch 语句,实现多分支的选择结构 输入3个数a,b,c,要求按由小到大的顺序输出. 可以先用伪代码写出算法 ...
- 三.Go微服务--令牌桶实现原理
1. 前言 在上一篇文章 Go微服务: 令牌桶 当中简单的介绍了令牌桶实现的原理,然后利用 /x/time/rate 这个库 10 行代码写了一个基于 ip 的 gin 限流中间件,那这个功能是怎么实 ...
- FPGA nios软核编写液晶屏LCD12864驱动程序源码以及注意事项,本人亲自踩坑,重要!!!
LCD12864引脚如下: FPGA开发板得提供,3.3v电压,5v电压,普通io都是3.3v电压 DB:数据脚,得用双向io,因为程序里面需要读取液晶的应答(普通io3.3v可以) E:?输出引脚即 ...