最详细的ACL介绍与实验配置

随着网络规模的扩大和流量的增加,对网络安全的控制和对带宽的分配成为网络管理的重要内容。通过对报文进行过滤,可以有效防止非法用户对网络的访问,同时也可以控制流量,节约网络资源。 ACL(Access Control List,访问控制列表)即是通过配置对报文的匹配规则和处理操作来实现包 过滤的功能。

学习本章内容后,我们应该能够:

  1. 掌握ACL原理

  1. 理解ACL工作过程

  1. 掌握ACL配置实例

特别说明: 本内容参考书籍《华为HCIA-Datacom认证实验指南》。

如果需要更多HCIA实验操作文档和拓扑,可以关注点赞后+私信我“HCIA实验”,可以发HCIA全套拓扑。

1.1ACL简介

1.1.1什么是ACL

ACL 通过一系列的匹配条件对报文进行分类,这些条件可以是报文的源 MAC 地址、目的 MAC 地 址、源 IP 地址、目的 IP 地址、端口号等。

1.1.2 ACL应用场景

ACL 支持应用方式主要有硬件和软件,具体介绍如下:

  • 基于硬件的应用:ACL 被下发到硬件,例如将 ACL 应用到端口或 VLAN 接口对报文进行过滤 或在配置 QoS 功能时引用 ACL,对报文进行流分类。需要注意的是,当 ACL 被 QoS 功能引 用时,ACL 规则中定义的动作(deny 或 permit)不起作用,交换机对匹配此 ACL 的报文采 取的动作由 QoS 中流行为定义的动作决定。关于流行为的详细介绍请参见 QoS 分册的”QoS 配置”部分。

  • 基于软件的应用:ACL 被上层软件引用,例如配置登录用户控制功能时引用 ACL,对 Telnet、 SNMP 和 WEB 用户进行控制。需要注意的是,当 ACL 被上层软件引用时,交换机对匹配此 ACL 的报文采取的动作由 ACL 规则中定义的动作(deny 或 permit)决定。关于登录用户控 制的详细介绍请参见系统分册的”登录交换机配置”部分。

1.2 ACL工作过程

1.2.1ACL分类

ACL根据ACL序号来区分不同的ACL,可以分为一下三种类型:

  • 基本ACL:2000~2999 只根据报文的源 IP 地址信息制定匹配规则。

  • 高级ACL:3000~3999 根据报文的源 IP 地址信息、目的 IP 地址信息、IP 承载的协 议类型、协议的特性等三、四层信息制定匹配规则。

  • 二层ACL:4000~4999 根据报文的源 MAC 地址、目的 MAC 地址、802.1p 优先级、 二层协议类型等二层信息制定匹配规则。

1.2.2ACL命名

用户在创建 ACL时,可以为ACL指定一个名称。每个ACL最多只能有一个名称。命名 的ACL使用户可以通过名称唯一地确定一个ACL,并对其进行相应的操作。在创建ACL 时,用户可以选择是否配置名称。ACL创建后,不允许用户修改或者删除ACL名称,也不允许为未命名的ACL添加名称。

1.2.3ACL匹配顺序

一个 ACL中可以包含多个规则,而每个规则都指定不同的报文匹配选项,这些规则可能存在重复或矛盾的地方,在将一个报文和 ACL的规则进行匹配的时候,到底采用哪些规则呢?就需要确定规则 的匹配顺序。ACL支持两种匹配顺序分别是按照用户配置规则的先后顺序进行规则匹配和自动排序即按照”深度优先”的顺序进行规则匹配;下面详细介绍深度优先匹配原则。

1、基本ACL 的”深度优先”顺序判断原则

  • 先比较源 IP 地址范围,源 IP 地址范围小(反掩码中”0”位的数量多)的规则优先;

  • 如果源 IP 地址范围也相同,则先配置的规则优先。

2、高级 ACL 的”深度优先”顺序判断原则

  • 先比较协议范围,指定了 IP 协议承载的协议类型的规则优先;

  • 如果协议范围相同,则比较源 IP 地址范围,源 IP 地址范围小(反掩码中”0”位的数量多) 的规则优先;

  • 如果协议范围、源 IP 地址范围相同,则比较目的 IP 地址范围,目的 IP 地址范围小(反掩码 中”0”位的数量多)的规则优先;

  • 如果协议范围、源 IP 地址范围、目的 IP 地址范围相同,则比较四层端口号(TCP/UDP 端口 号)范围,四层端口号范围小的规则优先;

  • 如果上述范围都相同,则先配置的规则优先。

3、二层 ACL 的”深度优先”顺序判断原则

  • 先比较源 MAC 地址范围,源 MAC 地址范围小(掩码中”1”位的数量多)的规则优先;

  • 如果源 MAC 地址范围相同,则比较目的 MAC 地址范围,目的 MAC 地址范围小(掩码中”1” 位的数量多)的规则优先;

  • 如果源 MAC 地址范围、目的 MAC 地址范围相同,则先配置的规则优先。

在报文匹配规则时,会按照匹配顺序去匹配定义的规则,一旦有一条规则被匹配,报文就不再继续匹配其它规则了,交换机将对该报文执行第一次匹配的规则指定的动作。

1.2.4 ACL步长

1、什么是步长

