您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用

时间:2021-08-25 10:17:21  来源:  作者:王海军老师

•随着网络的飞速发展,网络安全和网络服务质量QoS (Quality of Service)问题日益突出。访问控制列表 (ACL, Access Control List)是与其紧密相关的一个技术。

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

•在本章节中,将介绍ACL的基本原理和基本作用,ACL的不同种类及特点,ACL的基本组成和匹配顺序,通配符的使用方法和ACL的相关配置。

技术背景:需要一个工具,实现流量过滤

•随着网络的飞速发展,网络安全和网络服务质量QoS(Quality of Service)问题日益突出。

▫园区重要服务器资源被随意访问,园区机密信息容易泄露,造成安全隐患。

▫Internet病毒肆意侵略园区内网,内网环境的安全性堪忧。

▫网络带宽被各类业务随意挤占,服务质量要求最高的语音、视频业务的带宽得不到保障,造成用户体验差。

•以上种种问题,都对正常的网络通信造成了很大的影响。因此,提高网络安全性和服务质量迫在眉睫,我们需要对网络进行控制。比如,需要借助一个工具帮助实现一些流量的过滤。

ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用

 

•某公司为保证财务数据安全,禁止研发部门访问财务服务器,但总裁办公室不受限制。

ACL概述

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

▫ACL是由permit或deny语句组成的一系列有顺序的规则的集合;它通过匹配报文的相关字段实现对报文的分类。

▫ACL是能够匹配一个IP数据包中的源IP地址、目的IP地址、协议类型、源目的端口等元素的基础性工具;ACL还能够用于匹配路由条目。

•在本章课程中主要通过流量过滤来介绍ACL。

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

•ACL是一个匹配工具,能够对报文进行匹配和区分。

ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用

 

ACL应用

•匹配IP流量

•在Traffic-filter中被调用

•在NAT(Network Address Translation)中被调用

•在路由策略中被调用

•在防火墙的策略部署中被调用

•在QoS中被调用

•其他……

ACL的组成

•ACL的组成:

▫ACL编号:在网络设备上配置ACL时,每个ACL都需要分配一个编号,称为ACL编号,用来标识ACL。不同分类的ACL编号范围不同,这个后面具体讲。

▫规则:前面提到了,一个ACL通常由若干条“permit/deny”语句组成,每条语句就是该ACL的一条规则。

▫规则编号:每条规则都有一个相应的编号,称为规则编号,用来标识ACL规则。可以自定义,也可以系统自动分配。ACL规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序。

▫动作:每条规则中的permit或deny,就是与这条规则相对应的处理动作。permit指“允许”,deny指“拒绝”,但是ACL一般是结合其他技术使用,不同的场景,处理动作的含义也有所不同。

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

▫匹配项:ACL定义了极其丰富的匹配项。例子中体现的源地址,ACL还支持很多其他规则匹配项。例如,二层以太网帧头信息(如源mac、目的MAC、以太帧协议类型)、三层报文信息(如目的地址、协议类型)以及四层报文信息(如TCP/UDP端口号)等。

•提问:rule 5 permit source 1.1.1.0 0.0.0.255 是什么意思?这个在后续课程中会介绍。

•ACL由若干条permit或deny语句组成。每条语句就是该ACL的一条规则,每条语句中的permit或deny就是与这条规则相对应的处理动作。

ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用

 

规则编号

•规则编号和步长的概念:

▫规则编号:每条规则都有一个相应的编号,称为规则编号,用来标识ACL规则。可以自定义,也可以系统自动分配。

▫步长:系统自动为ACL规则分配编号时,每个相邻规则编号之间会有一个差值,这个差值称为“步长”。缺省步长为5,所以规则编号就是5/10/15…以此类推。

▪如果手工指定了一条规则,但未指定规则编号,系统就会使用大于当前ACL内最大规则编号且是步长整数倍的最小整数作为规则编号。

▪步长可以调整,如果将步长改为2,系统则会自动从当前步长值开始重新排列规则编号,规则编号就变成2、4、6…。

•那步长的作用是什么?直接rule 1/2/3/4…为什么不可以?

▫先来看一个小题目:如果希望增加一条规则,该如何处理?

▫可以在rule 10和rule 15之间,手工加入一条rule 11。

▫因此,设置一定长度的步长的作用,是方便后续在旧规则之间插入新的规则。

ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用

 

规则编号与步长

规则编号(Rule ID):

