专栏首页python3H3C ACL概述

H3C ACL概述

概述

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

    当设备的端口接收到报文后,即根据当前端口上应用的 ACL 规则对报文的字段进行分析,在识别出

特定的报文之后,根据预先设定的策略允许或禁止该报文通过。

    ACL 通过一系列的匹配条件对报文进行分类,这些条件可以是报文的源地址、目的地址、端口号等。由 ACL 定义的报文匹配规则,可以被其它需要对流量进行区分的特性引用,如 QoS 中流分类规则的定义。

IPv4 ACL 简介

1. IPv4 ACL 分类

    IPv4 ACL根据ACL序号来区分不同的ACL,可以分为四种类型,如 表 1-1 所示。

说明:不同型号的设备支持的 IPv4 ACL 类型不同,请以设备的实际情况为准。

2. IPv4 ACL 匹配顺序

    一个 ACL 中可以包含多个规则,而每个规则都指定不同的报文匹配选项,这些规则可能存在重复或矛盾的地方,在将一个报文和 ACL 的规则进行匹配的时候,到底采用哪些规则呢?就需要确定规则的匹配顺序。

    IPv4 ACL 支持两种匹配顺序:

   · 配置顺序:按照用户配置规则的先后顺序进行规则匹配。

   · 自动排序:按照“深度优先”的顺序进行规则匹配。

    各种IPv4 ACL的“深度优先”顺序判断原则如 表 1-2所示。

说明:用户自定义 ACL 的匹配顺序只能为配置顺序。

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

3. IPv4 ACL 对分片报文的处理

    传统的报文过滤并不处理所有 IP 报文分片,而是只对首片(第一片)分片报文进行匹配处理,对后续分片不进行匹配处理。这样,网络***者可能构造后续的分片报文进行流量***,就带来了安全隐患。

    目前,设备提供的对分片报文过滤的功能如下:

   · 对所有的分片报文进行三层( IP 层)的匹配过滤。

   · 对于包含高级信息的 ACL 规则项(例如包含 TCP/UDP 端口号, ICMP 类型),提供标准匹配和精确匹配两种匹配方式,缺省的匹配方式为标准匹配。

说明:

    标准匹配和精确匹配的含义如下:

   · 标准匹配:只匹配三层信息,而三层以外的信息将被忽略。

   · 精确匹配:记录每一个首片分片的三层以上的信息,当后续分片到达时,使用这些保存的信息对 ACL 规则的每一个匹配条件进行精确匹配。这两种匹配方式只有防火墙支持。

ACL 步长

    说明:Web 界面目前不支持对步长的配置。

1. 步长的含义

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

    当使用命令将步长恢复为缺省值后,设备将立刻按照缺省步长调整 ACL 规则的编号。例如: ACL3001 ,步长为 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。

注意事项

对 ACL 进行配置时,需要注意如下事项:

    (1) 在定义一条ACL规则的时候, 用户可以不指定规则ID, 这时, 系统会自动为ACL规则分配编号,详细情况请参见“1.1.2 ACL步长”。

    (2) 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示这条规则已经存在。

    (3) 当 ACL 的匹配顺序为“用户配置”时,用户可以修改该 ACL 中的任何一条已经存在的规则,在修改 ACL 中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当 ACL 的匹配顺序为“自动”时,用户不能修改该 ACL 中的任何一条已经存在的规则,否则系统会提示错误信息。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • zabbix------3-----监控

    2、把解压出来的文件夹中,/bin/win64/下面的所有内容拷贝到新建的目录zabbix里面

    py3study
  • Python -- pdb调试工具

    pdb 使用如下代码就相当于添加断点了: import pdb     pdb.set_trace()  #设置断点的地方,放置于程序中

    py3study
  • flask中的蓝图实现模块化的应用

        蓝图的基本设想是当它们注册到应用上时,它们记录将会被执行的操作。 当分派请求和生成从一个端点到另一个的 URL 时,Flask 会关联蓝图中的视图函数。

    py3study
  • 网络工程师入门系列 | ACL基础详解

    为了更安全的公司网络环境,可以使用ACL提供的基本通信流量过滤能力来实现。

    网络技术联盟站
  • ANNOVAR变异位点注释软件

    ANNOVAR 是一款变异位点注释软件,提供了多方位的注释功能,支持多个物种,是最受欢迎的注释软件之一。

    生信修炼手册
  • 智能电视智而不能,谁来破局?

    华数传媒从2月25日停牌至今,源于阿里巴巴将入股华数,或持有后者20%的股份。阿里抢占客厅的心情愈发急切。百度、腾讯、小米、360甚至苏宁在客厅领域都有所布局...

    罗超频道
  • 赛灵思推7nm加速平台:面向所有场景、所有开放者,AI推理性能提升8倍

    今年赛灵思开发者大会的参会成员,与往年有很大不同:不仅硬件开发者多,软件开发者也不少。

    量子位
  • Unity For Android Cardboard App ( 1 ):基础入门

    本文针对的 VR 设备是 Cardboard,主要阐述的是如何在 Unity 环境下开发 VR 场景,实现视线与物体的简单交互。

    QQ音乐技术团队
  • adb shell无法连接到Genymotion上的虚拟设备的问题

    在《安装Genymotion模拟器运行Android studio的工程》一文中,我们实践了在Genymotion上运行Android studio的工程,在实...

    程序员欣宸
  • Numpy和数据展示的可视化介绍

    翻译自Jay Alammar的一篇文章。 Translated from an article by Jay Alammar

    Sheldon.Lee

扫码关注云+社区

领取腾讯云代金券