访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。每条规则描述报文匹配条件(报文的源地址、目的地址、端口号等)的判断语句,设备基于这些规则进行报文匹配,可以过滤出特定的报文
ACL配置完成后,必须应用在业务模块中才能生效,设备根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。
ACL的组成
一条ACL的结构组成,如图1所示。
图1 ACL的结构组成
-
ACL名称:通过名称来标识ACL,更加方便记忆,这种ACL,称为命名型ACL。
命名型ACL实际上是“名字+数字”的形式,可以在定义命名型ACL时同时指定ACL编号。
-
ACL编号:用于标识ACL,也可以单独使用ACL编号,表明该ACL是数字型。
不同的ACL类型使用不同的ACL编号取值标识。
-
规则:即描述报文匹配条件的判断语句。
-
规则编号:用于标识ACL规则。可以自行配置规则编号,也可以由系统自动分配。系统按照规则编号从小到大的顺序,将规则依次与报文匹配,一旦匹配上一条规则即停止匹配。
-
动作:报文处理动作,包括permit/deny两种,表示允许/拒绝。
-
匹配项:描述每条规则的报文匹配条件(报文的源地址、目的地址、端口号等)的判断语句,设备基于这些规则的匹配项进行报文匹配
ACL的实现方式
目前设备支持的ACL,有以下两种实现方式:
-
软件ACL:针对与本机交互的报文(必须上送CPU处理的报文),由软件实现来过滤报文的ACL,比如FTP、TFTP、Telnet、SNMP、HTTP、路由协议、组播协议中引用的ACL。
-
硬件ACL:针对所有报文,通过下发ACL资源到硬件来过滤报文的ACL,比如流策略、基于ACL的简化流策略、自反ACL、用户组以及为接口收到的报文添加外层Tag功能中引用的ACL。
两者主要区别在于:
-
过滤的报文类型不同:
-
软件ACL用来过滤与本机交互的报文。
-
硬件ACL可以用来过滤所有报文。
-
报文过滤方式不同:
-
软件