乐于分享
好东西不私藏

访问控制列表ACL 完整学习文档(修订优化版)

访问控制列表ACL 完整学习文档(修订优化版)

一、ACL 基本概念

访问控制列表(ACL,Access Control List)是由多条过滤规则组成的集合。其中规则是用于判断报文是否匹配的条件语句,可依据报文的源 IP 地址、目的 IP 地址、传输端口号等信息进行判定。

ACL 的本质是报文过滤器,每条规则相当于过滤滤芯。设备按照规则对网络报文进行匹配,实现特定报文的拦截或放行。仅完成 ACL 规则配置无法生效,必须将其在对应业务模块中调用绑定,过滤功能才能正常使用。

(一)主要应用场景

ACL 可嵌入多种网络业务中,常见使用场景如下:

1.流量过滤(Traffic-filter

2.网络地址转换(NAT

3.路由策略部署

4.防火墙安全策略

5.服务质量(QoS)管控

6.其他网络安全与流量管控场景

(二)ACL 基本组成

ACL 由若干条规则语句构成,单条语句即为一条独立规则,每条规则包含匹配条件执行动作两大核心部分:

·permit:允许匹配的报文通过

·deny:拒绝匹配的报文通过

每条规则拥有专属编号,设备默认在所有 ACL 末尾隐含一条规则,用于处理未匹配到任何自定义规则的报文。

二、通配符掩码(Wildcard)

通配符是长度为 32 比特的数值,采用点分十进制格式书写,作用是界定 IP 地址中需要严格匹配无需匹配的比特位。

核心特点

1.格式与子网掩码相似,但释义完全不同;

2.通配符中的二进制01可以不连续分布;

3.匹配规则:二进制位为 0 → 必须严格匹配;二进制位为 1 → 任意匹配、无需校验

示例

192.168.1.0 0.0.0.254:仅匹配该网段内所有偶数 IP 地址

三、ACL 的分类与标识方式

(一)按规则定义方式分类(主流划分)

根据匹配依据和功能不同,IPv4 ACL 分为五大类,每类对应固定编号区间:

表格

分类

编号范围

规则匹配依据

基本 ACL

2000~2999

仅依据 IP 地址、报文分片信息、生效时间段配置规则

高级 ACL

3000~3999

可匹配源 / 目的 IP 地址、IP 协议类型、ICMP 类型、TCP/UDP 源 / 目的端口、生效时间段等,功能最全面

二层 ACL

4000~4999

基于以太网帧头信息匹配,如源 MAC 地址、目的 MAC 地址、二层协议类型等

用户自定义 ACL

5000~5999

通过报文头偏移位置、字符掩码、自定义字符串完成匹配

用户 ACL

6000~6999

结合源 / 目的 IP 地址、UCL 用户组、协议类型、端口号等多维度配置规则

(二)按标识方式分类

1.数字型 ACL:传统标识方式,创建 ACL 时分配唯一数字编号,依靠编号区分不同 ACL

2.命名型 ACL:使用自定义名称替代编号标识 ACL,可读性更强,便于后期管理维护。

四、ACL 匹配规则

1.匹配顺序:设备严格按照规则编号从小到大,依次使用规则匹配流经报文。

2.终止原则:报文一旦匹配到某一条规则,立即停止后续所有规则的匹配,并执行该规则对应的permitdeny动作。

3.默认规则:若报文未匹配到任何手动配置的规则,将执行 ACL 末尾隐含规则

五、基础配置命令

(一)基本ACL(2000~2999)

仅基于源 IP 过滤流量,配置示例:

plaintext

创建并进入基本ACL 2000视图

[Router] acl 2000

拒绝192.168.1.0/24网段流量

[Router-acl-basic-2000] rule deny source 192.168.1.0 0.0.0.255

接口入方向调用ACL,实现流量过滤

[Router] interface GigabitEthernet 0/0/1

[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 2000

(二)高级ACL(3000~3999)

支持源 / 目的 IP、协议、端口等多条件匹配,通用命令格式:

1.创建高级 ACL

plaintext

[Huawei] acl number 3000

1.通用规则语法

·匹配所有 IP 报文: rule [规则编号] {deny | permit} ip source IP 通配符 destination 目的IP 通配符

·匹配 TCP 报文(支持端口匹配): rule [规则编号] {deny | permit} tcp source IP 通配符 destination 目的IP 通配符 destination-port 端口条件

六、典型配置案例

案例1:基本 ACL 过滤网段流量

需求:禁止192.168.1.0/24网段用户访问服务器网络,放行其他所有流量。

1.在路由器上创建基本 ACL 2000,拒绝目标网段流量;

2.在流量进入的接口GE0/0/1入方向调用 ACL

完整配置:

plaintext

[Router] acl 2000

[Router-acl-basic-2000] rule deny source 192.168.1.0 0.0.0.255

[Router-acl-basic-2000] quit

[Router] interface GigabitEthernet 0/0/1

[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 2000

[Router-GigabitEthernet0/0/1] quit

案例2:高级 ACL 限制网段互访

需求:公司分为研发部(10.1.1.0/24)、市场部(10.1.2.0/24),禁止两个网段互相访问。

1.配置 ACL 3001,拒绝研发部访问市场部;

2.配置 ACL 3002,拒绝市场部访问研发部;

3.分别在两个部门对应的接口入方向调用对应 ACL

完整配置:

plaintext

拒绝研发部访问市场部

[Router] acl 3001

[Router-acl-adv-3001] rule deny ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

[Router-acl-adv-3001] quit

拒绝市场部访问研发部

[Router] acl 3002

[Router-acl-adv-3002] rule deny ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255

[Router-acl-adv-3002] quit

接口调用

[Router] interface GigabitEthernet 0/0/1

[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 3001

[Router-GigabitEthernet0/0/1] quit

[Router] interface GigabitEthernet 0/0/2

[Router-GigabitEthernet0/0/2] traffic-filter inbound acl 3002

[Router-GigabitEthernet0/0/2] quit

七、补充调试与排错要点

1.查看 ACL 配置与命中统计

plaintext

display acl all # 查看设备所有ACL信息

display acl 编号 查看指定ACL的规则、匹配次数

1.清空流量统计(测试专用)

plaintext

reset acl counter all

1.常见故障原因

·未在接口 / 业务模块调用 ACL,配置不生效;

·接口流量方向(inbound/outbound)配置错误;

·通配符掩码书写错误,导致 IP 匹配异常;

·规则顺序不合理,靠前规则提前拦截流量。