前文我们了解了路由过滤和路由过滤工具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的更多相关文章

  1. HCNP Routing&Switching之路由过滤工具Filter-Policy

    前文我们了解了路由控制技术中路由策略和路由匹配工具IP-Prefix相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15314262.html:今天我们 ...

  2. HCNP Routing&Switching之路由控制、路由策略和IP-Prefix List

    前文我们了解了IS-IS路由聚合和认证相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15306645.html:今天我们来聊一聊路由控制技术中的路由策 ...

  3. HCNP Routing&Switching之路由控制-策略路由

    前文我们了解了路由策略工具Route-Policy相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15322135.html:今天我们来聊一聊策略路由相 ...

  4. HCNP Routing&Switching之路由引入

    前文我们了解了路由控制技术策略路由相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15333139.html:今天我们来聊一聊路由引入技术相关话题: 路 ...

  5. HCNP Routing&Switching之路由引入导致的问题及解决方案

    前文我们了解了路由引入相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15359902.html:今天我们来讨论下由于路由引入所导致的问题以及怎么避免此 ...

  6. HCNP Routing&Switching之BGP路由控制

    前文我们了解了BGP的路由属性和优选规则相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15489497.html:今天我们来聊一聊BGP路由控制相关话 ...

  7. HCNP Routing&Switching之BGP路由过滤和AS-Path-Filter

    前文我们聊了下通过修改BGP路由属性来影响路由,从而达到控制BGP路由的目的:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15495585.html:今天我们 ...

  8. HCNP Routing&Switching之OSPF外部路由类型以及forwarding address

    前文我们了解了OSPF的4类.5类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15222969.html:今天我们来聊一聊外部路由类型和forward ...

  9. HCNP Routing&Switching之IS-IS路由渗透和开销

    前文我们了解了IS-IS邻居建立过程.LSDB同步.拓扑计算和路由的形成:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15265698.html:今天我们来聊 ...

随机推荐

  1. docker 搭建kafka集群(入门版)

    1.环境 docker, docker-compose 2.zk-kafka.yml version: '3' services: zoo1: image: zookeeper:3.4.14 rest ...

  2. STM32—重定向printf和getchar函数到串口

    在STM32测试串口的时候经常需要在开发板和上位机之间传输数据,我们可以用c语言中的printf()函数和getchar()函数来简化传输. 以printf()为例: printf()函数实际上是一个 ...

  3. NOIP 模拟 9 分组

    题解 这道题我们发现可以根据 \(k=1\) 和 \(k=2\) 的情况分别讨论 \(k=1\) 时,我们发现要保证字典序,那么我们从后往前扫,扫的时候判断一下当前数是否会和上一段的冲突. 复杂度瓶颈 ...

  4. luoguP1528&2329 栅栏&切蛋糕

    前言 蒟弱本来是在亿万年前做二分答案专题栅栏的,由于数据水所以过掉了,后来发现有一个数据加强版,也就是本题,于是爆T了...过了有个五六个月回来填坑了...现在开O2是在最优解第一个(自豪ing 题目 ...

  5. SSM自学笔记(七)

    14.MyBatis的多表操作 1.MyBatis的多表操作 1.1 一对一查询 一对一查询的模型 用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户 一对一查询的需求:查询一个订单 ...

  6. mongodb(docker-compose)

    version: '3.1' services: mongo: image: mongo restart: always environment: MONGO_INITDB_ROOT_USERNAME ...

  7. C语言之----面向对象的方法实现链表的操作

    1 /* 2 * 详细运行过程: 本程序实现的是对链表的简单的操作,即链表的增 删 改 查 销毁 初始化 3 * 运用面向对象的思想,实现一个类op,op中包括了所有的链表操作方法 4 * 其他的程序 ...

  8. dubbo(一)

    1. Introduction 参考链接:https://www.baeldung.com/dubbo Dubbo is an open-source RPC and microservice fra ...

  9. ProjectEuler 006题

    题目: The sum of the squares of the first ten natural numbers is, 12 + 22 + ... + 102 = 385 The square ...

  10. linux 常用命令(四)——(centos7-centos6.8)Vim安装

    centos是默认安装了vi编辑器的,vim编辑器是没安装或者未完全安装的,个人习惯用vim,所以记录一下vim编辑器的安装: 1.查看vim相关软件信息: yum search vim 2.在线安装 ...