一个ACL中的每一条规则都有一个相应的编号。

步长(Step):

步长是系统自动为ACL规则分配编号时,每个相邻规则编号之间的差值,缺省值为5。步长的作用是为了方便后续在旧规则之间,插入新的规则。

Rule ID分配规则:

系统为ACL中首条未手工指定编号的规则分配编号时,使用步长值(例如步长=5,首条规则编号为5)作为该规则的起始编号;为后续规则分配编号时,则使用大于当前ACL内最大规则编号且是步长整数倍的最小整数作为规则编号。

通配符 (1)

•当进行IP地址匹配的时候,后面会跟着32位掩码位,这32位称为通配符。

•通配符,也是点分十进制格式,换算成二进制后,“0”表示“匹配”,“1”表示“不关心”。

•具体看下这2条规则:

▫rule 5: 拒绝源IP地址为10.1.1.1报文通过——因为通配符为全0,所以每一位都要严格匹配,因此匹配的是主机IP地址10.1.1.1;

▫rule 15:允许源IP地址为10.1.1.0/24网段地址的报文通过——因为通配符:0.0.0.11111111,后8位为1,表示不关心,因此10.1.1.xxxxxxxx 的后8位可以为任意值,所以匹配的是10.1.1.0/24网段。

•例子:如果要精确匹配192.168.1.1/24这个IP地址对应的网段地址,通配符是多少?

▫可以得出:网络位需要严格匹配,主机位无所谓,因此通配符为“0.0.0.255”。

ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用

 

匹配规则:

“0”表示“匹配”;“1”表示“随机分配”

ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用

 

通配符 (Wildcard)

•通配符是一个32比特长度的数值,用于指示IP地址中,哪些比特位需要严格匹配,哪些比特位无需匹配。

•通配符通常采用类似网络掩码的点分十进制形式表示,但是含义却与网络掩码完全不同。

通配符 (2)

•如果想匹配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匹配和通配符使用

 

•匹配192.168.1.0/24这个子网中的奇数IP地址,例如192.168.1.1、192.168.1.3、192.168.1.5等。

ACL的分类与标识

•基于ACL规则定义方式的划分,可分为:

▫基本ACL、高级ACL、二层ACL、用户自定义ACL和用户ACL。

•基于ACL标识方法的划分,则可分为:

▫数字型ACL和命名型ACL。

•注意:用户在创建ACL时可以为其指定编号,不同的编号对应不同类型的ACL。同时,为了便于记忆和识别,用户还可以创建命名型ACL,即在创建ACL时为其设置名称。命名型ACL,也可以是“名称 数字”的形式,即在定义命名型ACL时,同时指定ACL编号。如果不指定编号,系统则会自动为其分配一个数字型ACL的编号。

•基于ACL规则定义方式的分类

分类

编号范围

规则定义描述

基本ACL

2000~2999

仅使用报文的源IP地址、分片信息和生效时间段信息来定义规则。

高级ACL

3000~3999

可使用IPv4报文的源IP地址、目的IP地址、IP协议类型、ICMP类型、TCP源/目的端口号、UDP源/目的端口号、生效时间段等来定义规则。

二层ACL

4000~4999

使用报文的以太网帧头信息来定义规则,如根据源MAC地址、目的MAC地址、二层协议类型等。

用户自定义ACL

5000~5999

使用报文头、偏移位置、字符串掩码和用户自定义字符串来定义规则。

用户ACL

6000~6999

既可使用IPv4报文的源IP地址或源UCL(User Control List)组,也可使用目的IP地址或目的UCL组、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则。

基于ACL标识方法的分类

分类

规则定义描述

数字型ACL

传统的ACL标识方法。创建ACL时,指定一个唯一的数字标识该ACL。

命名型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的匹配机制

•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原理和作用,ACL类型和特点,ACL匹配和通配符使用

 

ACL的匹配顺序及匹配结果

•配置顺序(config模式)

▫系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。

ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用

 

•一条ACL可以由多条“deny或permit”语句组成,每一条语句描述一条规则,这些规则可能存在包含关系,也可能有重复或矛盾的地方,因此ACL的匹配顺序是十分重要的。

华为设备支持两种匹配顺序:自动排序(auto模式)和配置顺序(config模式)。缺省的ACL匹配顺序是config模式。

