ACL访问控制列表基本概念

2024-06-18 16:48

本文主要是介绍ACL访问控制列表基本概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. ACL概述

 

(1)、ACL全称访问控制列表(Access Control List)。

 

(2)、基本原理:ACL使用包过滤技术,在路由器上读取第三层及第四层包头中的信息(如源地址、目的地址、协议口、端口号等),根据预先定义好的规则对包进行过滤,从而达到控制的目的。

 

(3)ACL目的:限制网络流量、提高网络性能;提供对通信流量的控制手段;提供网络访问的基本安全手段。

 

(4)、功能:网络中的结点分为资源结点和用户结点两大类,其中资源结点提供服务或数据,而用户结点访问资源结点所提供的服务与数据。ACL的主要功能就是一方面保护资源结点,阻止非法用户对资源结点的访问;另一方面限制特定的用户结点对资源结点的访问权限。

 

(5)、ACL的访问顺序

a、按照各语句在访问列表的顺序,顺序查找,一旦找到了某一匹配条件,就结束匹配,不再检查后面的语句。

b、如果所有语句都没有匹配,在默认情况下,虽然看不到最后一行,但最后总是拒绝全部流量的。

 

 

 

 

2. ACL的分类

 

(1) 标准ACL(表号取值范围1-99)

 

 

第一步:定义访问控制列表

 

命令格式:access-list access-list-number  { permit |deny } source  [source-wildcard] [log]

 

 

 

参数

 

参数描述

access-list-number

访问控制列表表号

permit | deny

满足条件,拒绝或允许

source-wildcard

 

通配符,0表示检查,1表示不检查

log

表示将有关数据包匹配情况生成日志表

 

 

例如:

!定义访问控制列表

router(config)# access-list 1 permit 192.168.1.0 0.0.0.255

!删除访问控制列表(这里无法删除某一条ACL语句,只能删除整个ACL表)

router(config)# no access-list 1

 

 

 

第二步:应用到某一个接口上

 

命令格式:{ protocol } access-group access-list-number  {in |  out}

 

例如:

router(config)# int f0/0

router(config-if)ip access-group 1 out

 

 

 

 

 

 

(2) 扩展ACL(表号取值范围100-199)

 

 

第一步:定义访问控制列表

 

命令格式:access-list access-list-number  { permit |deny } protocol  source  source-wildcard  [operator operand]  destination destination-wildcard  [operatoroperand] [established] [log]

 

 

参数

 

参数描述

access-list-number

访问控制列表表号

permit | deny

满足条件,拒绝或允许

 

source-wildcard

destination-wildcard

 

通配符,0表示检查,1表示不检查

log

表示将有关数据包匹配情况生成日志表

protocol

用来指定协议类型,如IP、TCP、UDP、ICMP等

lt,gt,eq,neq

(小于、大于、等于、不等于)

operand

一个端口号或应用名称

established

如果数据包使用一个已建立连接,便可允许TCP信息通过

 

 

 

 

 

 

 

例如:

!定义访问控制列表

router(config)# access-list 101 permit tcp 192.168.1.00.0.0.255 192.168.2.0 0.0.0.255 eq 80

!删除访问控制列表(这里无法删除某一条ACL语句,只能删除整个ACL表)

router(config)# no access-list 101

 

 

 

第二步:应用到某一个接口上

 

命令格式:{ protocol } access-group access-list-number  {in |  out}

 

例如:

router(config)# int f0/0

router(config-if)ip access-group 101 out

 

 

 

 

 

(3) 命名ACL

 

第一步:创建一个ACL命名,要求名字字符串要唯一

 

命令格式:ip  access-list{ standard  | extended } name

 

 

 

 

 

第二步:定义访问控制列表

 

标准ACL命令格式:  { permit | deny }  source source-wildcard  [log]

 

 

扩展ACL命令格式: { permit | deny } protocol  source source-wildcard  [operatoroperand]  destination  destination-wildcard  [operator operand] [established] [log]

 

 

 

 

 

 

 

例如:

!定义访问控制列表

router(config)#ipaccess-list extended permit-one

router(config-ext-nacl)# permit tcp 192.168.1.00.0.0.255 192.168.2.0 0.0.0.255 eq 80

!删除访问控制列表(这里可以删除某一条ACL语句)

router(config-ext-nacl)# no  permit tcp 192.168.1.0 0.0.0.255 192.168.2.00.0.0.255 eq 80

 

 

 

第三步:应用到某一个接口上

 

命令格式:{ protocol } access-group  name {in  |  out}

 

例如:

router(config)# int f0/0

router(config-if)ip access-group permit-one out

 


 

 

 

 



这篇关于ACL访问控制列表基本概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1072561

相关文章

Python中DataFrame转列表的最全指南

《Python中DataFrame转列表的最全指南》在Python数据分析中,Pandas的DataFrame是最常用的数据结构之一,本文将为你详解5种主流DataFrame转换为列表的方法,大家可以... 目录引言一、基础转换方法解析1. tolist()直接转换法2. values.tolist()矩阵

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

python展开嵌套列表的多种方法

《python展开嵌套列表的多种方法》本文主要介绍了python展开嵌套列表的多种方法,包括for循环、列表推导式和sum函数三种方法,具有一定的参考价值,感兴趣的可以了解一下... 目录一、嵌套列表格式二、嵌套列表展开方法(一)for循环(1)for循环+append()(2)for循环+pyPhWiFd

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

Java中数组转换为列表的两种实现方式(超简单)

《Java中数组转换为列表的两种实现方式(超简单)》本文介绍了在Java中将数组转换为列表的两种常见方法使用Arrays.asList和Java8的StreamAPI,Arrays.asList方法简... 目录1. 使用Java Collections框架(Arrays.asList)1.1 示例代码1.

python中列表list切分的实现

《python中列表list切分的实现》列表是Python中最常用的数据结构之一,经常需要对列表进行切分操作,本文主要介绍了python中列表list切分的实现,文中通过示例代码介绍的非常详细,对大家... 目录一、列表切片的基本用法1.1 基本切片操作1.2 切片的负索引1.3 切片的省略二、列表切分的高

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Redis存储的列表分页和检索的实现方法

《Redis存储的列表分页和检索的实现方法》在Redis中,列表(List)是一种有序的数据结构,通常用于存储一系列元素,由于列表是有序的,可以通过索引来访问元素,因此可以很方便地实现分页和检索功能,... 目录一、Redis 列表的基本操作二、分页实现三、检索实现3.1 方法 1:客户端过滤3.2 方法

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表