当前位置: 首页 > news >正文

HCIA-12.ACL原理与配置

背景

网络安全和网络服务质量QoS (Quality of Service)问题日益突出。访问控制列表 (ACL, Access Control List)是与其紧密相关的一个技术。

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

ACL的典型应用比如黑、白名单。

目标

  • 描述ACL的基本原理和基本作用
  • 区分ACL的不同种类及特点
  • 描述ACL规则的基本组成结构和匹配顺序
  • 掌握ACL中通配符的使用方法
  • 完成ACL的基本组网配置。

1ACL技术概述

1.1、技术背景:需要一个工具,实现流量过滤

某公司为保证财务数据安全,禁止研发部门访问财务服务器,但总裁办公室不受限制。

ACL应用

匹配IP流量

在Traffic-filter中被调用

在NAT(Network Address Translation)中被调用

在路由策略中被调用

在防火墙的策略部署中被调用

在QoS中被调用

其他……

1.2ACL概述

ACL是什么:

1、由一系列permit或deny语句组成的、有序规则的列表。

2、一个匹配工具,能够对报文进行匹配和区分。

ACL的作用:

可以通过对网络中报文流的精确识别(它本身只是识别),与其他技术结合,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的。

2ACL的基本概念及其工作原理

2.1ACL的分类

通过查看ACL指令,找到ACL的匹配内容。

[AR1]acl ?

  INTEGER<2000-2999>  Basic access-list(add to current using rules)

  INTEGER<3000-3999>  Advanced access-list(add to current using rules)

  INTEGER<4000-4999>  Specify a L2 acl group

  ipv6                ACL IPv6

  name                Specify a named ACL

  number              Specify a numbered ACL

INTEGER

<2000-2999> 

基本ACL,只能匹配  SIP、时间戳、分片、第一个报文

INTEGER

<3000-3999>

高级ACL,只能匹配  SIP、时间戳、分片、第一个报文、DIP、协议号、端口号等

INTEGER

<4000-4999>

二层ACL、可以匹配  SMAC、DMAC、时间戳、分片

ipv6

默认是ipv4规则,ipv6则用于定义ipv6需要的规则

name

定义ACL规则的名称便于识别ACL

number

2.2、通过指令了解ACL的工作原理

          节点    动作        匹配项           参数          通配符掩码

rule      5     permit      source     192.168.1.1       0.0.0.0   

2.2.1ACL的节点

一个ACL的每条规则都需要进行排列。

默认5的步长进行条目的排列(5、10、15…),最大值为4294967294。

[AR1-acl-basic-2000]rule ?

  INTEGER<0-4294967294>  ID of ACL rule

2.2.2ACL的动作

[AR1-acl-basic-2000]rule 5 ?

  deny         Specify matched packet deny

  description  Specify rule description

  permit       Specify matched packet permit

Permit/deny 只是作为标记使用,具体是允许通过还是禁止通过是由其他技术决定的。

description  则是描述。

2.2.3ACL的匹配项

ACL匹配的内容。

[AR1-acl-basic-2000]rule 5 permit ?

  fragment             Check fragment packet

  none-first-fragment  Check the subsequence fragment packet 

  source               Specify source address

  time-range           Specify a special time

  vpn-instance         Specify a VPN-Instance

  <cr>                 Please press ENTER to execute command

2.2.4ACL的参数

需要匹配的具体信息。

2.2.5ACL的通配符掩码

连续的1和

连续的0组合

0表示

1表示

通配符掩码

不需要

精确匹配

任意匹配

正掩码

需要

广播位

网络位

反掩码

需要

网络位

广播位

2.2.6、指令解读

          节点    动作        匹配项           参数          通配符掩码

rule      5     permit      source     192.168.1.1       0.0.0.0   

新增一条节点条目5,该条目允许源IP通过,其参数为192.168.1.1且必须完全匹配。

2.2.x、扩展

题目:假设有源IP 192.A.1.B,其中A为奇数,B为偶数,要如何设置ACL

思路1

一个十进制数,能被二整除是偶数,不能被整除则是奇数。

十进制数在计算中会转化为二进制。

在二进制数的2^n次方中,除了2^0次方,所有数都为偶数。

而2^0次方与所有2^n次方加减都为奇数。

128、64、32、16、8、4、2、1

所以,根据二进制数列的特点,判断是否奇偶数取决于最后一位是否存在置位:

0001 0100(偶数),0001 0101(奇数)。

思路2

