ACL(7/27,66min)
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接口调用方向的建议:
考虑性能资源、链路带宽的消耗