首页 > 其他分享 >ACL原理与配置

ACL原理与配置

时间:2024-02-07 21:22:08浏览次数:20  
标签:匹配 报文 配置 ACL 步长 编号 规则 原理

简介

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

ACL的组成:
ACL编号:在网络设备上配置ACL时,每个ACL都需要分配一个编号,称为ACL编号,用来标识ACL。不同分类的ACL编号范围不同,这个后面具体讲。
规则:前面提到了,一个ACL通常由若干条“permit/deny”语句组成,每条语句就是该ACL的一条规则。
规则编号:每条规则都有一个相应的编号,称为规则编号,用来标识ACL规则。可以自定义,也可以系统自动分配。ACL规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序。
动作:每条规则中的permit或deny,就是与这条规则相对应的处理动作。permit指“允许”,deny指“拒绝”,但是ACL一般是结合其他技术使用,不同的场景,处理动作的含义也有所不同。
比如:ACL如果与流量过滤技术结合使用(即流量过滤中调用ACL),permit就是“允许通行”的意思,deny就是“拒绝通行”的意思。
匹配项:ACL定义了极其丰富的匹配项。例子中体现的源地址,ACL还支持很多其他规则匹配项。例如,二层以太网帧头信息(如源MAC、目的MAC、以太帧协议类型)、三层报文信息(如目的地址、协议类型)以及四层报文信息(如TCP/UDP端口号)等。

规则编号
image

规则编号和步长的概念:	
规则编号:每条规则都有一个相应的编号,称为规则编号,用来标识ACL规则。可以自定义,也可以系统自动分配。
步长:系统自动为ACL规则分配编号时,每个相邻规则编号之间会有一个差值,这个差值称为“步长”。缺省步长为5,所以规则编号就是5/10/15…以此类推。
如果手工指定了一条规则,但未指定规则编号,系统就会使用大于当前ACL内最大规则编号且是步长整数倍的最小整数作为规则编号。
步长可以调整,如果将步长改为2,系统则会自动从当前步长值开始重新排列规则编号,规则编号就变成2、4、6…。
那步长的作用是什么?直接rule 1/2/3/4…为什么不可以?
先来看一个小题目:如果希望增加一条规则,该如何处理?
可以在rule 10和rule 15之间,手工加入一条rule 11。
因此,设置一定长度的步长的作用,是方便后续在旧规则之间插入新的规则。

通配符
image
image
ACL的分类与标识
image
基本ACL与高级ACL
image

基本ACL:
主要针对IP报文的源IP地址进行匹配,基本ACL的编号范围是2000-2999。
比如这个例子,创建的是acl 2000,就意味着创建的是基本ACL。
高级ACL:
可以根据IP报文中的源IP地址、目的IP地址、协议类型,TCP或UDP的源目端口号等元素进行匹配,可以理解为:基本ACL是高级ACL的一个子集,高级ACL可以比基本ACL定义出更精确、更复杂、更灵活的规则。

ACL的匹配机制
image

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

ACL的匹配顺序及匹配结果
image

一条ACL可以由多条“deny或permit”语句组成,每一条语句描述一条规则,这些规则可能存在包含关系,也可能有重复或矛盾的地方,因此ACL的匹配顺序是十分重要的。
华为设备支持两种匹配顺序:自动排序(auto模式)和配置顺序(config模式)。缺省的ACL匹配顺序是config模式。
自动排序,是指系统使用“深度优先”的原则,将规则按照精确度从高到低进行排序,并按照精确度从高到低的顺序进行报文匹配。——这个比较复杂,这里就不具体展开了,感兴趣的同学可以课后查看资料。
配置顺序,系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。——这个就是我们前面提到的匹配顺序。
如果后面又添加了一条规则,则这条规则会被加入到相应的位置,报文仍然会按照从小到大的顺序进行匹配。
匹配结果:(如图所示,以192.168.1.3/24为例)
首先理解ACL 2000的含义:
rule 1:允许源IP地址为192.168.1.1的报文
rule 2:允许源IP地址为192.168.1.2的报文
rule 3:拒绝源IP地址为192.168.1.2的报文
rule 4:允许其他所有IP地址的报文

ACL的匹配位置
image
入站 (Inbound)及出站 (Outbound)方向
image
案例:使用基本ACL过滤数据流量
image
案例:使用高级ACL限制不同网段的用户互访 (1)
image
image

