华为 ACL访问控制列表 (高级ACL为例)
Access Control List访问控制列表–ACL
ACL是由一个或多个用于报文过滤的规则组成的规则集合,通过在不同功能上的应用 可 达到不同的应用效果。
路由器和交换机接口的指令列表,用来控制端口进出的数据包,配合各种应用(NAT、route police 前缀列表等)实现对应的效果。
匹配特定数据,实现对数据的控制(deny–拒绝,permit–放行)
实现网络访问控制,Qos留策略,路由信息过滤,策略路由等诸多方面。
(1):按照ACL过滤的报文类型和功能划分
基本acl(2000-2999):只能匹配源ip地址。
高级acl(3000-3999):可以匹配源ip、目标ip、源端口、目标端口等三层和四层的字段。
① 接口ACL(编号1000-----19999)
② 基本ACL(编号2000-----2999)
③ 高级ACL(编号3000-----3999)
④ 二层ACL(编号4000-----4999)
⑤ 自定义ACL(编号5000----5999)
(2):按照命名方式划分
① 数字型ACL(创建ACL是编号)
② 命名型ACL(给所创建的ACL赋予一个名称)
定义ACL语句--------》接口/应用挂载-------》接口收到流量匹配ACL语句----------》数据命中ACL后执行语句动作。
(1):一个ACL可以由多条“deny | permit”语句组成,每一条语句描述了一条规则
permit–放行,允许,抓取/匹配
deny----拒绝,过滤。
(2):设备收到数据流量后,会逐条匹配ACL规则,看其是否匹配。
如果不匹配,则匹配下一条。一旦找到一条匹配的规则,则执行规则中定义的动作(permit或者deny)并且不再匹配后续的语句。
如果找不到匹配的规则,则设备不对报文进行任何处理(即默认执行prmit any any,放行所有)
注意: ACL中定义的这些规则可能存在重复或矛盾的地方。规则的匹配顺序决定了规则的优先级,ACL通过设置规则的优先级来处理规则之间重复或矛盾的情形
配置顺序和自动排序
(1)配置顺序:
配置顺序按ACL规则编号(rule-id)从小到大的顺序进行匹配。
设备会在创建ACL的过程中自动为每一条规则分配一个编号(rule-id),规则编号决定了规则被匹配的顺序(ARG3系列路由器默认规则编号的步长是5)。
(2)自动排序:
自动排序使用“深度优先”的原则进行匹配,即根据规则的精确度排序,匹配条件(如协议类型,源目的IP地址范围等)限制越严格越精确。
若“深度优先”的顺序相同,则匹配该规则时按照规则编号从小到大排列。
rule
(1) 一个ACL内可以有一条或者多条规则,每条规则都有自己的编号,在一个ACL每条语句的规则编号时唯一的,每条编号代表一个ACL语句和动作。
(2) ACL的规则编号(rule id)默认自动生成,也可以手动指定,一般我们通过手动插入新的rule 来调整ACL的匹配规则。
(3)默认每条规则号的从0开始,增长规则为步进5(通过step命令修改步进号)