路由过滤方法与常用工具

路由过滤

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

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

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

路由过滤方法: 

     常用的路由过滤工具:

    (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 10
        if-match   ip-prefix aa
        apply cost 100
    练习2:

    匹配ACL:

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

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

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

    练习4:
    route-policy policy_a  deny node 30
     if-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来控制路由的引入

     

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

    如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

    相关文章

    仿 RabbitMQ 实现的简易消息队列

    文章目录 项目介绍开放环境第三⽅库介绍ProtobufMuduo库 需求分析核⼼概念实现内容 消息队列系统整体框架服务端模块数据管理模块虚拟机数据管理模块交换路由模块消费者管理模块信道(通信通道)管理模块连接管理模块 客户端模块 公共模块日志类其他工具类…

    【天梯赛】L1-104 九宫格(C++)

    易忽略的错误&#xff1a;开始习惯性地看到n就以为是n*n数组了&#xff0c;实际上应该是9*9的固定大小数组&#xff0c;查了半天没查出来 题面 L1-104 九宫格 - 团体程序设计天梯赛-练习集 代码实现 #include<bits/stdc.h> using namespace std; //易错&#xff1a;开…

    CSS 小技巧 —— CSS 实现 Tooltip 功能-鼠标 hover 之后出现弹层

    CSS 小技巧 —— CSS 实现 Tooltip 功能-鼠标 hover 之后出现弹层 1. 两个元素实现 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>纯 CSS 实现 Tooltip 功能-鼠标 hover 之后出现弹层</titl…

    【转载】开源鸿蒙OpenHarmony社区运营报告(2025年1月)

    ●截至2025年1月31日&#xff0c;开放原子开源鸿蒙&#xff08;OpenAtom OpenHarmony&#xff0c;简称“开源鸿蒙”或“OpenHarmony”&#xff09;社区累计超过8200名贡献者&#xff0c;共63家成员单位&#xff0c;产生51.2万多个PR、2.9万多个Star、10.5万多个Fork、68个SIG。…

    03:Spring之Web

    一&#xff1a;Spring整合web环境 1&#xff1a;web的三大组件 Servlet&#xff1a;核心组件&#xff0c;负责处理请求和生成响应。 Filter&#xff1a;用于请求和响应的预处理和后处理&#xff0c;增强功能。 Listener&#xff1a;用于监听 Web 应用中的事件&#xff0c;实…

    ASP.NET Core 如何使用 C# 向端点发出 POST 请求

    使用 C#&#xff0c;将 JSON POST 到 REST API 端点&#xff1b;如何从 REST API 接收 JSON 数据。 本文需要 ASP .NET Core&#xff0c;并兼容 .NET Core 3.1、.NET 6和.NET 8。 要从端点获取数据&#xff0c;请参阅本文。 使用 . 将 JSON 数据发布到端点非常容易HttpClien…

    大语言模型需要的可观测性数据的关联方式

    可观测性数据的关联方式及其优缺点 随着现代分布式架构和微服务的普及&#xff0c;可观测性&#xff08;Observability&#xff09;已经成为确保系统健康、排查故障、优化性能的重要组成部分。有效的可观测性数据关联方式不仅能够帮助我们实时监控系统的运行状态&#xff0c;还…

    渗透利器:Burp Suite 联动 XRAY 图形化工具.(主动扫描+被动扫描)

    Burp Suite 联动 XRAY 图形化工具.&#xff08;主动扫描被动扫描&#xff09; Burp Suite 和 Xray 联合使用&#xff0c;能够将 Burp 的强大流量拦截与修改功能&#xff0c;与 Xray 的高效漏洞检测能力相结合&#xff0c;实现更全面、高效的网络安全测试&#xff0c;同时提升漏…

    C语言_通讯录

    “我若成佛&#xff0c;天下无魔&#xff1b;我若成魔&#xff0c;佛奈我何。” “小爷是魔&#xff0c;那又如何&#xff1f;” 下面我和一起来攻克通讯录的难关&#xff01;&#xff01; 明确通讯录的基本结构 实现一个通讯录: 人的信息: 名字年龄性别电话地址 实现通讯录的…

    STM32 Flash详解教程文章

    目录 Flash基本概念理解 Flash编程接口FPEC Flash擦除/写入流程图 Flash选项字节基本概念理解 Flash电子签名 函数读取地址下存放的数据 Flash的数据处理限制部分 编写不易&#xff0c;请勿搬运&#xff0c;感谢理解&#xff01;&#xff01;&#xff01; Flash基本概念…

    Flutter项目试水

    1基本介绍 本文章在构建您的第一个 Flutter 应用指导下进行实践 可作为项目实践的辅助参考资料 Flutter 是 Google 的界面工具包&#xff0c;用于通过单一代码库针对移动设备、Web 和桌面设备构建应用。在此 Codelab 中&#xff0c;您将构建以下 Flutter 应用。 该应用可以…

    第六篇:数字逻辑的“矩阵革命”——域控制器中的组合电路设计

    副标题 &#xff1a;用卡诺图破解车身域控制器的逻辑迷宫&#xff0c;揭秘华为DriveONE的“数字特工” ▍ 开篇&#xff1a;黑客帝国世界观映射 > "Welcome to the Real World." —— Morpheus > 在数字逻辑的世界里&#xff0c;组合电路就是构建Matr…

    成为高能量体质:从身体神庙到精神圣殿的修炼之路

    清晨五点&#xff0c;当城市还在沉睡&#xff0c;瑜伽垫上的汗水已经折射出第一缕阳光。这不是苦行僧的自虐&#xff0c;而是高能量体质者的日常仪式。在这个能量稀缺的时代&#xff0c;如何把自己修炼成一座小型核电站&#xff1f;答案就藏在身体的每个细胞里。 一、能量管理…

    从大规模恶意攻击 DeepSeek 事件看 AI 创新隐忧:安全可观测体系建设刻不容缓

    作者&#xff1a;羿莉&#xff08;萧羿&#xff09; 全球出圈的中国大模型 DeepSeek 作为一款革命性的大型语言模型&#xff0c;以其卓越的自然语言处理能力和创新性成本控制引领行业前沿。该模型不仅在性能上媲美 OpenAI-o1&#xff0c;而且在推理模型的成本优化上实现了突破…

    低成本+高性能+超灵活!Deepseek 671B+Milvus重新定义知识库搭建

    “老板说&#xff0c;这个项目得上Deepseek,还得再做个知识库...” 还有哪个开发者&#xff0c;最近没听到这样的抱怨&#xff1f; Deepseek爆火&#xff0c;推理端的智能提速&#xff0c;算力成本急剧下降&#xff0c;让不少原本不想用大模型&#xff0c;用不起大模型的企业&a…

    CSS 实现下拉菜单效果实例解析

    1. 引言 在 Web 开发过程中&#xff0c;下拉菜单是一种常见且十分实用的交互组件。很多前端教程都提供过简单的下拉菜单示例&#xff0c;本文将以一个简洁的实例为出发点&#xff0c;从 HTML 结构、CSS 样式以及整体交互逻辑三个层面进行详细解析&#xff0c;帮助大家理解纯 C…

    VSCode中出现“#include错误,请更新includePath“问题,解决方法

    1、出现的问题 在编写C程序时&#xff0c;想引用头文件但是出现如下提示&#xff1a; &#xff08;1&#xff09;首先检查要引用的头文件是否存在&#xff0c;位于哪里。 &#xff08;2&#xff09;如果头文件存在&#xff0c;在编译时提醒VSCode终端中"#include错误&am…

    【RabbitMQ的监听器容器Simple和Direct】 实现和场景区别

    在Spring Boot中&#xff0c;RabbitMQ的两种监听器容器&#xff08;SimpleMessageListenerContainer和DirectMessageListenerContainer&#xff09;在实现机制和使用场景上有显著差异。以下是它们的核心区别、配置方式及最佳实践&#xff1a; Simple类型 Direct类型 一、核心…

    yolo11自训练极简教程 - 训练侦测

    去年我处理过的最后一个版本是yolov10.新年再次着手处理视频识别的工作。发现自清华的v10之后&#xff0c;去年下半年v11再次发布了。国内访问github有些问题&#xff0c;但是yolo网站是可以方便访问的&#xff1a; Train - Ultralytics YOLO Docs 国外的知识库做的很棒&…

    大数据学习之SparkStreaming、PB级百战出行网约车项目一

    一.SparkStreaming 163.SparkStreaming概述 Spark Streaming is an extension of the core Spark API that enables scalable, high-throughput, fault-tolerant stream processing of live data streams. Spark Streaming 是核心 Spark API 的扩展&#xff0c;支持实时数据…