当前位置: 首页 > news >正文

ACL(访问控制列表)

ACL技术概述

随着网络的飞速发展,网络安全和网络服务质量 QoS Quality of Service )问题日益突出。
园区重要服务器资源被随意访问,园区机密信息容易泄露,造成安全隐患。
Internet 病毒肆意侵略园区内网,内网环境的安全性堪忧。
网络带宽被各类业务随意挤占,服务质量要求最高的语音、视频业务的带宽得不到保障,造成用户体验差。
以上种种问题,都对正常的网络通信造成了很大的影响。因此,提高网络安全性和服务质量迫在眉睫,我们需要对网络进行控制。比如,需要借助一个工具帮助实现一些流量的过滤

通过ACL可以实现对网络中报文流的精确识别和控制,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而切实保障网络环境的安全性和网络服务质量的可靠性。

  • ACL是由permitdeny语句组成的一系列有顺序的规则的集合;它通过匹配报文的相关字段实现对报文的分类。
  • ACL是能够匹配一个IP数据包中的源IP地址、目的IP地址、协议类型、源目的端口等元素的基础性工具;ACL还能够用于匹配路由条目。

注意:ACL可以通过对网络中报文流的精确识别,与其他技术结合,达到控制网络访问行为。

ACL基本概念

ACL分类

基本 ACL
主要针对 IP 报文的源 IP 地址进行匹配,基本 ACL 的编号范围是 2000-2999
比如这个例子,创建的是 acl 2000 ,就意味着创建的是基本 ACL
高级 ACL
可以根据 IP 报文中的源 IP 地址、目的 IP 地址、协议类型, TCP UDP 的源目端口号等元素进行匹配,可以理解为:基本 ACL 是高级 ACL 的一个子集,高级 ACL 可以比基本 ACL 定义出更精确、更复杂、更灵活的规则。

此篇文章主要讲解基本ACL和高级ACL。

ACL组成

ACL由若干条permitdeny语句组成。每条语句就是该ACL的一条规则,每条语句中的permitdeny就是与这条规则相对应的处理动作。

例如:

rule 5   permit     source       192.168.1.1        0.0.0.0

节点     动作       匹配项       参数               通配符掩码

节点: 一个ACL的每条规则都需要进行排列

       默认5的步长进行条目的排列,取值范围是<0-4294967294>

       [AR1-acl-basic-2000]step <1-20> 设置步长,默认为5

动作:permit/deny 只是做为标记使用,具体是允许通过还是禁止通过是由其他技术决定的

匹配项ACL定义了极其丰富的匹配项。例子中体现的源地址,ACL还支持很多其他规则匹配项。例如,二层以太网帧头信息(如源MAC、目的MAC、以太帧协议类型)、三层报文信息(如目的地址、协议类型)以及四层报文信息(如TCP/UDP端口号)等。

参数:具体的信息。

通配符掩码:不需要连续的1和连续的0组合,0表示精确匹配,1表示任意匹配。

如果想匹配 192.168.1.0/24 网段中的奇数 IP 地址,通配符该怎么写呢?
我们先来看一看,奇数 IP 地址都有哪些: 192.168.1.1 192.168.1.5 192.168.1.11……
后八位写成二进制: 192.168.1.00000001 192.168.1.00000101 192.168.1.00001011……
可以看出共同点:最后 8 位的高 7 位是任意值,最低位固定为 1 ,因此答案是: 192.168.1.1 0.0.0.254 0.0.0.11111110
这就得出了通配符的一个特点:通配符中的 1或者0 是可以不连续的
还有两个特殊的通配符:
当通配符全为 0 来匹配 IP 地址时,表示精确匹配某个 IP 地址;
当通配符全为 1 来匹配 0.0.0.0 地址时,表示匹配了所有 IP 地址。

ACL匹配机制

ACL 的匹配机制概括来说就是:
配置 ACL 的设备接收报文后,会将该报文与 ACL 中的规则逐条进行匹配,如果不能匹配上,就会继续尝试去匹配下一条规则。
一旦匹配上,则设备会对该报文执行这条规则中定义的处理动作,并且不再继续尝试与后续规则匹配。
匹配流程:首先系统会查找设备上是否配置了 ACL
如果 ACL 不存在,则返回 ACL 匹配结果为:不匹配。
如果 ACL 存在,则查找设备是否配置了 ACL 规则。
如果规则不存在,则返回 ACL 匹配结果为:不匹配。
如果规则存在,则系统会从 ACL 中编号最小的规则开始查找。
如果匹配上了 permit 规则,则停止查找规则,并返回 ACL 匹配结果为:匹配(允许)。
如果匹配上了 deny 规则,则停止查找规则,并返回 ACL 匹配结果为:匹配(拒绝)。
如果未匹配上规则,则继续查找下一条规则,以此循环。如果一直查到最后一条规则,报文仍未匹配上,则返回 ACL 匹配结果为:不匹配。
从整个 ACL 匹配流程可以看出,报文与 ACL 规则匹配后,会产生两种匹配结果:“匹配”和“不匹配”。
匹配(命中规则):指存在 ACL ,且在 ACL 中查找到了符合匹配条件的规则。不论匹配的动作是“ permit” 还是“ deny” ,都称为“匹配”,而不是只是匹配上 permit 规则才算“匹配”。
不匹配(未命中规则):指不存在 ACL ,或 ACL 中无规则,再或者在 ACL 中遍历了所有规则都没有找到符合匹配条件的规则。以上三种情况,都叫做“不匹配”。
匹配原则:一旦命中即停止匹配。

