ACL——访问控制列表

目录

1、ACL的产生背景及概述

2、ACL的应用

3、ACL的分类

4、ACL的组成

5、ACL的匹配位置

6、ACL的案例

案例1-----拒绝源IP为192.168.10.1的数据包

案例2------拒绝源IP在192.168.10.0/24整个网段的所有数据包

案例3------拒绝源IP为192.168.10.0/24所有奇数主机发送的数据包

7、ACL的配置实验


1、ACL的产生背景及概述

  • 当需要针对数据流量或者报文进行一些过滤的时候,需要一个抓取要过滤的工具。类似于过滤石灰粉和石子的过程,那么我们是需要一个滤网或者其他的过滤工具来进行筛选。经过筛选获取到的石子,是丢弃还是用作其他用途,并不是过滤工具来决定的,它是取决于调用工具的时候,来判断,是否需要这些石子,或者丢弃。
  •  ACL(访问控制列表)就提供了类似于滤网的功能,它可以精准匹配到想要抓取的报文或者流量,然后在不同的场景下,去应用ACL的功能。
  • 它由一系列规则(即描述报文匹配条件的判断语句)组成。这些条件通常被称为五元组-分别是报文的源地址、目的地址、源端口、目的端口、端口号等。
  • 通过ACL可以实现对网络中报文流的精确识别和控制,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而切实保障网络环境的安全性和网络服务质量的可靠性。 

2、ACL的应用

  1. 应用在接口的ACL-----过滤数据包(原目ip地址,原目 mac, 端口 五元组)

  2. 应用在路由协议-------匹配相应的路由条目( )

  3. NAT、IPSEC VPN、QOS-----匹配感兴趣的数据流(匹配上我设置的 数据流的)

3、ACL的分类

编号2000-2999---基本ACL----依据依据数据包当中的源IP地址匹配数据(数据时从哪个IP地址过来的)

  • ---尽量用在靠近目的点

编号3000-3999---高级ACL----依据数据包当中源、目的IP;源、目的端口;协议号匹配数据

  • ---尽量用在靠近源的地方(可以保护带宽和其他资源)

编号4000-4999---二层ACL,MAC、VLAN-id、802.1q

4、ACL的组成

  •  ACL是由多条不同的规则组成的,这些规则组成了一个滤网的功能,通过permit/deny的动作,来决定是抓取还是不抓取。
acl 2000
#新建表格,  将你设置的 过滤条件放入 这个表格

rule 5 permit | deny source 匹配的条件(ip地址) 通配符掩码
  • 上面是ACL的一条规则,rule是规则关键字,后面的数字5是规则编号,这个编号在配置的时候可以指明也可以不指明,但是一条规则就是一个编号,编号不能重复。
  1. 如果不指明编号,默认第一条规则的编号是5,后面每增加一条规则,编号就会加5,也就是说默认的编号是从5开始,步长是5,即每增加一个编号,编号就会在上一条规则编号的基础上加5。
  2. 之所以留出编号的间隔,是为了能够适应各种应用场景,方便在规则之间,插入新的规则。ACL在进行匹配的时候,是根据编号的顺序,从小到大一条条往下进行的,一旦由匹配到的规则,则不会继续向下匹配,如果匹配到最后都没有,则命中默认规则,默认是deny所有。
  3. 规则编号的默认步长可以修改,修改了步长以后,所有的规则根据新的步长重新自动排号,为新步长的整倍数,顺序不会改变。
  •  ACL有两个动作,permit和deny,permit是允许通过;deny是不允许通过。
  •  source是指根据源来进行过滤的,是过滤的条件,当然也可以有其他的一些过滤条件。后面跟的是匹配的条件(ip地址)和通配符掩码(作用:精准匹配要控制的范围 )
  • 通配符为0则表示不可变,为1表示可变。举例如下:
命令:  rule 5 permit source 192.168.1.1 0.0.0.255
IP地址192.168.1.0000 0001
通配符掩码    0.  0  .0.1111  1111   
表示范围192.168.1.0--192.168.1.255

5、ACL的匹配位置

 

6、ACL的案例

案例1-----拒绝源IP为192.168.10.1的数据包

acl 2000
rule deny source 192.168.10.1 0.0.0.0

案例2------拒绝源IP在192.168.10.0/24整个网段的所有数据包

