访问控制列表ACL(Access Control List)就是利用IP数据包中的元素来匹配数据包,所以ACL可以通过匹配IP报文中的5元素来对数据包实施“允许”“拒绝”等操作。
IP数据包中的元素,以承载TCP协议的IP数据包为例,它包含如下图所示的5个元素,这5个元素的组合能标识某数据包来龙(即源地址、源端口)去脉(即目的地址、目的端口)和通信方式(协议号),从而唯一标识了某类数据包。
图4-1 IP数据包
例如可以用ACL描述:不让任何终端使用Telnet登录,或者可以让每个终端经由SMTP向我们发送电子邮件。
ACL的类型根据不同的划分规则可以有不同的分类,具体参见表。
表4-1 ACL分类
划分规则 | 分类 | 应用场景 | 说明 |
对IPv4和IPv6的支持 | ACL4 | IPv4的应用场景 | 相对的命令行ACL4和ACL6会有差异 |
ACL6 | IPv6的应用场景 | 相对的命令行ACL4和ACL6会有差异 | |
按照命名方式 | 数字ACL | 传统的ACL标识方法,用户创建ACL时,指定一个唯一的数字标识,后续的操作可以通过这个唯一的数字标识对ACL进行相关的操作。 | - |
名字ACL | 用户在创建ACL时,可以为ACL指定一个名称。后续的操作可以通过这个唯一的名称确定一个ACL,从而对其进行相关操作。 名称相对于数字来说具有更为直观的标识和记忆的效果,S2700-52P-EI提供了灵活的ACL命令方式。 | 当前在指定名字ACL的同时,也可以同时配置数字ACL。如果没有配置数字ACL,在系统在记录此名字ACL会分配一个数字ACL的编号给该名字ACL。 ACL名称在IPv4和IPv6内分别全局唯一,互不影响。 | |
按照ACL规则的功能 | 基本ACL | 仅使用报文的源IP地址、分片标记和时间段信息来定义规则。 | 编号范围为2000~2999。 |
高级ACL | 既可使用报文的源IP地址,也可使用目的地址、IP优先级、ToS、DSCP、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则。 高级访问控制列表可以定义比基本访问控制列表更准确、更丰富、更灵活的规则。 | 编号范围为3000~3999。 | |
二层ACL | 可根据报文的以太网帧头信息来定义规则,如根据源MAC地址、目的MAC地址、以太帧协议类型等。 | 编号范围为4000~4999。 | |
自定义ACL | 可根据偏移位置和偏移量从报文中提取出一段内容进行匹配。 | 编号范围为5000~5999。 |
目的
ACL是指通过配置的一系列匹配规则对特定的数据包进行过滤,从而识别需要过滤的对象。在识别出特定的对象之后,根据预先设定的策略允许或禁止相应的数据包通过。
S2700-52P-EI通过配置一系列的规则,以选择数据包,这些规则就是通过访问控制列表ACL定义的。
ACL规则可作为一种基础的资源被应用模块引用:
- 策略路由
- 路由过滤
- QoS
- MQC(Modular QoS Command Line)
- 设备安全
作为S2700-52P-EI实现的流分类策略,可以针对L2/L3报文进行分类,如果需要进行L2+L3的混合分类,则需要使用MQC对ACL进行组合。