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服务正常。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言代码实现URL编码

在 Python,只需要导入 urllib.parse,然后使用 quote 函数即可把任意字符串进行 URL 编码 现在使用 C 语言来实现等效的代码,我在网上找到现成的代码,改代码接收命令行输入参数,然后进行 URL 编码并输出: #…

云演CTF Blog

1、啥也搞不了,扫目录。出来个console 2、有显示锁掉了 3、抓包,改返回包 改成true,放包 不好意思,不会了,哈哈哈哈哈哈哈哈哈 你会的话,请告诉我,大佬

使用国内镜像源安装opencv

在控制台输入命令: pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple 验证安装: step 1: 打开终端;step 2: 输入python,进入Python编译环境;step 3: 粘贴…

Linux——进程中被打开的文件

C语言中有着许多对文件操作的函数,包括其他语言也有,但是从语言来了解文件有点浅显计算机的一切都离不开操作系统,那么文件跟操作系统也有着密切的关系,所以我们从系统层面来了解文件(在进程中打开的文件)文…

“Java 已死、前端已凉”?技术变革与编程语言前景:Java和前端的探讨

前端已死话题概论 本文讨论了近期IT圈中流传的“Java 已死、前端已凉”言论。我们审视了这些言论的真实性,并深入探讨了技术行业的演变和新兴技术的出现对编程语言和前端开发的影响。通过分析历史发展、当前趋势和未来展望,我们提供了对这些话题更深层次…

三、Spring IoC 容器和核心概念

本章概要 组件和组件管理概念 什么是组件?我们的期待Spring充当组件管理角色(IoC)组件交给Spring管理优势 Spring IoC 容器和容器实现 普通和复杂容器SpringIoC 容器介绍SpringIoC 容器具体接口和实现类SpringIoC 容器管理配置方式 Spring I…

【Proteus仿真】【51单片机】电子门铃设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使共阴数码管,按键、无源蜂鸣器等。 主要功能: 系统运行后,数码管默认显示第一种门铃音调,可通过K1键切…

OpenAI 承认 ChatGPT 最近的懒惰:由于用户体验到响应缓慢和无用的输出,调查正在进行中

文章目录 一. ChatGPT 指令遵循能力下降引发用户投诉1.1 用户抱怨回应速度慢、敷衍回答、拒绝回答和中断会话 二. OpenAI 官方确认 ChatGPT 存在问题,展开调查三. OpenAI 解释模型行为差异,回应用户质疑四. GPT-4 模型变更受人事动荡和延期影响 一. Chat…

【C++11特性篇】C++11中新增的initializer_list——初始化的小利器

前言 大家好吖,欢迎来到 YY 滴C11系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 一.探究std::initializer_list是什么…

关于“Python”的核心知识点整理大全23

目录 ​编辑 第10 章 文件和异常 10.1 从文件中读取数据 10.1.1 读取整个文件 pi_digits.txt file_reader.py 10.1.2 文件路径 10.1.3 逐行读取 file_reader.py 10.1.4 创建一个包含文件各行内容的列表 10.1.5 使用文件的内容 pi_string.py 往期快速传…

解决goview栈内存溢出导致打包报错问题

最近搞低代码大屏使用goview打包时遇到问题 报错&#xff1a; vite v4.3.6 building for production... transforming (8931) node_modules\monaco-editor\esm\vs\base\common\navigator.js <--- Last few GCs ---> [24864:000001B515BA39F0] 65979 ms: Scavenge 2002.0…

Linux系统编程(二):文件 I/O(中)

参考引用 UNIX 环境高级编程 (第3版)嵌入式Linux C应用编程-正点原子 1. 一个简单的文件 IO 示例 只读方式打开一个已经存在的文件&#xff08;src_file&#xff09;&#xff0c;然后只写方式打开一个新建文件&#xff08;dest_file&#xff09;&#xff0c;权限设置如下 文件…