1.ACL简介

当需要针对数据流量或者报文进行一些过滤的时候,需要一个抓取要过滤的工具。类似于过滤石灰粉和石子的过程,那么我们是需要一个滤网或者其他的过滤工具来进行筛选。经过筛选获取到的石子,是丢弃还是用作其他用途,并不是过滤工具来决定的,它是取决于调用工具的时候,来判断,是否需要这些石子,或者丢弃。

ACL(访问控制列表)就提供了类似于滤网的功能,它可以精准匹配到想要抓取的报文或者流量,然后在不同的场景下,去应用ACL的功能。

2.ACL的组成

ACL是由多条不同的规则组成的,这些规则组成了一个滤网的功能,通过permit/deny的动作,来决定是抓取还是不抓取。

 rule 5 permit source 192.168.1.0 0.0.0.255 rule 10 deny source 192.168.2.0 0.0.0.255 rule 15 deny

上面是ACL的三条规则,rule是规则关键字,后面的数字5,10,15是规则编号,这个编号在配置的时候可以指明也可以不指明,但是一条规则就是一个编号,编号不能重复。如果不指明编号,默认第一条规则的编号是5,后面每增加一条规则,编号就会加5,也就是说默认的编号是从5开始,步长是5,即每增加一个编号,编号就会在上一条规则编号的基础上加5。之所以留出编号的间隔,是为了能够适应各种应用场景,方便在规则之间,插入新的规则。ACL在进行匹配的时候,是根据编号的顺序,从小到大一条条往下进行的,一旦由匹配到的规则,则不会继续向下匹配,如果匹配到最后都没有,则命中默认规则,默认是deny所有。规则编号的默认步长可以修改,修改了步长以后,所有的规则根据新的步长重新自动排号,为新步长的整倍数,顺序不会改变。

ACL有两个动作,permit和deny,permit相当于石子,在漏网里;deny相当于石灰粉,即过滤掉了,不在漏网中。

source是指根据源来进行过滤的,是过滤的条件,当然也可以有其他的一些过滤条件。也就是在选对象的时候,可以身高进行筛选,也可以根据体重等其他属性来进行筛选。

192.168.1.0是网络前缀,后面紧跟的0.0.0.255是通配符,不是网络掩码。通配符为0则表示不可变,为1表示可变。即前面24为不能变,必须是192.168.1,后面8位可以自由组合。

网络前缀 192.168.1.00000000
通配符 0.0.0.11111111
表示范围 192.168.1.0-192.168.1.255

通配符是为了精准匹配要控制的范围,可以不连续。

反掩码是子网掩码进行非运算得出的,由于子网掩码是连续的,所以反掩码也必须是连续的。

3.ACL分类

ACL根据编号可以分为一下几类:

基本ACL:编号范围2000-2999,可以通过匹配源IP进行过滤。

高级ACL:编号范围3000-3999,可以通过匹配源目IP、源目端口、协议等进行匹配。

二层ACL:编号范围4000-4999,可以通过匹配源目MAC等进行匹配。

用户自定义ACL:编号范围5000-5999

用户ACL:编号范围6000-6999

ACL的编号不同于规则中的rule编号,ACL的编号相当于是水缸编号,规则编号则是水缸中的每一条鱼的编号。

4.ACL的写法以及经典案例

案例一:

匹配192.168.1.1单个IP地址


acl 2000rule 5 permit source 192.168.1.1 0 

案例二:

匹配192.168.1.0/24整个网段的地址

acl 2000rule 5 permit source 192.168.1.0 0.0.0.255

案例三:

匹配192.168.1.0/24整个网段的地址,拒绝192.168.2.0/24网段的地址

acl 2000rule 5 permit source 192.168.1.0 0.0.0.255rule 10 deny source 192.168.2.0 0.0.0.255

案例四:

匹配192.168.1.0,192.168.1.1,192.168.1.2,192.168.1.3

acl 2000rule 15 permit source 192.168.1.0 0.0.0.3

ACL规则的标准是精确匹配,简化规则,虽然也可以写4条permit规则,但是地址过多的时候,工作量剧增,因此可以通过通配符整合为一条规则。

分析:

192.168.1.0 192.168.1.00000000
192.168.1.1 192.168.1.00000001
192.168.1.2 192.168.1.00000010
192.168.1.3 192.168.1.00000011
通配符 0.0.0.3

由于4个地址的前30位都是不变的,只有后面两位是变动的,因此通配符位0.0.0.3

案例五:

匹配192.168.1.12——192.168.1.19

acl 2000rule 5 permit source 192.168.1.12 0.0.0.3 rule 10 permit source 192.168.1.16 0.0.0.3 

分析:

192.168.1.12 192.168.1.00001100
192.168.1.13 192.168.1.00001101
192.168.1.14 192.168.1.00001110
192.168.1.15 192.168.1.00001111
192.168.1.16 192.168.1.00010000
192.168.1.17 192.168.1.00010001
192.168.1.18 192.168.1.00010010
192.168.1.19 192.168.1.00010011

由于12-15之间不变的位相同,16-19之间不变的位相同,由于是两个不同的不变位,所以没办法集合位一条规则进行匹配,因此需要两条规则。

12-15的前缀和通配符为:192.168.1.12  0.0.0.3

16-19的前缀和通配符为:192.168.1.16  0.0.0.3

案例六:

匹配192.168.1.0/24的奇偶数地址

acl 2000rule 5 permit source 192.168.1.0 0.0.0.254 ----仅匹配偶数地址
acl 2001rule 5 permit source 192.168.1.1 0.0.0.254 ----仅匹配奇数地址

案例七:

匹配除了RFC1918以外的其他地址

acl number 2000  rule 5 deny source 10.0.0.0 0.0.0.255 rule 10 deny source 172.16.0.0 0.15.255.255 rule 15 deny source 192.168.0.0 0.0.255.255 rule 20 permit 

5.ACL的调用方式

可以在过滤数据包时调用,匹配的数据包通过,不匹配的数据包不通过。

可以在路由策略中调用。

可以在Qos中调用。

可以在团体属性中调用等。

在过滤数据包时,分为inbound和outbound两个方向。

inbound方向:数据发送来时,先查看接口下是否调用了inbound方向的ACL,没有则直接接收;有则查看是否允许通过,permit则接收数据,deny则丢弃数据。

outbound方向:数据发送时,先查看路由表,无路由则不转发,有路由,再先查看路由接口下是否调用了outbound方向的ACL,没有则直接转发;有则查看是否允许通过,permit则转发数据,deny则不转发数据。

在outbound方向时,如果是本设备始发的数据,则ACL不生效。

6.ACL的配置实验

拓扑:

描述:要求R1和R2不能互访,R1也不能访问R4,其他可以互相访问。

基本信息:

设备 接口 IP地址 子网掩码 网关
PC1 E0/0/1 192.168.1.1 255.255.255.0 192.168.1.254
PC2 E0/0/1 192.168.2.1 255.255.255.0 192.168.2.254
PC3 E0/0/1 192.168.3.1 255.255.255.0 192.168.3.254
PC4 E0/0/1 192.168.4.1 255.255.255.0 192.168.4.254
R1 G0/0/0 10.1.12.1 255.255.255.0
G0/0/1 192.168.1.254 255.255.255.0
G0/0/2 192.168.2.254 255.255.255.0
R2 G0/0/0 10.1.12.2 255.255.255.0
G0/0/1 192.168.3.254 255.255.255.0
G0/0/2 192.168.4.254 255.255.255.0

R1配置:

[r1-GigabitEthernet0/0/0]ip address 10.1.12.1 255.255.255.0 --配置接口IP
[r1-GigabitEthernet0/0/1]ip address 192.168.1.254 255.255.255.0 --配置接口IP
[r1-GigabitEthernet0/0/2]ip address 192.168.2.254 255.255.255.0 --配置接口IP
[r1]ip route-static 192.168.3.0 255.255.255.0 10.1.12.2 ---配置静态路由
[r1]ip route-static 192.168.4.0 255.255.255.0 10.1.12.2 ---配置静态路由
[r1]acl 2000 ---创建基本ACL 2000
[r1-acl-basic-2000]rule 5 deny source 192.168.1.0 0.0.0.255 ----deny源192.168.1.0
[r1-acl-basic-2000]rule 10 permit ----其他默认permit
[r1-GigabitEthernet0/0/2]traffic-filter outbound acl 2000 ---在接口的出方向调用acl 2000

R2配置:

[r2-GigabitEthernet0/0/0]ip address 10.1.12.2 255.255.255.0 --配置接口IP
[r2-GigabitEthernet0/0/1]ip address 192.168.3.254 255.255.255.0 --配置接口IP
[r2-GigabitEthernet0/0/2]ip address 192.168.4.254 255.255.255.0 --配置接口IP
[r2]ip route-static 192.168.1.0 255.255.255.0 10.1.12.2 ---配置静态路由
[r2]ip route-static 192.168.2.0 255.255.255.0 10.1.12.2 ---配置静态路由
[r2]acl 2000 ---创建基本ACL 2000
[r2-acl-basic-2000]rule 5 deny source 192.168.1.0 0.0.0.255 ----deny源192.168.1.0
[r2-acl-basic-2000]rule 10 permit ----其他默认permit
[r2-GigabitEthernet0/0/2]traffic-filter outbound acl 2000 ---在接口的出方向调用acl 2000

在R1上ping测试:

访问控制列表——ACL相关推荐

  1. 访问控制列表(ACL)基本的配置以及详细讲解

    [网络环境]   网络时代的高速发展,对网络的安全性也越来越高.西安凌云高科技有限公司因为网络建设的扩展,因此便引入了访问控制列表(ACL)来进行控制,作为网络管理员我们应该怎么来具体的实施来满足公司 ...

  2. cisco 访问控制列表ACL笔记

    访问控制列表ACL 标准访问列表 router(config)#access-list 1 permit 192.168.1.0 0.0.0.255 router(config-if)#ip acce ...

  3. pid控制从入门到精通pdf_网络工程师从入门到精通通俗易懂系列 | 访问控制列表ACL原来还可以这样理解,果断收藏!...

    访问控制列表-ACL 两大功能 流量控制 匹配感兴趣流量 ACL的3P规则 在每一个接口的每一个方向上,只能针对每种第三层协议应用一个ACL · 每种协议一个 ACL :要控制接口上的流量,必须为接口 ...

  4. 计算机网络访问控制列表,南昌大学计算机网络实验-访问控制列表ACL

    南昌大学实验报告 学生姓名: 学 号: 专业班级: 实验类型:■ 验证 □ 综合 □ 设计 □ 创新 实验日期: 实验成绩: 实验4:访问控制列表ACL配置实验 一.实验目的 对路由器的访问控制列表A ...

  5. oracle ora-24247 ACL,ORACLE 11G 存储过程发送邮件(job),ORA-24247:网络访问被访问控制列表 (ACL) 拒绝...

    ORA-24247:网络访问被访问控制列表 (ACL) 拒绝 需要先使用 DBMS_NETWORK_ACL_ADMIN.CREATE_ACL 创建访问控制列表(ACL), 再使用 DBMS_NETWO ...

  6. 【华为HCNA】访问控制列表ACL实例配置

    [华为HCNA]访问控制列表ACL实例配置 ACL的概念 访问控制列表ACL(Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进 ...

  7. h3c使用acl控制ftp访问_H3C访问控制列表(ACL)实例精华

    4.访问控制列表(ACL) (1)标准 RouterA [H3C]interface e0/0 [H3C-ethernet e0/0]ip address 192.168.1.1 255.255.25 ...

  8. 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。...

    场景:IIS中遇到无法预览的有关问题(HTTP 异常 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置 IIS中遇到无法预览的问题(HTTP ...

  9. 配置 Linux 的访问控制列表(ACL)

    配置 Linux 的访问控制列表(ACL) 使用拥有权限控制的Liunx,工作是一件轻松的任务.它可以定义任何user,group和other的权限.无论是在桌面电脑或者不会有很多用户的虚拟Linux ...

  10. windows访问控制列表ACL

    文章目录 术语 定义 分类 DACL SACL 安全对象(so) & 安全描述符(sd) 安全对象 安全描述符 SECURITY_DESCRIPTOR结构体 windows访问控制列表 --A ...

最新文章

  1. 炼成优秀 SaaS 产品的三个要素?听腾讯、神策、网易的专家讲讲|PCon
  2. 滤镜应用——制作彩虹效果
  3. Windows7-win10开启IPv6亲测最有效方法
  4. excel概率密度函数公式_干货|利用excel公式,快速对定量的化学检测方法进行测量不确定度的评定...
  5. java虚拟机MyEclipse_Eclipse和MyEclipse运行环境java虚拟机jvm设置,自己设置jre
  6. mysql初始化脚本建表_mysql新建表修改表sql脚本
  7. Selenium frame 切换处理
  8. VB中的format格式化函数
  9. Max Points on a Line@LeetCode
  10. 时间序列平稳性的判断
  11. php+检测是否是手机浏览器,php 判断是否是手机浏览器访问?
  12. 拯救者Y7000在ubuntu下的1660Ti驱动安装
  13. HTML5+CSS3基础响应式页面布局
  14. 一个简单T9输入法的实现
  15. 用matlab进行频域分析,用matlab进行信号与系统的时频域分析
  16. Springboot:整合DubboProvider的配置以及Comsumer的配置
  17. c语言数独出题程序,C语言实现的数独解题程序
  18. C++多态如何理解?实现多态性呢?多态性的作用呢?
  19. Refused to execute inline script because it violates the following Content Security Policy directive
  20. Visual Hull基于序列图像的三维重建

热门文章

  1. 社会的需求对科技进步的作用要超过十所大学
  2. SXLib3D -- 一款高效的点云和网格交互处理平台
  3. WPF 背景透明文本不透明
  4. 了解下Bit,Byte,KB,MB,GB的换算关系
  5. android自定义数字键盘
  6. Java 实现计算器功能
  7. python 判断素数
  8. 1147 Heaps (30 分)
  9. python 操作微信小程序数据库 实现批量修改
  10. python计算学分绩点的程序_Python爬虫实战七之计算大学本学期绩点