步长的含义是:交换机自动为 ACL 规则分配编号的时候,每个相邻规则编号之间的差值。例如,如 果将步长设定为 5,规则编号分配是按照 0、5、10、15…这样的规律分配的。缺省情况下,步长为 5。 当步长改变后,ACL 中的规则编号会自动重新排列。例如,原来规则编号为 0、5、10、15,当通 过命令把步长改为 2 后,则规则编号变成 0、2、4、6。 当使用命令将步长恢复为缺省值后,交换机将立刻按照缺省步长调整 ACL 规则的编号。例如:ACL 3001,步长为 2,下面有 4 个规则,编号为 0、2、4、6。如果此时使用命令将步长恢复为缺省值, 则 ACL 规则编号变成 0、5、10、15,步长为 5。

2、步长的功能

用户可以使用步长方便地在规则之间插入新的规则。例如配置好了 4 个规则,规则编号为:0、5、 10、15。此时如果用户希望能在第一条规则之后插入一条规则,则可以使用命令在 0 和 5 之间插入 一条编号为 1 的规则。 另外,在定义一条 ACL 规则的时候,用户可以不指定规则编号,这时,系统会从 0 开始,按照步 长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是 28,步长是 5, 那么系统分配给新定义的规则的编号将是 30。

1.2.5ACL对分片报文处理

传统的报文过滤并不处理所有 IP 报文分片,而是只对第一个(首片)分片报文进行匹配处理,后续 分片一律放行。这样,网络攻击者可能构造后续的分片报文进行流量攻击,就带来了安全隐患。 在 IPv4 ACL 的规则配置项中,通过关键字 fragment 来标识该 ACL 规则仅对非首片分片报文有效, 而对非分片报文和首片分片报文无效。不包含此关键字的规则项对非分片报文和分片报文均有效。

1.3ACL配置

1.3.1基本ACL配置实例

配置基本ACL 2000,禁止源 IP 地址为 1.1.1.1 的报文通过。

<System>system-view
[Sysname]acl number 2000 //
[Sysname-acl-basic-2000]rule deny source 1.1.1.1 0 //
[Sysname-acl-basic-2000]display acl 2000 //查看ACL配置结果如下
Basic ACL 2000, named -none-, 1 rule, 
ACL's step is 5 
rule 0 deny source 1.1.1.1 0 (5 times matched)

1.3.2高级ACL配置实例

配置高级ACL3000,允许129.9.0.0网段的主机向202.38.160.0网段的主机发送端口号为80的TCP报文。

<System>system-view 
[Sysname]acl number 3000
[Sysname-acl-adv-3000]rule permit tcp source 129.9.0.0 0.0.255.255 destination 202.38.160.0 0.0.0.255 destination-port eq 80
[Sysname-acl-adv-3000]display acl 3000
Advanced ACL 3000, named -none-, 1 rule,
ACL's step is 5
rule 0 permit tcp source 129.9.0.0 0.0.255.255 destination 202.38.160.0 0.0.0.255 destination-port eq www (5 times matched)

1.3.3二层ACL配置实例

配置二层 ACL 4000,禁止 802.1p 优先级为 3 的报文通过

<System>system-view
[Sysname]acl number 4000
[Sysname-acl-ethernetframe-4000]rule deny cos 3
[Sysname-acl-ethernetframe-4000]display acl 4000
Ethernet frame ACL 4000, named -none-, 1 rule, 
ACL's step is 5 
rule 0 deny cos excellent-effort(5 times matched)

1.4练习题

选择题

1.路由器某个ACL中存在如下规则:rule deny source 192.168.2.0 0.0.0.255 destination 172.16.10.2 0.0.0.0下列说法正确的是?( )

A、源IP为172.16.10.2.目的IP为192.168.2.1的所有TCP报文匹配这条规则

B、源IP为192.168.2.1.目的IP为172.16.10.1的所有TCP报文匹配这条规则

C、源IP为172.16.10.2.目的IP为192.168.2.0的所有TCP报文匹配这条规则

D、源IP为192.168.2.1.目的IP为172.16.10.2的所有TCP报文四配这条规则

试题答案:D

2、如果ACL规则中最大的编号为12,缺省情况下,用户配置新规则时未指定编号,则系统为新规则分配的编号为?( )

A、13 B、15 C、14 D、16

试题答案:B

3、二层ACL的编号范围是?( )

A、2000-2999 B、3000-3999 C、4000~4999 D、6000~6031

试题答案:C

4、路由器某个ACL 中存在如下规则:rule deny tcp source 192.168.1.0 0.0.0.255 destination 172.16.10.1 0.0.0.0 destination-port eq 21 下列说法正确的是?( )

A、源IP为192.168.1.1,目的IP为172.16.10.1,并且目的端口号为21的所有TCP报文匹配这条规则

B、源IP为192.168.1.1,目的IP为172.16.10.2,并且目的端口号为21的所有TCP报文匹配这条规则

C、规则源IP为192.168.1.1,目的IP为172.16.10.3,并且目的端口号为21的所有TCP报文匹配这规则

D、ACL的类型为基本的ACL

试题答案:A

5、下面哪项参数不能用于高级访问控制列表?( )

A、协议号 B、目的端口号 C、物理接口 D、时间范围

试题答案:C

参考书籍:

猜你喜欢

转载自blog.csdn.net/yuyeconglong/article/details/129362460