▫自动排序,是指系统使用“深度优先”的原则,将规则按照精确度从高到低进行排序,并按照精确度从高到低的顺序进行报文匹配。——这个比较复杂,这里就不具体展开了,感兴趣的同学可以课后查看资料。

▫配置顺序,系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。——这个就是我们前面提到的匹配顺序。

▪如果后面又添加了一条规则,则这条规则会被加入到相应的位置,报文仍然会按照从小到大的顺序进行匹配。

•匹配结果:(如图所示,以192.168.1.3/24为例)

▫首先理解ACL 2000的含义:

▪rule 1:允许源IP地址为192.168.1.1的报文

▪rule 2:允许源IP地址为192.168.1.2的报文

▪rule 3:拒绝源IP地址为192.168.1.2的报文

▪rule 4:允许其他所有IP地址的报文

ACL的匹配位置

ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用

 

入站 (Inbound)及出站 (Outbound)方向

ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用

 

基本ACL的基础配置命令

•创建基本ACL

•[Huawei] acl [ number ] acl-number [ match-order config ]

acl-number:指定访问控制列表的编号。

match-order config:指定ACL规则的匹配顺序,config表示配置顺序。

•[Huawei] acl name acl-name { basic | acl-number } [ match-order config ]

acl-name:指定创建的ACL的名称。

basic:指定ACL的类型为基本ACL。

•配置基本ACL规则

•[Huawei-acl-basic-2000] rule [ rule-id ] { deny | permit } [ source { source-address source-wildcard | any } | time-range time-name ]

rule-id:指定ACL的规则ID。

deny:指定拒绝符合条件的报文。

permit:指定允许符合条件的报文。

source { source-address source-wildcard any }:指定ACL规则匹配报文的源地址信息。如果不配置,表示报文的任何源地址都匹配。其中:

source-address:指定报文的源地址。

source-wildcard:指定源地址通配符。

any:表示报文的任意源地址。相当于source-address为0.0.0.0或者source-wildcard为255.255.255.255。

time-range time-name:指定ACL规则生效的时间段。其中,time-name表示ACL规则生效时间段名称。如果不指定时间段,表示任何时间都生效。