acl 2000
rule deny source 192.168.10.0 0.0.0.255

案例3------拒绝源IP为192.168.10.0/24所有奇数主机发送的数据包

acl 2000
rule deny source 192.168.10.1 0.0.0.254

7、ACL的配置实验

①建立拓扑图

②配置路由器的端口ip地址和子网掩码,然后用Client1和2去ping任意服务器,通则正确。

③建立普通acl,建立规则,并作用在路由器的g0/0/1端口

1.建立acl   2调用acl
acl  2000
#基本acl 列表
rule 5 deny source 192.168.1.1 0 
#默认编号5  拒绝  来自192.168.1.1 的流量

int  g0/0/1
traffic-filter outbound acl 2000
#数据流向
在接口下调用acl 分为两个方向
inbound方向--------当接口收到数据包时执行ACL
outbound方向-------当设备从特定接口向外发送数据时执行ACL
-----------------------
没有被acl匹配数据默认采用permit动作
-----------------------
基本acl需要调用在离目的设备最近的接口上

此时client1再访问server1,就会失败。

 ④建立高级 acl,不让192.168.1.1去访问192.168.2.1的tcp80端口,但可以访问21端口。

高级  acl
acl number 3000  
rule 5 deny tcp source 192.168.1.1 0 destination 192.168.2.1 0 destination-port  eq www(80)
 

