当前位置: 首页 > 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专栏 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处理 光电融合集成电路…...

arcgisPro相接多个面要素转出为完整独立线要素

1、使用【面转线】工具&#xff0c;并取消勾选“识别和存储面邻域信息”&#xff0c;如下&#xff1a; 2、得到的线要素&#xff0c;如下&#xff1a;...

QTday1

#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//设置窗口标题this->setWindowTitle("向日葵远程控制");//设置窗口图标this->setWindowIcon(QIcon("C:\\Users\\Hasee\\Desktop\\pictrue\\mypicture\\logo.png&…...

SAP ALV选择列排序时弹出定义排序顺序窗口问题

需求场景 使用REUSE_ALV_GRID_DISPLAY_LVC生成ALV&#xff0c;发现一个问题&#xff1a;使用it_events的时候选择列排序时会弹出定义排序顺序窗口&#xff0c;如下图所示。&#xff08;正常选择某一列再使用排序功能时会直接排序&#xff0c;不用再选择列&#xff09; CLASS l…...

CSS Backgrounds(背景)

CSS Backgrounds(背景) Introduction(介绍) CSS backgrounds play a crucial role in web design, allowing developers to apply colors, images, and other decorative elements to the background of HTML elements. This enhances the visual appeal of web pages and he…...

欧拉计划 Project Euler 27 题解

欧拉计划 Problem 27 题解 题干思路code 题干 思路 可以先筛1e6的素数出来然后暴力找即可&#xff0c;具体思路看代码 code #include <bits/stdc.h>using namespace std;using ll long long;const int N 1e6 5; bool vis[N]; int pri[N];void getPrime() {memset(v…...

迁移学习--fasttext概述

迁移学习 1、fasttext概述 作为NLP工程领域常用的工具包, fasttext有两大作用&#xff1a;进行文本分类、训练词向量 正如它的名字, 在保持较高精度的情况下, 快速的进行训练和预测是fasttext的最大优势。fasttext工具包中内含的fasttext模型具有十分简单的网络结构。使用fa…...

【数字信号处理】数字信号处理试题及答案,离散序列,Z变换,傅里叶变换

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

CNN、RNN、LSTM和Transformer之间的区别和联系

文章目录 CNN、RNN、LSTM和Transformer之间的区别和联系前言CNN&#xff08;卷积神经网络&#xff09;RNN&#xff08;循环神经网络&#xff09;LSTM&#xff08;长短期记忆网络&#xff09;Transformer四者之间的联系与区别Yolo算法简介Yolo和CNN的关系YOLO各版本 CNN、RNN、L…...

springboot448教学辅助系统(论文+源码)_kaic

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&#x…...

用QT制作的倒计时软件

一、pro代码 RC_ICONS countdown.ico 二、mainwindow.cpp代码 #include "mainwindow.h" #include "ui_mainwindow.h"#include <QDateTime> #include <QMessageBox> #include <QSettings>MainWindow::MainWindow(QWidget *parent): QM…...