标签:匹配,报文,配置,ACL,步长,编号,规则,原理
From: https://www.cnblogs.com/s101/p/18011318

相关文章

  • Apache配置不同目录绑定不同版本的PHP
    Apache配置不同目录绑定不同版本的PHPhttps://aka.ms/vs/17/release/vc_redist.x64.exehttps://www.apachelounge.com/download/VS17/binaries/httpd-2.4.58-310124-win64-VS17.ziphttps://www.apachelounge.com/download/VS17/modules/mod_fcgid-2.3.10-win64-VS17.zipDefine......
  • Windwo环境下在Oracle表空间、账号新建
      现记录在Window下新建Oracle11g表空间、账号的SQL,以方便日后使用--删除现有表空间DROPTABLESPACENJDT_YY_DEV_V2INCLUDINGCONTENTSANDDATAFILESCASCADECONSTRAINTS; --新建表空间createtablespaceNJDT_YY_DEV_V2datafile'F:/app/TyUsers/oradata/orcl/NJD......
  • 【计网实验】三层交换机的配置
    三层交换机的配置实验环境仿真平台:CiscoPacketTracer6.1终端系统:LinuxUbuntuMate20.04交换机:3560-24PS实验1:通过vlanip做网关,实现不同vlan间的路由网络拓扑网络配置PC1:192.168.1.1/24,网关192.168.1.2PC2:192.168.2.1/24,网关192.168.2.2实验步骤1.配置交......
  • 【调试】pstore原理和使用方法总结
    什么是pstorepstore最初是用于系统发生oops或panic时,自动保存内核logbuffer中的日志。不过在当前内核版本中,其已经支持了更多的功能,如保存console日志、ftrace消息和用户空间日志。同时,它还支持将这些消息保存在不同的存储设备中,如内存、块设备或mtd设备。为了提高灵活性和可扩......
  • maven配置阿里云镜像仓库
    一、全局配置可以添加阿里云的镜像到maven的setting.xml配置中,这样就不需要每次在pom中,添加镜像仓库的配置,在mirrors节点下面添加子节点:<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexusaliyun</name><url>http://maven.aliyu......
  • Go语言精进之路读书笔记第15条——了解string实现原理并高效使用
    15.1Go语言的字符串类型在Go语言中,无论是字符串常量、字符串变量还是代码中出现的字符串字面量,它们的类型都被统一设置为string特点string类型的数据是不可变的对string进行切片化后,Go编译器会为切片变量重新分配底层存储而不是共用string的底层存储string的底层的数据存......
  • 编译原理论述
    编译程序工作的几个阶段包括:词法分析(LexicalAnalysis):也称为扫描(Scanning)或词法扫描(LexicalScanning)。这个阶段的任务是从左到右一个字符一个字符地读入源程序,将其划分成一系列的记号(token)。每个记号由两部分组成,一个是记号本身,一个是记号的属性值(比如关键字、变量名、常量值、......
  • 分布式事务(六):Seata之AT模式原理
    1、整体机制SeataAT模型,基于本地ACID事务的关系型数据库实现。两阶段提交协议机制如下:一阶段:业务数据和回滚日志在同一个本地事务中提交,释放本地锁和连接资源二阶段:提交异步化,非常快速地完成;回滚通过一阶段的回滚日志进行反向补偿2、事务状态global_table......
  • Go语言精进之路读书笔记第14条——了解map实现原理并高效使用
    14.1什么是mapmap对value的类型没有限制,但是对key的类型有严格要求:key的类型应该严格定义了作为“==”和“!=”两个操作符的操作数时的行为,因此func、map、slice、chan不能作为map的key类型。map类型不支持“零值可用”,未显式赋初值的map类型变量的零值为nil。对处于零值状态的......
  • 分布式事务(四):Seata之Saga事务模式原理
    Saga模式是SEATA提供的长事务解决方案,在Saga模式中,业务流程中每个参与者都提交本地事务,当出现某一个参与者失败则补偿前面已经成功的参与者,一阶段正向服务和二阶段补偿服务都由业务开发实现。  Seata2.x提供的Saga是基于状态机引擎实现的,下面来看看状态机引擎。1、状态机......