ACL技术原理及基本ACL和高级ACL配置实例--跟老胡一起来学习!
  

大智哥 2579

{{ttag.title}}
本帖最后由 大智哥 于 2025-4-21 11:48 编辑

1.问题提出

如下图所示,某公司内部网络为保证财务数据安全,禁止研发部门访问财务服务器,但总裁办公室不受限制,那么如何实现这种需求?

解决此需求需要借助ACL工具来实现对一些流量进行过滤,从而控制网络数据的流向。

那么什么是ACL?

下面先介绍它的基本原理,然后再举具体的使用场景。

2.ACL基本原理2.1ACL概述

ACL(Access Control List,访问控制列表)它是一种用于网络设备(如路由器、交换机、防火墙)的核心安全和技术策略工具,它能够对报文进行匹配和区分,它是由一系列permit或deny语句组成的、有序规则的列表。

通过ACL可以实现对网络中报文流的精确识别和控制,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而切实保障网络环境的安全性和网络服务质量的可靠性。

2.2ACL的组成

ACL由若干条permit或deny语句组成,每条语句就是该ACL的一条规则,每条语句中的permit或deny就是与这条规则相对应的处理动作。

在一条规则中,它分别由下面几部分组成:

下面是一个 ACL 规则各部分的解释:

2.2.1ACL规则编号与步长

1)规则编号(Rule ID)

  • 作用:唯一标识ACL中的每条规则,决定匹配顺序(从小到大执行)。
  • 分配方式


    • 手动指定:管理员直接为规则赋予编号(如 rule 10 permit ip...)。
    • 自动分配:若未手动指定,系统按步长规则自动生成编号。


2)步长(Step)

  • 定义:相邻自动分配规则编号间的差值,默认值为5(可配置)。
  • 核心用途:在已有规则间预留“空隙”,方便后续插入新规则。


    • 示例:步长为5时,初始规则编号为5、10、15…若需在5和10之间插入规则,可直接指定编号6-9。


如下图,所示规则编号和步长:

现在希望在规则10和15之间插入一条规则,可以这样写:

rule 11 deny source 10.1.1.3 0

然后查询acl 2000访问控制列表,显示如下:

2.2.2通配符

通配符(Wildcard Mask) 是ACL中用于精细化匹配IP地址的关键参数,其作用与子网掩码(Subnet Mask)类似但逻辑相反。

1)通配符的核心作用

  • 功能:指定IP地址中哪些比特位需要精确匹配,哪些可以忽略
  • 格式:32位二进制,通常以点分十进制表示(如0.0.0.255)。


2)通配符的匹配规则

  • 二进制位含义:0:必须严格匹配IP对应位;1:忽略IP对应位(任意值均可)。

  • 计算示例1:

    # 匹配192.168.1.1/24对应网段的地址?

    可以得出网络位需严格匹配,主机位可以任意,这样 ACL 中IP:192.168.1.0,通配符:0.0.0.255,(前24位固定,后8位任意)。

  • 计算示例2:

    # 匹配192.168.1.0/24这个子网中的奇数IP地址,例如192.168.1.1、192.168.1.3、192.168.1.5等。

    可以看出,最后一位二进制数为1,其他位任意,这样得出通配符为:

    0.0.0.254

  • 计算示例3:

    精确匹配单个IP:通配符全0(0.0.0.0)。

    匹配任意IP:通配符全1(255.255.255.255)。



2.3ACL的分类

基于ACL规则定义方式的划分,可分为:基本ACL、高级ACL、二层ACL、用户自定义ACL和用户ACL。

[td]
分类
编号范围
规则定义描述
基本ACL
2000~2999
仅使用报文的源IP地址、分片信息和生效时间段信息来定义规则。
高级ACL
3000~3999
可使用IPV4报文的源IP地址、目的IP地址、IP协议类型、ICMP类型、TCP源/目的端口号、UDP源/目的端口号、生效时间段等来定义规则。
二层ACL
4000~4999
使用报文的以太网帧头信息来定义规则,如根据源MAC地址、目的MAC地址、二层协议类型等。
用户自定义ACL
5000~5999
使用报文头、偏移位置、字符串掩码和用户自定义字符串来定义规则。
用户ACL
6000~9999
既可使用IPv4报文的源IP地址或源UCL(UserControlList)组,也可使用目的IP地址或目的UCL组、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则。

1)基本ACL:

主要针对IP报文的源IP地址进行匹配,基本ACL的编号范围是2000-2999。比如下面这个例子,创建的是acl 2000,就意味着创建的是基本ACL。

2)高级ACL:

可以根据IP报文中的源IP地址、目的IP地址、协议类型,TCP或UDP的源目端口号等元素进行匹配,高级ACL的编号范围是3000-3999,可以理解为:基本ACL是高级ACL的一个子集,高级ACL可以比基本ACL定义出更精确、更复杂、更灵活的规则。

