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

ACL访问控制列表(Access Control List)

ACL的作用:

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

比如:

匹配IP流量

在Traffic-filter中被调用

在NAT(Network Address Translation)中被调用

在route-policy中被调用 在防火墙的策略部署中被调用

在QoS中被调用

等等........

看完本片文章会知晓ACL的基本原理和基本作用,ACL的不同种类及特点,ACL的基本组成和匹配顺序,通配符的使用方法和ACL的相关配置。

ACL的组成:

ACL是由一系列permit或deny语句组成的、有序规则的列表。

例如:

acl number 2000
rule 5 permit source 10.1.1.1 0.0.0.0

这个就是一个acl,那么他代表什么意思呢?

我们一步步来看

acl number 2000-----这个代表编号

编号随机使用吗?不(2000-2999代表基本acl,只能匹配报文的ip地址等基础消息,

3000-3999代表高级acl,不仅能匹配地址还能匹配协议类型等,最常用的是这两种类型)

其他类型以及作用如下:

那么

rule 5 permit source 10.1.1.0 0.0.0.255是什么意思呢?

5代表步长,acl默认以步长是5进行增加,也就是说下一条acl默认是rule 10

为什么要这样子定义?

步长是系统自动为ACL规则分配编号时,每个相邻规则编号之间的差值,缺省值为5。步长的作用是为了方便后续在旧规则之间,插入新的规则。也就是说我们可以在rule5和rule10之间再插入新的规则(以满足当下的业务需求)。如果步长为1那么无法进行插入,只能整体进行删除,重新进行配置。

permit代表该acl执行的动作

每条规则中的permit或deny,就是与这条规则相对应的处理动作。permit指“允许”,deny指“拒绝”,但是ACL一般是结合其他技术使用,不同的场景,处理动作的含义也有所不同。不同的含义我们在后续的学习会接触到。

比如:ACL如果与流量过滤技术结合使用(即流量过滤中调用ACL),permit就是“允许通行”的意思,deny就是“拒绝通行”的意思。

source什么意思呢?

source代表源自哪里的,也就是来自哪里的报文进行匹配

10.1.1.0 0.0.0.255这个又是什么意思呢?

这一串代表地址段,怎么看出来了的?主要取决于后面的0.0.0.255

0.0.0.255这个叫做通配符,用于指示IP地址中,哪些比特位需要严格匹配,哪些比特位无需匹配。

0代表匹配,1代表随机匹配,10.1.1.0 0.0.0.255代表匹配10.1.1.0/24这个网段的数据包。

怎么看出来的?我们需要把这两段地址全部转换成2进制

0000 1010 . 0000 0001.0000 0001.0000 0000

0000 0000 . 0000 0000.0000 0000.1111 1111

能看见下面代表0的是必须严格匹配的,1是随机匹配的,也就是说如果此时来了一个10.1.1.16能不能匹配上这条acl?

我们再把这个地址来拆分看一下

0000 1010 . 0000 0001.0000 0001.0001 0000

我们看见前24比特与这条acl规定的一模一样,那后面8比特要考虑吗?

因为1111 1111这8比特代表随机,无所谓是多少

那10.1.1.0 0.0.0.255代表匹配10.1.1.0/24

那我们再来一题

那如果我要单独匹配192.168.1.1这个地址呢?

那acl规则应该这么写

rule 5 permit source 192.168.1.1 0.0.0.0

通配符全0代表随机匹配

问题

那么如果想匹配全192.168.1.0/24这个网段的全部奇数的ip地址呢比如(192.168.1.1\192.168.1.3等),偶数网段呢?(192.168.1.2\192.168.1.4等) 大家可以打到评论区

那么如果我写了一条rule 5 一条rule 10 那么设备先匹配哪一条acl呢?

这边就要说一个acl的匹配机制了

ACL匹配机制:

配置ACL的设备接收报文后,会将该报文与ACL中的规则逐条进行匹配,如果不能匹配上,就会继续尝试去匹配下一条规则。 一旦匹配上,则设备会对该报文执行这条规则中定义的处理动作,并且不再继续尝试与后续规则匹配。

我们这边也来举个例子:

有这么几个地址192.168.1.1-192.168.1.5/24这五个地址

acl 2000
rule 5 permit source 192.168.1.1 0.0.0.0
rule 10 permit source 192.168.1.2 0.0.0.0
rule 15 deny source 192.168.1.3 0.0.0.0
rule 20 permit source 0.0.0.0 255.255.255.255