A1、在源IP192.A.1.B中,如果A为奇数,则其二进制最后一位应为1 ,即xxxx xxx1;同理,如果B为偶数,则其二进制最后一位应为0,即xxxx xxx0。所以,在填写A和B的时,我们只要填上十进制的A奇数和B偶数(比如1和0),其二进制结果一定是A=0000 0001,B=0000 0000。

A1.1、所以源IP我们可以填写 192.1.1.0,其中AB可为任意奇数和偶数,比如填192.65.1.64也是可以的,因为65的二进制最后一位为1:0100 0001,64的二进制最后一位为0:0100 0000

A2、在填写通配符掩码时,我们考虑:

A2.1、通配符掩码为1表示忽略,为0表示匹配;

A2.2、源IP的取值范围是0~255,即八个二进制数位,即 XXXX XXXX;

A2.3、而从二进制的思路考虑,在确定奇数和偶数时,只需要审查最后一位即可。

结论:

B1、根据A2.2我们得出的数位长度为8;

B2、根据A2.3我们得出长度为8的数列中,我们忽略前7个,匹配最后1个;

B3、根据A2.1的规则:忽略匹配填1、需要匹配填0,得出长度为8的二进制数为:1111 1110,即1~7位忽略填入1,最后一位匹配填入0;

B4、将1111 1110转为10进制,为254,则通配符掩码填0.254.0.254。

ACL规则的计算中,其数位匹配结果如下:

x.65.x.64         →  x.0100 0001.x.0100 0000

0.254.0.254    →  x.1111 1110.x.1111 1110

2.3ACL的匹配机制

2.3.1ACL可以配置多个条目

条目会按照节点的大小,从小到大依次排列;

ACL的匹配也是从小到大依次进行的;

且,如果流量被条目匹配到,则执行条目并停止继续匹配。

如下图中:

SIP 192.168.1.4按从小到大的规则,匹配到rule 20后就停止继续了,所以匹配不到rule25。

2.3.2ACL的缺省规则

ACL根据匹配信息不同,最终隐含规则(缺省规则)也不同:

A1、如果ACL匹配的是流量,则默认是允许所有;

A2、如果ACL匹配的是路由,则默认是拒绝左右。

具体是流量还是路由,需要根据ACL的外部调用功能确定。

2.3.3ACL的配置匹配建议

需要先配置精确的信息条目,再配置大范围的信息条目。

比如下面这条,仅允许192.168.1.0、192.168.2.0、192.168.3.0通过,如果将大范围的ACL配在前面,按照匹配的先后顺序则直接拒绝所有流量通过。

2.3.4、调整步长

[AR1-acl-basic-2000]step 6  #调整后默认步长发生改变

指令集

指令

功能

acl name

rule x permit source x.x.x.x y.y.y.y

节点

step

调整步长 < 1 - 20 >

rule xxxx permit

rule xxxx permit source any

这两条都代表匹配任意条目

  • 描述ACL的基本原理和基本作用
  • 区分ACL的不同种类及特点
  • 描述ACL规则的基本组成结构和匹配顺序
  • 掌握ACL中通配符的使用方法
  • 完成ACL的基本组网配置。

相关文章:

  • 分治算法区
  • Linux云计算SRE-第二十周
  • ARTKIT 开源程序是由 BCG X 开发的 Python 框架,用于自动对 Gen AI 应用程序进行基于提示的测试和评估。
  • 聊一聊binder传递文件fd原理及新版本性能优化
  • 【QT】事件系统入门——QEvent 基础与示例
  • NandFlash 坏块检测工具记录
  • 高频面试题(含笔试高频算法整理)基本总结回顾41
  • 字符最大间隔排列
  • C++程序员职业规划
  • MySQL与Redis的缓存一致性问题
  • python-leetcode-删除链表的倒数第 N 个结点
  • 批量将 Excel 文档中的图片提取到文件夹
  • MySQL -- 数据类型
  • Java 枚举
  • SpringBoot自动装配的工作原理
  • python-docx - 读写更新 .docx 文件(Microsoft Word 2007+ )
  • Django系列教程(7)——路由配置URLConf
  • SpringBoot 入门基础
  • OBS推WebRTC流,并添加毫秒级时间显示
  • 【C++11】auto decltype nullptr
  • 坚守刑事检察一线13年,“在我心中每次庭审都是一次大考”
  • 人民日报社论:做新时代挺膺担当的奋斗者
  • 当隐身13年的北小京决定公开身份 ,专业戏剧评论依然稀缺
  • 上海质子重离子医院已收治8000例患者,基本覆盖国内常见恶性肿瘤
  • 王文涛会见德国汽车工业协会主席穆勒
  • 王羲之《丧乱帖》在日本流传了1300年,将在大阪展23天