2.4ACL的匹配规则2.4.1ACL的匹配流程

# 匹配原则:一旦命中立即停止匹配。

配置ACL的设备接收报文后,会将该报文与ACL中的规则逐条进行匹配,如果不能匹配上,就会继续尝试去匹配下一条规则。一旦匹配上,则设备会对该报文执行这条规则中定义的处理动作,并且不再继续尝试与后续规则匹配。

匹配流程解释如下:

首先系统会查找设备上是否配置了ACL:

1)如果ACL不存在,则返回ACL匹配结果为:不匹配。

2)如果ACL存在,则查找设备是否配置了ACL规则。


  • 如果规则不存在,则返回ACL匹配结果为:不匹配。

  • 如果规则存在,则系统会从ACL中编号最小的规则开始查找。

    [   
    如果匹配上了permit规则,则停止查找规则,并返回ACL匹配结果为:匹配(允许)。
    如果匹配上了deny规则,则停止查找规则,并返回ACL匹配结果为:匹配(拒绝)。
    如果未匹配上规则,则继续查找下一条规则,以此循环。如果一直查到最后一条规则,报文仍未匹配上,则返回ACL匹配结果为:不匹配。

2.4.2ACL的匹配顺序

一条ACL可以由多条“deny或permit"语句组成,每一条语句描述一条规则,这些规则可能存在包含关系,也可能有重复或矛盾的地方,因此ACL的匹配顺序是十分重要的。

华为设备支持两种匹配顺序:自动排序(auto模式)配置顺序(config模式)。缺省的ACL匹配顺序是config模式。

如下图基本 ACL,按照配置顺序(config模式)进行匹配,待匹配的对象为192.168.1.1/24-192.168.1.5/24,系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。

2.4.3ACL的匹配位置

如下图所示数据流向,inbound及outbound方向关系:

3.配置实例3.1使用基本ACL过滤数据流量

# 配置需求:

如下图,在Router上部署基本ACL后,ACL将试图穿越Router的源地址为192.168.1.0/24网段的数据包过滤掉,并放行其他流量,从而禁止192.168.1.0/24网段的用户访问Router右侧的服务器网络。

# 配置过程

前提条件:Router已完成IP和相关路由的配置,网络互通。

1)在Router上创建基本ACL,禁止192.168.1.0/24网段访问服务器网络。

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

2)由于192.168.1.0/24网段从接口GE0/0/1进入Router,所以在接口GE0/0/1的入方向应用流量过滤。

[Router]interface GigabitEthernet 0/0/1
[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 2000
[Router-GigabitEthernet0/0/1]quit
3.2使用高级ACL限制不同网段的用户互访

# 配置需求:

如下图,某公司通过Router实现各部门之间的互连。为方便管理网络,管理员为公司的研发部和市场部规划了两个网段的IP地址。现要求Router能够限制两个网段之间互访,防止公司机密泄露。

# 配置过程

说明:Router已完成IP和相关路由的配置,网络互通。

1)创建高级ACL 3001并配置ACL规则,拒绝研发部访问市场部的报文。

[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

2)创建高级ACL3002并配置ACL规则,拒绝市场部访问研发部的报文。

[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

3)由于研发部和市场部互访的流量分别从接口GE0/0/1和GE0/0/2进入Router,所以在接口GE0/0/1和GE0/0/2的入方向配置流量过滤。

[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人已打赏

发表新帖
热门标签
全部标签>
每日一问
【 社区to talk】
高手请过招
新版本体验
标准化排查
纪元平台
产品连连看
功能体验
GIF动图学习
平台使用
社区新周刊
信服课堂视频
技术笔记
安全效果
安装部署配置
网络基础知识
运维工具
排障笔记本
S豆商城资讯
答题自测
解决方案
VPN 对接
2023技术争霸赛专题
云化安全能力
产品解析
关键解决方案
专家问答
设备维护
存储
迁移
文档捉虫
华北区交付直播
每周精选
西北区每日一问
畅聊IT
技术圆桌
在线直播
MVP
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
用户认证
原创分享
sangfor周刊
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
产品预警公告
玩转零信任
技术争霸赛
「智能机器人」
追光者计划
卧龙计划
华北区拉练
天逸直播
以战代练
秒懂零信任
技术晨报
技术盲盒
山东区技术晨报
齐鲁TV
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
升级&主动服务
高频问题集锦
POC测试案例
全能先锋系列
专家说
热门活动
产品动态
行业实践

本版版主

51
18
0

发帖

粉丝

关注

112
30
2

发帖

粉丝

关注

6
2
0

发帖

粉丝

关注

本版达人