Tags:ACL   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
安装环境Linux服务器:Centos 6 64位Oracle服务器:Oracle11gR2 64位 系统要求说明:内存必须高于1G的物理内存;交换空间,一般为内存的2倍(1G的内存可以设置swap 分区为3G大小);硬...【详细内容】
2021-12-27  Tags: ACL  点击:(2)  评论:(0)  加入收藏
1、 登陆CentOS 2、 查看备份脚本,脚本放在\usr\local目录下 3、 编写数据库备份脚本,内容如下 前提是需要在Oracle创建directory文件,如果没有,可以create创建并授权给相应的用...【详细内容】
2021-12-10  Tags: ACL  点击:(14)  评论:(0)  加入收藏
之前写了个Oracle12c在Redhat6.8下的静默安装,操作系统版本太老了而且没配插图,今天重新写个centos 7 下静默安装。 准备环境:centos 7 虚拟机一台,Oracle12c安装包。1、检查防...【详细内容】
2021-10-12  Tags: ACL  点击:(29)  评论:(0)  加入收藏
JDK 17 正式发布+免费牛逼啊,JDK 16 刚发布半年(2021/03/16),JDK 17 又如期而至(2021/09/14),这个时间点牛逼啊,蹭苹果发布会的热度?记得当年 JDK 15 的发布也是同天,巧了。。虽然 iPho...【详细内容】
2021-09-16  Tags: ACL  点击:(88)  评论:(0)  加入收藏
一、ACL-访问控制列表作用:读取三层、四层头部信息,根据预先定义好的规则对流量进行筛选、过滤。三层头部信息:源、目IP四层头部信息:源、目端口号、TCP/UDP协议访问控制列...【详细内容】
2021-09-13  Tags: ACL  点击:(37)  评论:(0)  加入收藏
2021年免费vps服务器申请,oracle永久免费使用。Oracle 云免费套餐只需注册 Oracle 云帐户即可获取,不仅包含丰富的 Always Free 云服务,还提供 300 美元的免费试用储值,让您可以...【详细内容】
2021-09-08  Tags: ACL  点击:(109)  评论:(0)  加入收藏
•随着网络的飞速发展,网络安全和网络服务质量QoS (Quality of Service)问题日益突出。访问控制列表 (ACL, Access Control List)是与其紧密相关的一个技术。•ACL可...【详细内容】
2021-08-25  Tags: ACL  点击:(105)  评论:(0)  加入收藏
Oracle日志文件是Oracle数据库存储信息的重要文件,主要用来存储数据库变化的操作信息。Oracle日志文件可以分为两种:重做日志文件(redo log file)、归档日志文件,其中重做日志文...【详细内容】
2021-08-19  Tags: ACL  点击:(101)  评论:(0)  加入收藏
本例子在真实环境应用过,获得了很好的体验,特将其分享出来供各位朋友使用。后续我会持续把相关的知识一点一点的更新,请各位多多关注,多多支持。测试速度:导出速度大概800M/s,如...【详细内容】
2021-08-17  Tags: ACL  点击:(87)  评论:(0)  加入收藏
天冒险重启下Oracle rac,分三个步骤,停实例---停集群---重启服务器。 1、关闭实例检查状态su - gridcrsctl status res -t 注意:只在一个节点执行就行,或者为了保险期间,使用shut...【详细内容】
2021-07-16  Tags: ACL  点击:(128)  评论:(0)  加入收藏
▌简易百科推荐
写一个shell获取本机ip地址、网关地址以及dns信息。经常会遇到取本机ip、网关、dns地址,windows一个命令ipconfig /all全部获取到,但linux系统却并非如此。linux系统都自带ifc...【详细内容】
2021-12-27  K佬食古    Tags:shell   点击:(0)  评论:(0)  加入收藏
步骤1、配置 /etc/sysconfig/network-scripts/ifcfg-eth0 里的文件。it动力的CentOS下的ifcfg-eth0的配置详情:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifc...【详细内容】
2021-12-24  忆梦如风    Tags:网卡   点击:(9)  评论:(0)  加入收藏
1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录find . -name “*.tar” -execmv {}./backup/ ;注解:find –name 主要用于查找某个文件名字,-exec 、xargs可...【详细内容】
2021-12-17  郭主任    Tags:运维   点击:(18)  评论:(0)  加入收藏
对于经常上网的朋友来说,除了手机购物上网,pc端玩网页游戏还是很多小伙伴首选的,但是有时候明明宽带链接上了,打开浏览器却出现上不了网的现象,下面小编要来跟大家说说电脑有网络...【详细内容】
2021-12-16  小白系统    Tags:网页无法打开   点击:(28)  评论:(0)  加入收藏
在访问像github、gitlab这样的外国网站时,很有可能会出现页面加载不出来或找不到页面的错误。这时候有的朋友就会以为是网络的问题,于是把Wifi断掉连上自己手机的热点,结果却还...【详细内容】
2021-12-15  启施技术IT狼叔    Tags:外网   点击:(14)  评论:(0)  加入收藏
网络地址来源:获取公网IP地址 https://ipip.yy.com/get_ip_info.phphttp://pv.sohu.com/cityjson?ie=utf-8http://www.ip168.com/json.do?view=myipaddress...【详细内容】
2021-12-15  韦廷华12    Tags:外网ip   点击:(14)  评论:(0)  加入收藏
准备好软件IPOP、用ENSP模拟一下华为交换机 启动交换机 <Huawei>sysEnter system view, return user view with Ctrl+Z.[Huawei]sysname FTPClient[FTPClient]interface vla...【详细内容】
2021-12-15  思源Edward    Tags:交换机   点击:(22)  评论:(0)  加入收藏
我们经常用到netstat命令查看主机连接状况,包括连接ip、端口、状态等,今天就练习下shell分析netsat结果。描述假设netstat命令运行的结果我们存储在nowcoder.txt里,格式如下:Pro...【详细内容】
2021-12-14  K佬食古    Tags:netstat   点击:(19)  评论:(0)  加入收藏
什么是滑动窗口?窗口是操作系统开辟的一块缓存空间,发送方在收到接收方ACK应答之前,必须在缓冲区保留已发送的数据,如果按期收到确认应答,数据就可以从缓冲区移除。什么是滑动窗...【详细内容】
2021-12-14  DifferentJava    Tags:TCP   点击:(28)  评论:(0)  加入收藏
概述日常管理华为路由设备过程中,难为会忘记设备登录密码,那么该如何重置设备登录密码吗?本期文章将全面向各位小伙伴总结分享。重置华为设备登录密码思路先行 采用console登录...【详细内容】
2021-12-10  onme0    Tags:   点击:(26)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条