[R1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000

 再次访问192.168.2.1的http服务,失败。但ftp服务正常。

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

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

相关文章

VUE学习三、前端项目部署

1.前端项目打包 执行命令 npm run build:prod正常命令结束 , 会在前端项目里面出现dist文件夹 2.nginx下载安装 nginx下载 : http://nginx.org/en/download.html Windows 下载版本 Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说…

【Java JVM】实例对象内存布局

当 Java 应用启动后, 基本就是在不断的创建对象, 回收对象的过程中。 而这些创建的对象基本都是存放在应用的堆 (heap) 中, 但是这些对象在堆中又是什么样子的呢? 在这篇文章中, 我们分析一下 Java JVM 中实例对象的内存布局。 在 HotSpot 虚拟机里, 对象在堆内存中的存储布局…

如何禁止孩子在电脑中浏览某些网页?

在使用电脑的过程中,我们会使用浏览器来查看网页。而在孩子使用电脑的过程中,有些网页并不适合孩子查看。因此,我们需要禁止孩子浏览不健康的网页。那么,该如何禁止孩子在电脑中浏览某些网页呢? 定时关机3000简介 定时…

【docker】部署minio对象存储并用rclone同步

docker部署minio对象存储并用rclone同步 本文首发于 ❄️慕雪的寒舍 1.什么是minio? minio是一个开源的对象存储服务器,兼容S3协议。 官网:https://min.io/ 官方在开源的基础上也提供云端S3服务,分为个人和企业,有不…

Axure的动态图使用以及说明

认识Axure动态图 Axure动态图是Axure中的一种功能,它允许用户在原型中添加动画效果和交互动作,使原型更加生动和具有真实的用户体验。用户可以通过添加动态图来展示页面过渡、按钮点击、下拉菜单等交互操作的效果。 这是:就是我们今天要叫的…

ISCTF(a)

where_is_the_flag 答案应该被分成了三份了 蚁剑连接看看 第一个 第二个 第三个,在www下 Yunxi{0797d78c-0cb2-4cfb-87e6-f9c102f716f3} 命令执行 POST : 1 system ( tac flag.php ); 1 system ( tac /flag2 ); 1 system ( env ); 1z_Ssql 使用万能密码 后…

【数学建模】《实战数学建模:例题与讲解》第十四讲-模拟退火、遗传算法(含Matlab代码)

【数学建模】《实战数学建模:例题与讲解》第十四讲-模拟退火、遗传算法(含Matlab代码) 基本概念模拟退火(Simulated Annealing)遗传算法(Genetic Algorithms) 习题14.1(1&#xff09…

Leetcode—118.杨辉三角【简单】

2023每日刷题&#xff08;六十&#xff09; Leetcode—118.杨辉三角 实现代码 class Solution { public:vector<vector<int>> generate(int numRows) {vector<vector<int>> ans(numRows);for(int i 0; i < numRows; i) {ans[i].resize(i 1);ans…

小狐狸GPT付费2.4.9弹窗版学习源码介绍

小狐狸GPT付费2.4.9弹窗版学习源码是一套基于GPT&#xff08;Generative Pre-trained Transformer&#xff09;模型的开源代码库&#xff0c;旨在帮助开发者快速构建和训练自己的语言模型。该源码集成了多个先进的自然语言处理技术&#xff0c;包括预训练、微调、对话生成等&am…

BugKu-Web-滑稽

题目环境 持续的动态图片 F12审查元素 拿下flag&#xff1a;flag{595d994a34342417bfc3a3c3a23e0a48}

基于ssm新锐台球厅管理系统的设计与实现论文

新锐台球厅管理系统 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;作为一般的台球厅都会跟上时代的变化&#xff0c;用上计算机来代表重复性的劳动&#xff0c;并且给用户一种新奇的感受&#xff0c;实现新锐台球厅管理系统 在技术上已成熟。本文介绍了新锐台…

【linux】(ubuntu)下 QT 出现的问题

错误一&#xff1a;Make 运行QT程序以后出现这样的错误。 【解决方法】 我的ubuntu版本是18.04.4&#xff0c; 原因1&#xff1a;没有更换软件源 原因2&#xff1a;没安装相关 软件包 注意&#xff1a;这一步很有可能卡死这一步&#xff0c;所以如果一直卡在这并且进度…

51单片机的串口通信

串口通信 本文主要涉及51单片机的串口以及串口通信&#xff0c;包括串口控制寄存器的设置以及波特率的计算方法等。 文章目录 串口通信一、 串行通信与并行通信二、 单工、半双工与全双工通信三、 单片机串口介绍&#xff08;1&#xff09;串口控制寄存器 SCON&#xff08;2&am…

C++:命名空间

从今天正式开始对C的学习&#xff0c;这里只学习C对C的拓展&#xff0c;和C相同的部分在C语言专栏中都可以找到&#xff0c;我们先看一段C代码 #include<iostream> using namespace std; int main() {cout<<"hello world<<endl;return 0; } 同样也是打…

Docker--Docker镜像仓库

一、搭建私有镜像仓库 搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现。 官网地址&#xff1a;https://hub.docker.com/_/registry &#xff08;一&#xff09;简化版镜像仓库 Docker官方的Docker Registry是一个基础版本的Docker镜像仓库&#xff0c;具备仓库…

pycharm某个xxx.sh文件显示问号,无法编辑

文章目录 pycharm某个xxx.sh文件显示问号,无法编辑其他参考 pycharm某个xxx.sh文件显示问号,无法编辑 问题描述&#xff1a;pycharm某个xxx.sh文件显示问号,无法编辑 问题分析&#xff1a; pycharm无法识别文件类型。 问题解决&#xff1a; 在pycharm中选中该文件&#xff0…

自动化测试(三)webdriver的常用api(1)

目录 等待 sleep休眠 隐式等待 显式等待 打印信息 打印title 打印url 浏览器的操作 浏览器最大化 设置浏览器宽、高 操作浏览器的前进、后退 控制浏览器滚动条 键盘事件 键盘按键用法 键盘组合键用法 鼠标事件 定位一组元素 前面两章我们讲了selenium环境的…

Eolink Apikit 如何进行 Websocket 接口测试?

什么是 websocket &#xff1f; WebSocket 是 HTML5 下一种新的协议&#xff08;websocket协议本质上是一个基于 tcp 的协议&#xff09;。 它实现了浏览器与服务器全双工通信&#xff0c;能更好的节省服务器资源和带宽并达到实时通讯的目的 Websocket 是一个持久化的协议。…

『K8S 入门』二:深入 Pod

『K8S 入门』二&#xff1a;深入 Pod 一、基础命令 获取所有 Pod kubectl get pods2. 获取 deploy kubectl get deploy3. 删除 deploy&#xff0c;这时候相应的 pod 就没了 kubectl delete deploy nginx4. 虽然删掉了 Pod&#xff0c;但是这是时候还有 service&#xff0c…

图片的批量建码怎么做?一图一码的制作方法

在使用图片展示内容时&#xff0c;经常会有同一类型的图片信息是有区别的&#xff0c;如果需要将每张图片批量生成二维码图片&#xff0c;那么出了一张一张去制作之外&#xff0c;有没有能够一键批量建码的功能可以解决这个问题呢&#xff1f;下面来给大家分享一下图片批量建码…