注意:

ACL根据匹配信息不同,最终隐含规则也不同

1.如果ACL匹配的是流量,则默认是允许所有

2.如果ACL匹配的是路由,则默认是拒绝所有

ACL的匹配位置

ACL应用案例

通过ACL实现流量过滤

如图,要使PC1能够和PC2通信,但是不能和PC3通信,应该如何配置ACL呢?

各个主机IP地址为:

法一:在交换机上配置基本ACL实现流量过滤

先在全局视图下创建基本ACL,匹配源地址为192.168.1.1(PC1)的流量,然后在交换机的GE 0/0/3的出方向过滤掉该流量。

结果:

可以看到,通过基本ACL实现了PC1能够访问PC2,不能够访问PC3。

法二:在交换机上配置高级ACL实现流量过滤

先在全局视图下创建高级ACL,匹配源地址为192.168.1.1(PC1)目的地址为192.168.1.3(PC3)的流量,然后在交换机的GE 0/0/1的入方向过滤掉该流量。

结果:

可以看到,通过高级ACL实现了PC1能够访问PC2,不能够访问PC3。

相关文章:

ACL(访问控制列表)

ACL技术概述 • 随着网络的飞速发展&#xff0c;网络安全和网络服务质量 QoS &#xff08; Quality of Service &#xff09;问题日益突出。 ▫ 园区重要服务器资源被随意访问&#xff0c;园区机密信息容易泄露&#xff0c;造成安全隐患。 ▫ Internet 病毒肆意侵略园区内网&am…...

json字符串转json

问题 Json格式化后&#xff0c;存在各种\n ,\r,以及空格&#xff0c;怎么办&#xff1f; 直接replaceAlll(“\s”,“”) 吗&#xff1f; 解决办法&#xff1a; //使用hutool的jsonutil工具&#xff0c;直接将其转换为json&#xff0c;再转string, //这样就不需要使用 各种re…...

GPT-Omni 与 Mini-Omni2:创新与性能的结合

近年来&#xff0c;随着人工智能技术的飞速发展&#xff0c;各种模型和平台应运而生&#xff0c;以满足从个人用户到企业级应用的多样化需求。在这一领域&#xff0c;GPT-Omni 和 Mini-Omni2 是两款备受瞩目的技术产品&#xff0c;它们凭借独特的设计和强大的功能&#xff0c;在…...

探秘 JSON:数据交互的轻盈使者

文章目录 一、JSON是什么二、JSON的语法规则三、应用场景四、性能优化五、总结 一、JSON是什么 JSON&#xff08;JavaScript Object Notation&#xff09;即 JavaScript 对象表示法&#xff0c;是一种轻量级的数据交换格式。JSON 以键值对的形式组织数据&#xff0c;键是字符串…...

源码分析之Openlayers中的Attribution属性控件

概述 本文主要介绍 Openlayers 中Attribution属性控件的源码实现&#xff0c;该控件也是 Openlayers 中三个默认控件之一。默认情况下&#xff0c;控件会显示在地图的右下角&#xff0c;可以通过控件的类名设置CSS属性控制。实际应用中该控件主要显示与图层源source相关的所有…...

Shell自定义(二)

1.Shell自定义 1.初始化 定义全局变量environ&#xff0c;把g_env的内容用memset初始化为0&#xff0c;这里用malloc开辟的空间为对应环境变量的长度1&#xff0c;多1位置是最后结束符0&#xff0c;strcpy把此时的对应的环境变量拷贝到g_env里面&#xff0c;下面是新增一个环…...

自然语言处理:我的学习心得与笔记

Pytorch 1.Pytorch基本语法 1.1 认识Pytorch 1.2 Pytorch中的autograd 2.Pytorch初步应用 2.1 使用Pytorch构建一个神经网络 2.2 使用Pytorch构建一个分类器 小节总结 学习了什么是Pytorch. 。Pytorch是一个基于Numpy的科学计算包,作为Numpy的替代者,向用户提供使用GPU强大…...

Oracle 中什么情况下 可以使用 EXISTS 替代 IN 提高查询效率

