华为数通HCIP-流量过滤与转发路径控制
流量控制
分类:流量过滤、流量转发路径控制;
特点:1、作用于数据层面/转发层面;
2、不会影响路由表,针对转发流量生效;
实现步骤:
1、通过流量匹配工具匹配流量(ACL);
2、将匹配工具应用到流量控制工具;
3、在设备中应用流量控制工具;
(1)traffic-filter
作用:用于过滤流量;
配置
a、通过ACL匹配流量,其中动作为deny的流量会被过滤,动作为permit或者没有被匹配的流量均不会被过滤;
acl number 3000
rule 5 deny ip source 10.1.12.1 0 destination 7.7.7.7 0 //过滤10.1.12.1到7.7.7.7的流量;
b、将ACL调用到traffic-filter,并且在接口下调用;
interface GigabitEthernet0/0/0
traffic-filter inbound acl 3000 //接口下调用,因此只能对接收的流量生效,对本地产生的流量不生效;
(2)策略路由(PBR)
作用:控制本地流量转发路径;
实现步骤
a、通过ACL匹配需要控制的流量,动作为permit的流量会被匹配上;
acl number 3000
rule 5 permit ip source 2.2.2.2 0 destination 7.7.7.7 0
b、
[R2]policy-based-route 2to7 permit node 10 //创建策略路由2to7,节点10
if-match acl 3000 //指定ACL 3000作为匹配条件
apply ip-address next-hop 10.1.24.4 //将匹配上的流量,从下一跳10.1.24.4转发出去;
c、在全局下调用
[R2]ip local policy-based-route 2to7 //全局下调用,只能对本设备产生的流量生效,对接收到的流量不生效;
匹配规则:
(1)根据node号,由小到大进行匹配;
(2)根据if-match中的内容,匹配流量;
(3)通过apply指定执行动作;
(4)如果流量没有配任何node匹配上,则执行deny动作,默认按照路由表转发;
(5)当配置了多个if-match时,必须同时满足了所有if-match条件,才能执行动作;
if-match之间的关系为:与
node之间的关系为:或
(3) MQC(模块化QOS命令行)
作用:控制接收到的流量的转发路径
实现步骤
a、通过ACL将需要控制的流量匹配出来,在流分类中调用;
acl number 3000
rule 5 permit ip source 2.2.2.2 0 destination 7.7.7.7 0
rule 10 permit ip destination 7.7.7.7 0
traffic classifier a //创建流分类a
if-match acl 3000 //调用ACL3000作为匹配条件
b、创建流行为,定义动作
traffic behavior a
redirect ip-nexthop 10.1.24.4 //将流量发往10.1.24.4
c、创建流策略,将流分类以及流行为进行绑定
traffic policy a
classifier a behavior a
d、接口下调用
interface GigabitEthernet0/0/0
traffic-policy a inbound //控制流量走向的策略,只能在接口的入方向调用;
**接口下调用,仅能对收到的流量生效,无法对本地产生的流量生效;
ACL匹配流量时的注意事项:
1、根据规则号由小到大进行匹配,匹配上执行动作;
2、如果应用于traffic-filter,默认动作为permit;
应用于PBR、MQC时,默认动作为deny;
——————————
路由控制
特点:作用于控制层面/路由层面;
直接影响路由表;
步骤:
1、匹配工具将需要控制的流量匹配出来;(ACL、地址前缀列表)
2、调用匹配工具到路由控制工具上;(路由策略、过滤策略)
3、设备调用;(需要在路由协议中调用)
匹配工具:
1、ACL
注意事项:
(1)ACL匹配路由,只能用基本ACL,基于源ip匹配;
(2)ACL用于匹配路由时,默认动作为deny;
2、地址前缀列表
[R5]ip ip-prefix a index 10 permit 6.6.6.6 32 //匹配路由6.6.6.6/32
匹配规则:
(1)根据index号,由小到大进行匹配;
(2)默认动作为deny,不匹配;
(3)指定的掩码在指定的掩码范围里,掩码就参与规则制定;
(4)只指定了greater-equal,没指定less-equal ,less-equal 以32进行计算。
(5)只指定了less-equal ,没指定greater-equal,greater-equal按照0计算。
ip ip-prefix b index 10 permit 192.168.1.0 25 greater-equal 25 less-equal 27 //匹配192.168.1.0,掩码为25~27位路由;
ip ip-prefix b index 10 permit 192.168.1.0 26 greater-equal 25 less-equal 27 //匹配192.168.1.0,掩码为26~27位路由;
ip ip-prefix b index 10 permit 192.168.1.0 24 greater-equal 25 less-equal 27 //匹配192.168.1.0,掩码为25~27位路由;
ip ip-prefix b index 10 permit 192.168.1.0 25 greater-equal 26 //匹配192.168.1.0,掩码为26~32位路由;
ip ip-prefix b index 10 permit 192.168.1.0 25 less-equal 28 //匹配192.168.1.0,掩码为25~32位路由;
ip ip-prefix b index 10 permit 0.0.0.0 0 less-equal 32 //匹配所有路由
缺陷:无法灵活匹配奇偶路由
1.1.1.1/32
1.1.1.2/32 acl 2000 ——>rule 5 p s 1.1.1.1 0.0.0.254 //匹配1.1.1.x,x为奇数的路由
.....
1.1.1.100/32
路由策略(route-policy)
作用:可以控制路由的传递,以及修改路由的属性;
调用:ospf isis在引入时调用,或者修改优先级时调用;
BGP可以peer邻居时调用;
配置:
[R5]ip ip-prefix a index 10 permit 6.6.6.6 32 //匹配路由6.6.6.6/32
[R5]route-policy a permit node 10 //创建路由策略a,节点10,动作为permit(代表不过滤)
if-match ip-prefix a //调用地址前缀列表a,作为匹配条件
apply tag 20 //将被匹配的路由,打上tag 10;
route-policy a permit node 20 //创建空节点20,代表匹配所有路由,动作为permit,不过滤;
ospf 1 router-id 5.5.5.5
import-route static route-policy a //引入路由时调用;
匹配规则:
(1)根据node号,由小到大进行匹配;
(2)根据if-match中的内容,匹配流量;
(3)node中指定的permit或者deny,决定了流量是否被过滤,如果为permit,则不过滤,deny则过滤;
(3)通过apply指定执行动作,可以进行路由属性的修改(可选);
(4)如果路由没有配任何node匹配上,则执行deny动作,代表被过滤;
(5)当配置了多个if-match时,必须同时满足了所有if-match条件,才能执行动作;
if-match之间的关系为:与
node之间的关系为:或
过滤策略(filter-policy)
作用:只能过滤路由
应用:ospf、isis在进程下调用;
BGP在peer邻居时调用;
配置步骤
1、通过匹配工具,将需要过滤的路由deny掉,其余无需过滤的路由,permit;
ip ip-prefix 6 index 10 deny 6.6.6.6 32 //过滤6.6.6.6/32
ip ip-prefix 6 index 20 permit 0.0.0.0 0 less-equal 32 //其余不过滤
2、进程下调用
2.1 入方向
控制路由进入本设备的路由表,被匹配工具deny的路由无法进路由表;
ospf 1 router-id 1.1.1.1
filter-policy ip-prefix 6 import //入方向配置过滤策略,调用地址前缀列表6作为匹配工具;
2.2 出方向
控制路由引入动作,被匹配工具deny的路由,无法引入成功;
ospf 1 router-id 5.5.5.5
filter-policy ip-prefix 6 export //出方向配置过滤策略,调用地址前缀列表6作为匹配工具;
相关文章:
华为数通HCIP-流量过滤与转发路径控制
流量控制 分类:流量过滤、流量转发路径控制; 特点:1、作用于数据层面/转发层面; 2、不会影响路由表,针对转发流量生效; 实现步骤: 1、通过流量匹配工具匹配流量(ACL…...
SpringBoot中定时任务开启多线程避免多任务堵塞
场景 SpringBoot中定时任务与异步定时任务的实现: SpringBoot中定时任务与异步定时任务的实现_霸道流氓气质的博客-CSDN博客 使用SpringBoot原生方式实现定时任务,已经开启多线程支持,以上是方式之一。 除此之外还可通过如下方式。 为什…...
回归预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络多输入单输出回归预测
回归预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 Matlab实…...
入侵检测——IDS概述、签名技术
1. 什么是IDS? IDS(intrusion detection system)入侵检测系统,是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它会对系统的运行状态进行监视,发现各种攻击企…...
golang 标准库json Marshal 序列化与反序列化
标准库代码 func Marshal(v any) ([]byte, error) {e : newEncodeState()defer encodeStatePool.Put(e)err : e.marshal(v, encOpts{escapeHTML: true})if err ! nil {return nil, err}buf : append([]byte(nil), e.Bytes()...)return buf, nil }func Unmarshal(data []byte, …...
【【51单片机AD/DA的分析】】
51单片机AD/DA的分析 看似单片机实验,其实是要学好数电 模数转换 与 数模转换 运算放大器 DA的转换就是利用运算放大器实现的 输出电压v0-(D7~D0)/256 x (VrefxRfb)/R D7~D0 就是我们控制的按键看输入多少 然后再划分256份 Vref是我们设置的一个基准电压 PWM 这种…...
在docker中安装使用达梦数据库
关于在docker中安装达梦数据库,达梦官方网站其实是有提供安装使用方法的,但可能还是有朋友不会,这里将在原文基础上简单扩充下。 注意:docker容器中,数据库安装后没有创建服务的脚本,只有bin、bin2、conf、…...
Leetcode-每日一题【剑指 Offer II 010. 和为 k 的子数组】
题目 给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数。 示例 1: 输入:nums [1,1,1], k 2输出: 2解释: 此题 [1,1] 与 [1,1] 为两种不同的情况 示例 2: 输入:nums [1,2,3], k 3输出: 2 提示: 1 < nums.leng…...
【JavaScript】使用Promise来处理异步调用,方法传入参数为接口,并回调接口的方法
例如我们在下面这个方法传入一个接口,并将方法的执行过程用传入的接口进行回调 connect() {wx.connectSocket({url: this.url,success: () > {console.log(WebSocket 连接创建成功);},fail: (err) > {console.error(WebSocket 连接创建失败, err);}});wx.onS…...
grid map学习笔记1之Ubuntu18.04+ROS-melodic编译安装grid_map栅格地图及示例运行
文章目录 0 引言1 安装依赖和编译1.1 安装依赖1.2 下载编译 2 运行示例2.1 simple_demo2.2 tutorial_demo2.3 iterators_demo2.4 image_to_gridmap_demo2.5 grid_map_to_image_demo2.6 opencv_demo2.7 resolution_change_demo2.8 filters_demo2.9 interpolation_demo 0 引言 苏…...
postgres wal2json插件jsonb字段数据丢失问题解决
使用pgwal2jsondebezium进行数据同步时,发现偶尔会有jsonb字段数据丢失的问题 进行测试时发现: 1、发生数据丢失的jsonb字段长度都比较大(超过toast阈值,使用toast表存储) 2、针对发生jsonb字段丢失的数据,jsonb字段本身未发生修…...
华为eNSP:路由引入
一、拓扑图 二、路由器的配置 1、配置路由器的IP AR1: [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 1.1.1.1 24 [Huawei-GigabitEthernet0/0/0]qu AR2: [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 1.1.1.2 24 [Huaw…...
Retrospectives on the Embodied AI Workshop(嵌入式人工智能研讨会回顾) 论文阅读
论文信息 题目:Retrospectives on the Embodied AI Workshop 作者:Matt Deitke, Dhruv Batra, Yonatan Bisk 来源:arXiv 论文地址:https://arxiv.org/pdf/2210.06849 Abstract 我们的分析重点关注 CVPR Embodied AI Workshop 上…...
「JVM」Full GC和Minor GC、Major GC
Full GC和Minor GC、Major GC 一、Full GC1、什么是Full GC?2、什么情况下会触发full gc? 二、Minor GC1、什么是Minor GC?2、什么情况下会触发Minor GC? 三、Major GC1、什么是Major GC?2、什么情况下会触发Major GC?…...
Asp.Net MVC 使用Log4Net
Asp.Net MVC 使用Log4Net 在 ASP.NET MVC 中使用 Log4net 需要进行一些配置和代码集成。下面是在 ASP.NET MVC 中使用 Log4net 的步骤: 1. 安装 Log4net NuGet 包 打开 NuGet 包管理器控制台,并运行以下命令来安装 Log4net: Install-Pack…...
[元带你学: eMMC协议 29] eMMC 断电通知(PON) | 手机平板电脑断电通知
依JEDEC eMMC及经验辛苦整理,原创保护,禁止转载。 专栏 《元带你学:eMMC协议》 内容摘要 全文 2000 字, 主要内容 前言 断电通知是什么? 断电通知过程...
vue使用recorder-core.js实现录音功能
下载组件 npm install recorder-core封装方法 record.ts //必须引入的核心 import Recorder from recorder-core;//引入mp3格式支持文件;如果需要多个格式支持,把这些格式的编码引擎js文件放到后面统统引入进来即可 import recorder-core/src/engine/…...
ThinkPHP8知识详解:给PHP8和MySQL8添加到环境变量
在PHPenv安装的时候,环境变量默认的PHP版本是7.4的,MySQL的版本是5.7的,要想使用ThinkPHP8来开发,就必须修改环境变量,本文就详细讲解了如果修改PHP和MySQL的环境变量。 1、添加网站 启动phpenv,网站&…...
UE使用UnLua(二)
1.前言 最近也是比较忙,忘了来更新了,好多都是开了头断更的(狗头),今天抽空再更一篇!! 这篇讲一下在UnLua中覆盖蓝图事件(函数),及按钮、文本控件的一些使用…...
Appium+python自动化(二十五)-获取控件ID(超详解)
简介 在前边的第二十二篇文章里,已经分享了通过获取控件的坐标点来获取点击事件的所需要的点击位置,那么还有没有其他方法来获取控件点击事件所需要的点击位置呢?答案是:Yes!因为在不同的大小屏幕的手机上获取控件的坐…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
