一、基本概念
1、概念:ACL即访问控制列表,是一种基于包过滤的访问控制技术。由一条或多条规则组成的集合,通过定义动作来确保哪些数据包可以通过,哪些需要被阻止。
2、基本原理:ACL 通过规则对数据包分类,规则定义了源地址、目的地址、端口号等匹配条件。设备依据这些规则匹配报文,再根据应用 ACL 的业务模块的处理策略,决定允许或阻止报文通过。
3、作用:用于匹配指定流量或路由,可以针对控制层面进行匹配也可以针对转发层面进行匹配。
二、ACL分类
ACL 类型 | 编号范围 | 匹配依据 | 应用场景 |
---|---|---|---|
基本 ACL | 2000 - 2999 | 根据报文的源 IP 地址进行过滤 | 对特定网段或特定 IP 进行整体控制,如限制某个部门访问外部网络 |
高级 ACL | 3000 - 3999 | 根据报文的源 IP /目的 IP 地址、协议(TCP、UDP、ICMP 等)、源目端口号等进行过滤 | 适用于精细控制场景,如特定 IP 访问服务器特定端口或限制协议流量 |
二层 ACL | 4000 - 4999 | 根据源 MAC 地址、目的 MAC 地址和以太帧协议类型等二层信息对报文进行过滤 | 在交换网络中,控制不同 MAC 地址设备间的通信,防止非法 MAC 地址设备接入网络 |
用户自定义 ACL | 5000 - 5999 | 允许用户根据需求定义特定匹配规则,可结合多种条件灵活配置 | 基本、高级和二层 ACL 无法满足特殊访问控制需求时使用 |
用户 ACL | 6000 - 6999 | 基于 IP 地址、端口号、协议类型等网络和传输层信息过滤数据包,用户身份识别与认证,依据用户身份、角色、权限决定其对网络资源的访问权限。 | 基本、高级和二层 ACL 无法满足特殊访问控制需求时使用 |
三、ACL的组成
①规则编号:标识规则的顺序,设备按照规则编号从小到大的顺序依次匹配规则。规则编号可以手动指定,也可以由系统自动分配,默认步长等于5。
②动作:分为允许(permit)和拒绝(deny)两种,决定了匹配该规则的数据包是可以通过还是被阻止。
③匹配条件:主要是源/目的 IP 地址、协议类型、端口号等。
四、ACL匹配机制
1、匹配规则
①顺序匹配:设备按规则编号从小到大的顺序,依次将数据包与 ACL 规则进行匹配。
②一旦匹配即停止:当数据包与某条规则相匹配时,设备会立刻依据该规则的动作(允许或拒绝)处理数据包,不再对后续规则进行匹配。
2、常用匹配项
①生效时间段:所有 ACL 都能依据生效时间段对报文进行过滤,实现不同时间段设置不同访问策略。
②协议:高级 ACL 可基于协议类型过滤报文,常见协议如 ICMP、TCP、UDP、GRE、IGMP 等。
③源 / 目的 IP 地址及其通配符掩码:用于明确允许或拒绝访问的源和目的 IP 地址范围。
通配符:可以出现0或者1的间隔,长度为32bit,点分十进制标识;用于指示IP地址中,那些比特需要严格匹配,哪些比特不需要匹配。“0”表示匹配,’1‘表示随机分配
五、应用位置
1、接口:可以将 ACL 应用到设备的物理接口或逻辑接口的入方向(inbound)或出方向(outbound),对经过该接口的数据包进行过滤。
2、VLAN:在交换机上,可以将 ACL 应用到 VLAN,控制不同 VLAN 之间的通信。
3、路由协议:用于控制路由信息的接收和发布
六、注意事项
1、规则顺序:由于 ACL 是按照规则编号顺序匹配的,因此规则的顺序非常重要。不合理的规则顺序会导致某些规则无法生效。
2、默认规则:在 ACL 的最后通常有一条隐含的拒绝所有规则(deny any),如果前面的规则都不匹配,数据包将被拒绝。华为设备ACL匹配流量默认放行,匹配路由默认拒绝所有。