ACL(访问控制列表)

ACL

  • ACL的基本概念
  • ACL的规则
  • ACL的规则匹配
  • ACL的分类
  • ACL的配置命令

ACL的基本概念

ACL(Access Control List)访问控制列表:是由一系列规则组成的集合

ACL通过这些规则对报文进行分类,从而使设备可以对不同类报文进行不同的处理

一个ACL通常由若干条“deny|permit”语句组成,每条语句就是该ACL的一条规则,每条语句中的“deny|permit”就是与这条规则相对应的处理动作

特别需要说明的是,ACL技术总是与其他技术结合在一起使用的,因此,所结合的技术不同,“允许( permit)”及“拒绝(deny)”的内涵及作用也会不同


ACL的规则

ACL负责管理用户配置的所有规则,并提供报文匹配规则的算法

①每个ACL作为一个规则组,一般可以包含多个规则。
②ACL中的每一条规则通过规则ID(rule-id)来标识,规则ID可以自行设置,也可以由系统根据步长自动生成,即设备会在创建ACL的过程中自动为每一条规则分配一个ID。
③默认情况下,ACL中的所有规则均按照规则ID从小到大的顺序与规则进行匹配。
④规则ID之间会留下一定的间隔。如果不指定规则ID时,具体间隔大小由“ACL的步长”来设定
(注:规则编号的步长的默认值为5)
间隔的存在,实际上是为了方便在两个相邻的规则之间插入新的规则


ACL的规则匹配

ACL中的规则逐条进行匹配

1.如果不能匹配上当前这条规则,则继续匹配下一条规则
2.如果匹配上了某条规则,则对该报文执行这条规则中定义的处理动作(permit或deny),不再继续与后续规则进行匹配
3.如果报文不能匹配上ACL的任何一条规则,华为设备会对该报文执行“permit”处理动作

注:
将一个数据包和访问控制列表的规则进行匹配的时候,由规则的匹配顺序决定规则的优先级
华为设备支持以下两种匹配顺序
(1)匹配顺序按照用户配置ACL规则的先后序列进行匹配,先配置的规则先匹配
根据ACL中语句的顺序,把数据包和判断条件进行比较。一旦匹配,就采用语句中的动作并结束比较过程,不再检查以后的其他条件判断语句。如果没有任何语句匹配,数据包将被放行。
(2)自动排序(auto)使用“深度优先”的原则进行匹配
“深度优先”根据ACL规则的精确度排序,如果匹配条件(如协议类型、源和目的IP地址范围等)限制越严格,规则就越先匹配

基本IPv4的ACL的“深度优先”顺序判断原则及步骤如下:
①判断规则中是否带VPN实例,带VPN实例的规则优先。
②比较源IP地址范围,源IP地址范围小(即通配符掩码中“0”位的数量多)的规则优先。例如,“1.1.1.1 0.0.0.0”指定了一个IP地址1.1.1.1,而“1.1.1.0 0.0.0.255”指定了一个网段1.1.1.1~1.1.1.255。因前者指定的地址范围比后者小,所以在规则中优先。
③如果源IP地址范围相同,则规则ID(rule-id)小的规则优先。


ACL的分类

基本ACL、高级ACL、二层ACL、用户自定义ACL
其中应用最为广泛的是基本ACL和高级ACL

ACL类型 编号范围 制定依据
基本ACL 2000~2999 报文的源IP地址等信息
高级ACL 3000~3999 报文的源IP地址、目的IP地址、报文优先级、IP承载的协议类型及特性等三、四层信息
二层ACL 4000~4999 报文的源MAC地址、目的MAC地址、802.1p优先级、链路层协议类型等二层信息
用户自定义ACL 5000~5999 用户自定义报文的偏移位置和偏移量、从报文中提取出相关内容等信息

ACL的配置命令

ACL使用通配符掩码
通配符掩码判断匹配IP地址中的位数
通配符掩码中,0表示匹配,1表示拒绝

例:

X表示任意数字

IP地址 通配符掩码 作用
192.168.1.1 0.0.0.0 匹配192.168.1.1
192.168.1.0 0.0.0.255 匹配192.168.1.X
192.168.1.1 0.255.0.255 匹配192.X.1.X地址
192.168.1.1 1.2.3.4 匹配192/193 . 168/170 . 0/1/2/3 . 1/4

换成二进制
192.168.1.1 0.0.0.0
IP: 11000000 10101000 00000001 00000001
掩码:00000000 00000000 00000000 00000000
0表示匹配,所以全0匹配所有,即匹配单个地址192.168.1.1

192.168.1.1 0.0.0.255
IP: 11000000 10101000 00000001 00000001
掩码:00000000 00000000 00000000 111111111
0表示匹配,1表示拒绝,所以前三位匹配,后以为拒绝,即匹配网段192.168.1.0

192.168.1.1 1.2.3.4
IP: 11000000 10101000 00000001 00000001
掩码:00000001 00000010 00000011 00000100
0表示匹配,1表示拒绝,所以第一位匹配192或者193,第二位匹配168或者170,第三位匹配0、1、2或者3,第四位匹配1或者4


1.基本ACL

特点:匹配源IP地址,即检查通过IP包中的源地址信息,如果源地址与ACL中的规则相匹配,就执行放行或拦截的操作

[R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255		匹配192.168.1.0网段
[R1-acl-basic-2000]rule deny source any			写完允许规则后加上拒绝规格,因为华为默认是permit

2.高级ACL或叫扩展ACL

特点:高级/扩展ACL可以对IP包地址信息中的源地址、目的地址、协议、端口号进行匹配,即检查通过IP包中的地址信息,如果地址信息与ACL中的规则相匹配,就执行放行或拦截的操作

[R1]acl 3000
[R1-acl-adv-3000]rule permit tcp source 192.168.1.1 0 destination 1.1.1.0 0.0.0.
255 destination-port eq 80		匹配192.168.1.1 目标1.1.1.0网段的80端口

你可能感兴趣的:(网络,华为,网络,运维,网络协议,acl)