路由过滤方法与常用工具

引言

在前面我们已经学习了路由引入,接下来我们就更进一步来学习路由过滤

前一篇文章:重发布:路由引入(点击即可)

路由过滤

定义:路由器在发布或者接收消息时,可能需要对路由信息进行过滤。

作用:控制路由的传播与生成;节省设备和链路资源消耗,保护网络安全。

举例:学习汇总后的路由,而不学习汇总时的明细路由

路由过滤方法: 

     常用的路由过滤工具:

    (1)静默接口:

    在RIP协议中,静默接口不发送路由更新

    在OSPF协议中,静默接口不发送OSPF协议报文

    (2)  ACL

    通过ACL抓取流量,缺陷:只能匹配数字特征,不能匹配掩码特征,导致匹配不精确;

    (3) 地址前缀列表

    匹配IP地址前缀,即目的网络地址和掩码长度--精确匹配;

    注:如果所有表项为deny模式,则任何路由都不能通过该过滤列表。这种情况下,需要在多条deny模式的表项后定义一个允许规则:

    permit 0.0.0.0 less-equal 32表项,允许其它所有IPV4路由信息通过

      (4)filter-policy(过滤策略)

    通过与ACL、地址前缀列表结合使用,filter-policy可以对路由信息进行过滤

     filter-policy过滤接收路由(以RIP为例)

     filter-policy过滤接收路由,对进入RIP路由表的路由进行过滤(RIP),特点:既影响做策略的本机上的RIP路由表,又影响下游路由器的RIP表

    filter-policy过滤发送路由(RIP),特点:不影响做策略的本机上的RIP路由表,但影响下游路由器的RIP表

    总结:通过与ACL、地址前缀列表结合使用,  filter-policy可以对路由信息进行过滤

      

    filter-policy过滤接收路由(以OSPF为例)

    (1)特点:影响本机及下游路由器的OSPF表的学习,过滤本机及下游路由器的LSDB表中的LSA,在协议视图下配置进方向

    方法2:在传入区域的区域视图下配置出方向,不影响本机ospf表的学习,但影响下游路由器ospf表的学习,过滤本机及下游路由器的LSDB表中的LSA

    路由过滤总结:

    利用路由过滤可控制路由在网络内传播

    ACL和地址前缀列表可用于路由信息的识别、筛选

    地址前缀列表ACL更加灵活

    可利用filter-policy工具在RIP、OSPF、IS-IS等协议内过滤路由

    (5)route-policy:路由策略

    1、概念:

    控制层流量 --- 路由协议传递路由信息产生的流量

    数据层流量 --- 设备访问目标地址时产生的流量

    2、定义:

    为了改变网络流量所经过的途径而修改路由信息的技术------控制层流量

    3、作用:

         路由过滤;

         修改路由属性;

    4、做路由策略的思路:

    (1)抓取流量

    通过ACL实现;

    通过前缀列表(ip prefix)实现;

    (2)做策略:对流量进行修改或者不转发

    练习1:

    前缀匹配列表: 

    ip ip-prefix aa permit 10.1.1.0 24
    route-policy policy_a  permit node 10if-match   ip-prefix aaapply cost 100
    练习2:

    匹配ACL:

    acl 2002
    rule permit source 10.2.2.0 0.0.0.255
    route-policy policy_a  permit node 20if-match  acl 2002apply tag 20
    练习3:
    route-policy policy_a  deny node 30

    某个节点中没有写任何的if-match,则表示匹配所有路由,都会被拒绝掉

    没有写任何的apply,则不对任何路由进行属性修改

    练习4:
    route-policy policy_a  deny node 30if-match  acl 2002
    apply cost 30

    思考apply cost 30有意义吗?

    匹配规则:

    (1)路由信息到达时,检查是否配置了路由策略,如果配置,则进入节点匹配;否则放行;

    (2)检查路由策略第一个节点的if-match条件,匹配则检查节点动作是permit还是deny,如果是permit则进一步检查apply子句,有apply子句则执行路由属性修改并放行。没有apply子句则不修改属性并放行;如果是deny则不能通过。如果没有匹配该节点的if-match条件,则检查下一个节点

    (3)最后一个节点仍不匹配,则拒绝该路由信息通过。

    基本配置:

    a.创建一个route-policy节点
    route-policy route-policy-name { permit | deny } node node编号

    节点之间的关系是“或”的关系,如果通过了其中一个节点,就意味着通过该路由策略,不再对其他节点进行匹配

    b.配置if-match语句,使用if-match命令可定义匹配条件,所匹配的对象是路由信息的一些属性,例如路由的目的网络地址或掩码长度、度量值、标记或下一跳IP地址等

    节点的匹配规则表:

    练习1:

    if-match语句之间是“与”的关系,需要同时满足要求。

    route-policy aaa permit node 10
    if-match  acl 2000
    if-match  acl 2001
    练习2:
    acl 2000
    rule permit source 192.168.1.0 0.0.0.255
    acl 2001
    rule permit source 192.168.2.0 0.0.0.255
    route-policy aaa permit node 10
    if-match  acl 2000
    if-match  acl 2001

    不可能有一条路由同时满足这两个acl,两个acl之间毫无交集。所以练习2这个路由策略写的毫无意义。

    c.配置apply 语句,执行语句

    在 Route-Policy的节点视图下,使用apply命令指定需执行的动作,这些动作主要是对所匹配的路由的某些属性进行修改

    apply执行动作表

    设置路由的度量值:apply cost  cost
    设置OSPF的度量值类型:apply cost-type { type-1 / type-2 }
    设置路由的标记:apply tag tag

    注:一个节点中可以不包含任何 apply语句,此时该节点只被用于执行路由过滤,而不用于设置路由的属性

    5、注意事项

    route-policy用于路由过滤,不用配置空节点

    route-policy仅用于属性修改,需要配置空节点

    route-policy能够配置的位置

    IGP路由引入时;

    BGP宣告时;

    BGP路由引入;

    BGP邻接关系上;

    6、route-policy的应用

    (1)用route-policy来控制路由接收和发布时的属性

    (2)用route-policy来控制路由的引入

     

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

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

    相关文章

    元宵佳节,我的创作纪念日:技术之路的回顾与展望

    今天是元宵节,一个象征着团圆与美好的节日。巧合的是,今天也是我作为技术博客博主的创作纪念日。在这个特别的日子里,我想和大家分享我的创作故事,回顾初心、总结收获、展望未来,同时也希望能为正在技术道路上探索的你…

    【STM32】H743的以太网MAC控制器的一个特殊功能

    调试743的MAC,翻阅手册的时候,发现了一个有意思的功能 混杂模式 H743的MAC控制器,可以设置为混杂模式,这就意味着它可以做一些网络监控的应用,譬如连接具备端口镜像功能的交换机,然后直接代替PC实现网络数据…

    一个AI应用的开发、上线流程解析

    目录 1. 模型文件格式 1.1 CheckPoint (ckpt) 文件格式 1.2 .pth 文件格式 1.3 .mindir 文件格式 1.4 .onnx 文件格式 2. 推理(Inference) 2.1.pth (PyTorch模型格式) 2.2 .mindir (MindSpore模型格式) 2.3.onnx (开放神经网络交换格式) 2.4实…

    使用grafana v11 建立k线(蜡烛图)仪表板

    先看实现的结果 沪铜主力合约 2025-02-12 的1分钟k线图 功能介绍: 左上角支持切换主力合约,日期,实现动态加载数据. 项目背景: 我想通过前端展示期货指定品种某1天的1分钟k线,类似tqsdk 的web_gui 生成图形化界面— TianQin Python SDK 3.7.8 文档 项目架构: 后端: fastap…

    【C++】解锁<list>的正确姿势

    > 🍃 本系列为初阶C的内容,如果感兴趣,欢迎订阅🚩 > 🎊个人主页:[小编的个人主页])小编的个人主页 > 🎀 🎉欢迎大家点赞👍收藏⭐文章 > ✌️ 🤞 &#x1…

    JUC并发—1.Java集合包底层源码剖析

    大纲 1.为什么要对JDK源码剖析 2.ArrayList源码一:基本原理以及优缺点 3.ArrayList源码二:核心方法的原理 4.ArrayList源码三:数组扩容以及元素拷贝 5.LinkedList源码一:优缺点和使用场景 6.LinkedList源码二:双…

    修改docker内容器中的某配置文件的命令

    先找到配置文件config.php find / -name "config.php" 2>/dev/null 然后用vi编辑器修改配置文件 vi /var/www/config.php 最后就是vi的基本操作,根据具体需求使用: vi 有两种主要模式: 命令模式:进入 vi 后的默认…

    一竞技瓦拉几亚S4预选:YB 2-0击败GG

    在2月11号进行的PGL瓦拉几亚S4西欧区预选赛上,留在欧洲训练的YB战队以2-0击败GG战队晋级下一轮。双方对阵第二局:对线期YB就打出了优势,中期依靠卡尔带队进攻不断扩大经济优势,最终轻松碾压拿下比赛胜利,以下是对决战报。 YB战队在天辉。阵容是潮汐、卡尔、沙王、隐刺、发条。G…

    使用Docker部署MySQL 5.7并配置防火墙

    步骤1: 切换到超级用户 首先,打开终端,输入以下命令切换到超级用户(root): su 然后输入您的root密码。 步骤2: 启动Docker服务 确保Docker服务已经启动。可以使用如下命令启动Docker(如果它尚未运行):…

    vue elementui select下拉库组件鼠标移出时隐藏下拉框

    方案&#xff1a; select 监听 mouseleave事件&#xff0c;当鼠标离开时通过唯一标识ref设置select 下拉框隐藏&#xff0c;并做失焦 <el-select v-model"value" :popper-append-to-body"false" class"select_drop_inner" size"sm…

    国产操作系统安装DeepSeek

    从年前到现在&#xff0c;DeepSeek这款语言AI模型&#xff0c;一经发布直接在全球爆火&#xff0c;在热搜上更是牢牢占据一席之地。无论是技术大神&#xff0c;还是紧跟潮流的技术小白&#xff0c;都被它强大的自然语言处理能力所吸引。作为国产操作系统的用户&#xff0c;千万…

    记使用AScript自动化操作ios苹果手机

    公司业务需要自动化操作手机&#xff0c;本来以为很困难&#xff0c;没想到使用AScript工具出乎意料的简单&#xff0c;但是还有很多坑存在&#xff0c;写个博客记录一下。 工具信息&#xff1a; 手机&#xff1a;iphone7 系统版本&#xff1a;ios15 AScript官方文档链接&a…

    关于conda换镜像源,pip换源

    目录 1. 查看当前下载源2. 添加镜像源2.1清华大学开源软件镜像站2.2上海交通大学开源镜像站2.3中国科学技术大学 3.删除镜像源4.删除所有镜像源&#xff0c;恢复默认5.什么是conda-forge6.pip换源 1. 查看当前下载源 conda config --show channels 如果发现多个 可以只保留1个…

    Springboot 中如何使用Sentinel

    在 Spring Boot 中使用 Sentinel 非常方便&#xff0c;Spring Cloud Alibaba 提供了 spring-cloud-starter-alibaba-sentinel 组件&#xff0c;可以快速将 Sentinel 集成到你的 Spring Boot 应用中&#xff0c;并利用其强大的流量控制和容错能力。 下面是一个详细的步骤指南 …

    ARM Cortex-M3/M4 权威指南 笔记【一】技术综述

    一、Cortex-M3/M4 处理器的一般信息 1.1 处理器类型 ARM Cortex-M 为 32 位 RISC&#xff08;精简指令集&#xff09;处理器&#xff0c;其具有&#xff1a; 32位寄存器32位内部数据通路32位总线接口 除了 32 位数据&#xff0c;Cortex-M 处理器&#xff08;以及其他任何 A…

    (一)Axure制作移动端登录页面

    你知道如何利用Axure制作移动端登录页面吗&#xff1f;Axure除了可以制作Web端页面&#xff0c;移动端也是可以的哦&#xff0c;下面我们就一起来看一下Axure制作移动端登录页面的过程吧。 第一步&#xff1a;从元件中拖入一个矩形框&#xff0c;并设置其尺寸为&#xff1a;37…

    变化检测相关论文可读list

    一些用得上的&#xff1a; 遥感变化检测常见数据集https://github.com/rsdler/Remote-Sensing-Change-Detection-Dataset/ 代码解读&#xff1a;代码解读 | 极简代码遥感语义分割&#xff0c;结合GDAL从零实现&#xff0c;以U-Net和建筑物提取为例 NeurIPS2024: https://mp.w…

    从深入理解 netty——》AI

    想了很久&#xff0c;准备写一个系列从深入理解 netty——》AI。 先说下为啥要从netty开始&#xff0c;看看netty的重要性 rocketmq异步消息组件nacos微服务注册中心spring cloud gateway网关redission分布式缓存es全文检索sentinel流量控制&#xff0c;服务保护seata分布式…

    Auto-go 环境配置

    go环境配置 1.下载 Go 安装包 从 Go 官方网站&#xff08;https://golang.org/dl/&#xff09;下载适合你操作系统的 Go 安装包。不过由于网络原因&#xff0c;可能访问官方网站不太方便可以用我这里的链接Go安装包下载地址点击自动下载 2.下载ide这里使用GoLand 官方网站 …

    如何在 Elasticsearch 中设置向量搜索 - 第二部分

    作者&#xff1a;来自 Elastic Valentin Crettaz 了解如何在 Elasticsearch 中设置向量搜索并执行 k-NN 搜索。 本文是三篇系列文章中的第二篇&#xff0c;深入探讨了向量搜索&#xff08;也称为语义搜索&#xff09;的复杂性以及它在 Elasticsearch 中的实现方式。 第一部分重…