ACL(Access Control List)访问控制列表(是一种技术而非一种协议)
(ACL/包过滤防火墙就是第一代防火墙技术)
ACL可以通过定义规则来允许或拒绝流量的通过。
ACL可以根据需求来定义过滤的条件以及匹配条件后所执行的动作(如VPN)。
ACL工作原理:
ACL由一条或多条规则组成;
每条规则必须选择动作:允许或拒绝
每条规则都必须有一个ID序列号(默认=5,间隔=5,也可以自定义,如rule 3,rule 4,越小越优先)
只要有一条规则和报文匹配,就停止查找,称为命中规则;
查找完所有规,若没有符合条件的规则,称为未命中规则;
ACL创建后,必须将其应用到某个接口或其他技术内才会生效;
应用在接口时必须选择方向:入站或出站(即inbound与outbound,相对设备判断)
不能过滤由设备自身产生的数据
- acl number 3000
-
- rule 0 deny tcp destiantion-port eq 445
-
- rule 1 deny udp destination-port eq 445
使用ACL禁止445端口(防止勒索病毒)
指定规则时一定先细后粗
ACL类型:
分为数字型ACL和命名型ACL
| 分类 | 编号范围 | 参数 |
| 基本ACL | 2000-2999 | 源IP地址(NAT、路由策略) |
| 高级ACL | 3000-3999 | 源、目IP地址与源、目端口 |
| 二层ACL | 4000-4999 | 源、目MAC地址、以太帧协议类型等 |
命名ACL默认为高级ACL(编号默认从3999递减),也可以跟数字
[Huawei]acl name defend 3000
- [Huawei-acl-adv-defend]rule 1 permit ?
- <1-255> Protocol number
- gre GRE tunneling(47)
- icmp Internet Control Message Protocol(1)
- igmp Internet Group Management Protocol(2)
- ip Any IP protocol
- ipinip IP in IP tunneling(4)
- ospf OSPF routing protocol(89)
- tcp Transmission Control Protocol (6)
- udp User Datagram Protocol (17)
正掩码、反掩码、通配符区别:
rule deny so 1.1.1.1 2 1.23.44.5
| 名称 | 规则 | 作用 | 举例 | 备注 |
| 掩码 | 连续的1和0 | IP地址 | 255.255.255.0 | 1对应网络位,0对应主机位 |
| 反掩码 | 连续的0和1 | 路由协议 | 0.0.0.255 | 0必须匹配,1无需匹配 |
| 通配符 | 任意的0和1 | ACL | 0.0.255.0 | 0必须匹配,1无需匹配 |
通配符掩码中,0代表需要检查的位,1代表无需检查的位。
| 举例 | 备注 |
| 192.168.0.1 0.0.0.0/0 | 匹配一个主机地址 |
| 192.168.0.0 0.0.0.255 | 匹配一个网段 |
| 192.168.0.1 0.0.0.254 | 匹配网段内奇数地址 |
| 192.168.0.0 0.0.0.254 | 匹配网段内偶数地址 |
| any = x.x.x.x 255.255.255.255 | 匹配所有地址 |
举例计算:
192.168.16.0 通配符为0.0.15.255,如何计算其地址范围?
通配符0.0.15.255的二进制
00000000.00000000.00001111.11111111
192.168.16.0的二进制
11000000.10101000.00010000.00000000
标红色的部分说明要严格匹配,那么黑色部分就可1可0,即可以极端为
11000000.10101000.00011111.11111111,换算成点分十进制为
192.168.31.255,则该通配符所表示的地址范围为
192.168.16.0-192.168.31.255
ACL配置:
| 命令 | 备注 |
| acl 2000 | 创建一个基本ACL |
| rule 5 deny/permit source 192.168.1.0 0.0.0.255 | 配置ACL的规则为: 拒绝或允许源地址为 192.168.1.0/24的流量 |
| acl 3000 | 创建一个高级ACL |
| rule 5 deny/permit tcp source 192.168.1.0 0.0.0.255 destination 8.8.8.8 0 destination-port eq 80 | 配置ACL的规则为: 拒绝或允许源地址为192.168.1.0/24到 8.8.8.8的HTTP流量 |
| traffic-filter inbound/outbound acl 2000 | 在接口调用ACL过滤流量 |
| display acl 2000 | 验证ACL |
| display traffic-filter applied-record | 查看设备上所有ACL的调用情况 (不同设备对该命令支持度不一) |
ACL接口调用方向的建议:

考虑性能资源、链路带宽的消耗