这几个规则的意思是
rule 5:允许源IP地址为192.168.1.1的报文
rule 10:允许源IP地址为192.168.1.2的报文
rule 15:拒绝源IP地址为192.168.1.3的报文
rule 20:允许其他所有IP地址的报文

这些是匹配为允许的ip

192.168.1.1/24
192.168.1.2/24
192.168.1.4/24
192.168.1.5/24

acl还有一条默认的规则,如果所有的rule都没匹配上那么还有一条acl规则
rule 4294967294 deny这条规则代表拒绝所有

也就是说如果写的规则都没匹配上那么默认拒绝

写完acl后要在接口下进行调用

命令为:

[Router] interface GigabitEthernet 0/0/1
[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 2000


实战案例:

在Router上部署基本ACL后,ACL将试图穿越Router的源地址为192.168.1.0/24网段的数据包过滤掉,并放行其他流量,从而禁止192.168.1.0/24网段的用户访问Router右侧的服务器网络。

第一步在路由器接口下配置ip地址(略)

第二步在Router上创建基本ACL,禁止192.168.1.0/24网段访问服务器网络:

命令为:
[Router] acl 2000
[Router-acl-basic-2000] rule deny source 192.168.1.0 0.0.0.255
[Router-acl-basic-2000] rule permit source any

第三步由于从接口GE0/0/1进入Router,所以在接口GE0/0/1的入方向配置流量过滤:

命令为:

[Router] interface GigabitEthernet 0/0/1
[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 2000
[Router-GigabitEthernet0/0/1] quit

至此关于ACL的基本使用到此就结束了,后续后面会结合NAT,router-policy技术等等进行使用,后续就等到讲到对应技术再讲解了。

注:ACL在工作中非常常用务必掌握
http://www.jsqmd.com/news/624281/

相关文章:

  • 3分钟免费搞定APA第7版:Word参考文献格式终极完整指南
  • 基于Python的农产品销售系统毕业设计源码
  • 记一次Webshell流量分析 | 添柴不加火琶
  • DCT-Net人像卡通化WebUI定制化:添加水印/自动裁剪/格式转换
  • LG1300L_IMU驱动库:LEGO专用IMU的I²C裸机驱动与协议逆向实现
  • 【技术解析】MAMBA架构:如何通过选择性状态空间模型革新长序列处理
  • 保姆级教程:用C++和LibreHardwareMonitor给你的游戏本做个实时监控悬浮窗(附完整源码)
  • Embedding为何翻译为“嵌入“而非“向量化“?​
  • 017、AI在元宇宙与数字孪生中的角色与商机
  • 解放语音聊天乐趣:RP-Soundboard音效面板完全解析
  • 3分钟掌握Diff Checker:专业文件差异对比工具完全指南
  • Windows系统优化实战:3步搞定内存卡顿,实测Mem Reduct性能提升方案
  • 2026年全国售后完善的双回路胶球清洗装置品牌排名,哪家性价比高? - 工业设备
  • 2025届毕业生推荐的降重复率方案实测分析
  • Thread 类和 Runnable 接口的区别
  • dplyr和tidyr用法释
  • “INMS: Memory Sharing for Large Language Model based Agents“ 论文笔记貉
  • 2026年4月餐饮配料供应商推荐分析,火锅底料/复合调味料/预制菜调味料/酒店调料/鸡精,餐饮配料厂商口碑推荐 - 品牌推荐师
  • Vue 3 Markdown编辑器性能优化指南:让你的编辑器流畅如飞
  • 聊聊2026年河南种子会,郑州万泽展览展示公司的优势在哪 - mypinpai
  • Electron 27 静默打印实战:从样式错乱到完美适配的完整避坑指南
  • MPC-BE多媒体播放器架构设计与性能优化深度解析
  • 多租户下的ERP系统的仓储管理模块分析设计吃
  • 如何快速将网页转为Markdown:免费浏览器扩展的终极指南
  • Bidili Generator多场景落地:电商海报、IP形象、社交头像生成实战
  • 随机森林实战:Python与sklearn构建金融预测模型
  • 告别繁琐!WinRAR在Win11上实现‘解压到当前文件夹’的两种终极设置方案
  • 如何快速掌握鼠标连点器:3分钟完成自动化点击配置
  • 一文搞懂 OpenAI 接口(含 DeepSeek 兼容 流式输出实战)
  • 7步掌握PyTorch情感分析:从IMDb到自定义数据的完整指南