为什么 EXISTS 更高效&#xff1f; EXISTS 提前终止&#xff1a; EXISTS 一旦在子查询中找到第一个匹配项&#xff0c;就会立即返回 TRUE&#xff0c;不再继续扫描子查询中的其他记录。IN 必须扫描整个子查询的结果集&#xff0c;将所有结果与主查询的每一行进行对比。大数据集…...

Spring基础分析08-集成JPA/Hibernate进行ORM操作

大家好&#xff0c;今天和大家一起分享一下Spring集成JPAHibernate进行ORM操作的流程~ JPA&#xff08;Java Persistence API&#xff09;作为Java EE标准的一部分&#xff0c;提供了统一的API来管理实体类和持久化上下文&#xff1b;Hibernate则是最流行的JPA实现之一&#x…...

MySQL知识汇总(一)

一些命令行操作注意加 分号 “ ; ” show databases 查看所有数据库 use 数据库名 切换数据库 show tables 查看数据库中所有表 describe 表名 显示表中所有信息 create database [if not exists] 新库名 创…...

PDFMathTranslate 一个基于AI优秀的PDF论文翻译工具

PDFMathTranslate 是一个设想中的工具&#xff0c;旨在翻译PDF文档中的数学内容。以下是这个工具的主要特点和使用方法&#xff1a; 链接&#xff1a;https://www.modelscope.cn/studios/AI-ModelScope/PDFMathTranslate 功能特点 数学公式识别&#xff1a;利用先进的OCR&…...

React+Vite从零搭建项目及配置详解

相信很多React初学者第一次搭建自己的项目&#xff0c;搭建时会无从下手&#xff0c;本篇适合快速实现功能&#xff0c;熟悉React项目搭建流程。 目录 一、创建项目react-item 二、调整项目目录结构 三、使用scss预处理器 四、组件库Ant Design 五、配置基础路由 六、配置…...

@pytest.fixture() 跟 @pytest.fixture有区别吗?

在iOS UI 自动化工程里面最早我用的是pytest.fixture()&#xff0c;因为在pycharm中联想出来的fixture是带&#xff08;&#xff09;的&#xff0c;后来偶然一次我没有带&#xff08;&#xff09;发现也没有问题&#xff0c;于是详细查了一下pytest.fixture() 和 pytest.fixtur…...

Google Cloud Architect 认证考试错题集5

Google Cloud Architect 认证考试错题集5 D. Store static content such as HTML and images in a Cloud Storage bucket. Use Cloud Functions to host the APIs and save the user data in Firestore. - Storing static content in a Cloud Storage bucket is a cost-effecti…...

【Maven】基础(一)

【Maven】基础一 1. 虽然工作有段时间了&#xff0c;但是深感maven了解的不深入&#xff0c;所以这次开始深入的学习。 课程地址: https://www.bilibili.com/video/BV1JN411G7gX?spm_id_from333.788.player.switch&vd_source240d9002f7c7e3da63cd9a975639409a&p2 1.…...

多模态抽取图片信息的 Prompt

多模态抽取图片信息的 Prompt 1. 中文版2. 日文版3. 英文原版 下面使用多模态从图片中抽取文章&#xff0c;表格&#xff0c;Flowcharts的Prompt。 1. 中文版 你是一位擅长提取图片、图表、文本并对其进行解释的专家&#xff0c;能够保持原始语言不变。## 指南- 针对输入内容…...

WPF 使用LibVLCSharp.WPF实现视频播放、停止、暂停功能

使用LibVLCSharp.WPF实现视频播放、停止、暂停功能 1, NuGet 添加 VideoLAN.LibVLC.Windows 2. NuGet 添加 LibVLCSharp.WPF 3. wpf 代码如下&#xff1a; <Grid ><Grid.RowDefinitions><RowDefinition Height"*" /><RowDefinition Height&q…...

Java全栈项目 - 校园招聘信息平台

项目介绍 校园招聘信息平台是一个面向高校学生和企业的双向服务平台。该系统帮助企业发布招聘信息,方便学生查询职位并投递简历,同时为学校就业部门提供就业数据分析功能。 技术栈 后端 Spring Boot 2.xSpring SecurityMyBatis PlusMySQL 8.0RedisRabbitMQ 前端 Vue.js 2…...

java导出

请求头获取responseimport com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet;PostMapping("excel/export") ApiOperation(value "党员档案导出", httpMethod "POST")…...

【嵌入式系统】期末试题库,ARM处理器,CortexM3内核,USART,EXTI,GPIO

关注作者了解更多 我的其他CSDN专栏 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处理 光电融合集成电路…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

门静脉高压——表现

一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构&#xff1a;由肠系膜上静脉和脾静脉汇合构成&#xff0c;是肝脏血液供应的主要来源。淤血后果&#xff1a;门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血&#xff0c;引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...