访问列表 (ACL)
访问列表 (ACL) 是为控制网络流量和减少网络攻击而定义的一组规则。 ACL 用于根据为网络的传入或传出定义的规则集过滤流量。
ACL 功能 –
- 定义的规则集是按顺序匹配的,即匹配从第一行开始,然后是第二行,然后是第三行,依此类推。
- 只有在匹配规则之前,数据包才会匹配。一旦匹配了规则,则不会进行进一步的比较,并且将执行该规则。
- 每个 ACL 的末尾都有一个隐式拒绝,即,如果没有条件或规则匹配,则数据包将被丢弃。
建立访问列表后,应将其应用于接口的入站或出站:
- 入站访问列表 –
当对接口的入站数据包应用访问列表时,数据包将首先根据访问列表进行处理,然后路由到出站接口。 - 出站访问列表 –
当访问列表应用于接口的出站数据包时,首先数据包将被路由,然后在出站接口进行处理。
ACL 的类型 –
有两种主要的不同类型的访问列表,即:
- 标准访问列表 –
这些是仅使用源 IP 地址创建的访问列表。这些 ACL 允许或拒绝整个协议套件。它们不区分 TCP、UDP、HTTPS 等 IP 流量。通过使用数字 1-99 或 1300-1999,路由器会将其理解为标准 ACL,并将指定地址理解为源 IP 地址。 - 扩展访问列表 –
这些是使用源 IP、目标 IP、源端口和目标端口的 ACL。这些类型的 ACL,我们还可以提及应该允许或拒绝哪些 IP 流量。这些使用范围为 100-199 和 2000-2699。
此外,还有两类访问列表:
- 编号访问列表——这些访问列表一旦创建就不能被专门删除,即如果我们想从访问列表中删除任何规则,那么在编号访问列表的情况下这是不允许的。如果我们尝试从访问列表中删除规则,那么整个访问列表将被删除。编号访问列表可用于标准和扩展访问列表。
- 命名访问列表——在这种类型的访问列表中,分配了一个名称来标识访问列表。与编号访问列表不同,允许删除命名访问列表。与编号访问列表一样,它们可以与标准访问列表和扩展访问列表一起使用。
ACL 规则 –
- 标准访问列表通常应用在目的地附近(但并非总是如此)。
- 扩展的访问列表通常应用在靠近源的地方(但并非总是如此)。
- 每个方向每个协议每个接口只能分配一个 ACL,即每个接口只允许一个入站和出站 ACL。
- 如果我们使用编号的访问列表,我们无法从访问列表中删除规则。如果我们尝试删除一条规则,那么整个 ACL 将被删除。如果我们使用命名访问列表,那么我们可以删除特定规则。
- 添加到访问列表中的每条新规则都将放置在访问列表的底部,因此在实施访问列表之前,请仔细分析整个场景。
- 由于每个访问列表的末尾都有一个隐式拒绝,我们应该在我们的访问列表中至少有一个 permit 语句,否则所有流量都将被拒绝。
- 标准访问列表和扩展访问列表不能具有相同的名称。
ACL 的优点 –
- 提高网络性能。
- 提供安全性,因为管理员可以根据需要配置访问列表,拒绝不需要的数据包进入网络。
- 提供对流量的控制,因为它可以根据网络的需要允许或拒绝。