浅谈acl(访问控制列表)(代码片段)

author author     2022-12-08     559

关键词:

ACL(访问控制列表)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器,那些数据包可以接收,那些数据包需要拒绝。
基本原理为:ACL使用包过滤技术,在路由器上读取OSI七层模型的第三层及第四层包头中的信息,如源地址、目的地址、源端口、目的端口等,根据预先定义好的规则,对包进行过滤,从而达到访问控制的目的。
ACL通过在路由器接口处控制数据包是转发还是丢弃来过滤通信流量。
路由器根据ACL中指定的条件来检测通过路由器的数据包,从而决定是转发还是丢弃数据包。
ACL有三种类型:
1、标准ACL:根据数据包的源IP地址来允许或拒绝数据包。标准ACL的访问控制列表号是1~99。
2、扩展ACL:根据数据包的源IP地址、目的IP地址、指定协议、端口和标志来允许或拒绝数据包。扩展ACL的访问控制列表号是100~199.
3、命名ACL允许在标准ACL和扩展ACL中使用名称代替表号。
ACL依靠规则对数据包执行检查,而这些规则通过检查数据包中的指定字段来允许或拒绝数据包。ACL通过五个元素来执行检查,这些元素位于IP头部和传输层头部中。他们分别是源IP地址、目标IP地址、协议、源端口及目标端口。
技术图片
如果对接口应用了ACL,也就是说该接口应用了一组规则,那么路由器将对数据包应用该组规则进行检查
技术图片
1、如果匹配了第一条规则,则不再往下检查,路由器将决定该数据包允许通过或拒绝通过。
2、如果不匹配第一条规则,则依次往下检查,直到有任何一条规则匹配,路由器将决定该数据包允许通过或拒绝通过。
3、如果最后没有任何一条规则匹配,则路由器根据默认规则将丢弃数据包。
所以,数据包要么被允许,要么被拒绝。
在ACL中,各规则的放置顺序也是很重要的。一旦找到了某一匹配规则,就结束比较过程,不再检查以后的其他规则。
创建标准ACL语法:
Router(config)#access-list 1~99 permit | deny 源网段地址或网段(若源地址为主机,则在地址前面需要加“host”;若源地址为网段,则要在网段地址后面加反掩码,如/24的反掩码就是0.0.0.255。

例如:Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255 #表示为允许192.168.1.0/24网段地址的流量通过

Router(config)#access-list 1 permit host 192.168.2.1 #表示为允许主机192.168.2.1的流量通过。

每一个ACL都有一条隐含的拒绝语句,可以拒绝所有流量,所以在做ACL规则时建议以拒绝某个网段或主机的流量通过,然后再允许所有流量通过,如下:

Router(config)#access-list 1 deny host 192.168.1.2 #拒绝192.168.1.2网段的流量通过

Router(config)#access-list 1 permit any #允许所有主机的流量通过

当以上ACL规则应用到接口上时,效果为除了192.168.1.2的流量外都可以通过。

源地址可以用 “any”来表示为所有主机。

删除ACL的规则时,在规则前加“no”即可,如:Router(config)# no access-list 1 #删除表号为1的规则
技术图片
一个ACL可以配置多条规则,但是一个接口,一个方向只能应用一个ACL。

配置好的ACL规则应用到接口上的语法如下:

Router(config)#int f0/1
Router(config-if)# ip access-list 1 in/out #把表号1的规则应用到进站(in)或出站(out)方向

扩展ACL的配置语法:
语法1:
Router(config)# access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 #创建一个表号为101的ACL,规则为允许192.168.1.0访问192.168.2.0网段的流量通过

Router(config)# access-list 101 deny ip any any #拒绝所有流量通过

以上规则最终应用到接口上的效果为拒绝除了192.168.1.0访问192.168.2.0的数据包以外的所有数据包通过

语法2:
Router(config)# access-list 101 deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21 #拒绝网络192.168.1.0访问主机192.168.2.2,tcp端口号21的流量通过

Router(config)# access-list 101 permit ip any any #允许所有流量通过

以上扩展ACL的规则为:拒绝网络192.168.1.0访问主机192.168.2.2,tcp端口号21的流量通过,而允许其他任何流量通过。其中命令最后的“eq”为等于XX端口号还有 lt (小于)、gt(大于)、neq(不等于)几个选项。

扩展ACL与标准ACL的区别就是扩展ACL可以基于端口号、目标地址、协议,来更加精准的控制流量是允许还是拒绝通过。
删除扩展ACL的规则的语句和删除标准ACL一致。如:Router(config)# no access-list 101 #删除表号为101的扩展ACL规则

命名ACL的配置
命名ACL在管理及维护方面更加方便,同时也支持友好的名称作为ACL名称,而不局限于使用ACL编号。
配置命名ACL的语法如下:
1、创建命名ACL:

Router(config)# ip access-list standard | extended access-list-name

2、如果是标准命名ACL,命令语法如下:

Router(config-std-nacl)# [ Sequence-Number ] permit | deny source [ source-wildcard ]

上述语法中Sequence-Number决定ACL语句在ACL列表中的位置

例如:配置规则,允许来自主机192.168.1.1/24的流量通过,而拒绝其他流量,标准命名ACL命令如下:
R1(config)#ip access-list standard test #创建名为test的标准命名ACL
R1(config-std-nacl)#permit host 192.168.1.1 #允许主机192.168.1.1的流量通过
R1(config-std-nacl)#deny any #拒绝其他流量
若退出后还要继续修改规则,可直接在全局模式下执行:Router(config)# ip access-list standard test进入ACL命名ACL组,继续写入如:
Router(config-std-nacl)#15 permit host 192.168.2.1
然后查看:
Standard IP access list cisco
10 permit 192.168.1.1
15 permit 192.168.2.1
20 deny any

若要删除ACL中某条规则的可以执行“no+规则编号”,如想删除上面规则编号为10 的可以执行“no 10”
若要删除上面已建立的命名ACL,命令语法如下:
R1(config)# no ip access-list standard test
创建扩展命名的ACL语法如下:

R1(config)#ip access-list extended test #创建名为test的扩展命名ACL

Router(config-ext-nacl)# deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21 #禁止网络192.168.1.0访问主机192.168.2.2的21端口。其中以上命令最后的“eq”命令字的作用是等于XX端口号还有 lt (小于)、gt(大于)、neq(不等于)几个选项。

Router(config-ext-nacl)# permit ip any any #允许所有流量通过

以上规则的作用是禁止192.168.1.0网络访问主机192.168.2.2的21端口,而允许其他任何流量通过。

acl访问控制列表(代码片段)

文章目录一.acl技术二.设置简单的acl命令标准访问控制列表扩展访问控制列表三.总结一.acl技术       ACL——访问控制列表作用:读取三层、四层头部信息,根据预先定义好的规则对流量进行筛选、过滤。三层头部信... 查看详情

华为-acl访问控制列表(代码片段)

ACL:accesslist访问控制列表acl两种:基本acl(2000-2999):只能匹配源ip地址。高级acl(3000-3999):可以匹配源ip、目标ip、源端口、目标端口等三层和四层的字段。四个注意事项:注1:一个接口的同一个方向,只能调用一个acl注2:... 查看详情

标准acl配置实例(代码片段)

访问控制列表(一)结构:一.访问控制列表概述:访问控制列表(ACL)1.读取第三层、第四层包头信息2.根据预先定义好的规则对包进行过滤二.访问控制类表的工作原理访问控制列表在接口应用的方向:出:已经过路由器的处理... 查看详情

华为acl访问控制列表基本使用(代码片段)

访问控制列表在企业当中特别常用,本文我们就来了解下华为访问控制列表ACL基本使用,入下图所示:路由器R1基本配置如下:[R1]interfaceg0/0/1[R1-GigabitEthernet0/0/1]ipaddress192.168.1.25424[R1]interfaceg0/0/2[R1-GigabitEthernet0/0/1]ipaddress192.168.2.25... 查看详情

acl(访问控制列表)的类型及配置(代码片段)

...口等,根据预先定义好的规则,对包进行过滤,从而达到访问控制的目的。ACL有三种类型:标准ACL:根据数据包的源IP地址来允许或拒绝数据包,标准ACL的访问列表控制号是1~ 查看详情

acl访问控制列表——标准ip访问列表(理论+实验)(代码片段)

ACL访问控制列表的功能1.限制网络流量、提高网络性能2.提供对通信流量的控制手段3.提供网络访问的基本安全手段4.在网络设备接口处,决定哪种类型的通信流量被转发、哪种类型的通信流量被阻塞ACL的工作原理1.访问控制列表... 查看详情

hcia笔记-----acl访问控制列表(代码片段)

ACL访问控制列表功能:1.访问限制----在路由器流量进或出的接口上匹配流量,之后对其进行限制2.定义感兴趣流量ACL简介:1.自上而下,逐一匹配,上条匹配按上条执行,不在查看下条2.ACL列表的调用分为in(... 查看详情

squid的acl访问控制及反向代理(代码片段)

...理的设置ACL,并进行限制,可以针对源地址、目标地址、访问的URL路径、访问的时间等条件进行过滤。在配置文章squid.conf中,ACL访问控制通过以下两个步骤来实现:1:使用acl配置项定义需要控制的条件2:通过http_access配置对已... 查看详情

计网实验之访问控制列表(代码片段)

基本概念访问控制列表(AccessControlLists,ACL)利用包过滤技术,在路由器上读取第三层或者第四层包头中的信息,如源地址、目的地址、源端口、目的端口以及上层协议等,根据预先定义的规则决定哪些数据包可以接收、那些数据需... 查看详情

华为高级acl访问控制列表的基本使用(代码片段)

...家介绍华为高级acl的基本使用。实验要求:1)允许Client1访问Server1的Web服务;2)允许Client1访问网络192.168.2.0/24;3)禁止Client1访问其它网络;4)只运行R4远程访问路由器R3。实验拓扑图如下:首先我们Client1、Server1、PC1、R1、R2、R... 查看详情

acl命名访问控制列表(代码片段)

命名访问控制列表配置创建ACLRouter(config)#ipaccess-liststandard|extendedaccess-list-name配置标准命名ACLRouting(config-std-nacl)#[Sequence-Number]permit|denysource[source-wildcard]配置扩展命名ACLRouter(config-ext-nacl)#[Sequence-Number]permit|denyprotolsourcesource-wildcarddes... 查看详情

acl访问控制列表(代码片段)

访问控制列表TCP和UDP协议TCP协议UDP协议访问控制列表概述访问控制列表的工作原理访问控制列表的类型TCP和UDP协议TCP传输控制协议TCP是面向连接的、可靠的进程到进程的协议TCP提供全双工服务,即数据可在同一时间双向传输TCP报... 查看详情

squid代理服务的acl访问控制日志分析及反向代理(4.1版本)(代码片段)

squid代理服务的ACL访问控制、日志分析及反向代理squid的ACL访问控制列表squid提供了强大的代理控制机制,通过合理的设置ACL(AccessControlList,访问控制列表)并进行限制,可针对源地址、目标地址、访问的URL路径、访问的时间等各... 查看详情

squid-4.1acl访问控制日志分析和反向代理(代码片段)

Squid-4.1ACL访问控制、日志分析和反向代理ACL访问控制Squid提供了强大的代理控制机制,通过结合设置ACL(AccessControlList,访问控制列表)并进行限制,可以针对源地址、目标地址、访问的URL路径、访问时间等各种条件进行过滤。... 查看详情

redis技术探索「安全实战系列」带你认识一下redis的权限控制机制acl(访问控制列表)是什么(代码片段)

...址:https://redis.io/docs/management/security/acl/ACL可以称之为访问控制列表(AccessControlList)该功能允许某些连接在可以执行的命令和可以访问的Key数据方面受到限制。授权,给某个用户分配某个功能,让其拥有某些... 查看详情

acl扩展访问控制列表详解(代码片段)

本章实验:允许win10-1访问linux的web服务禁止win10-1访问linux的其他服务允许win10访问win10-2主机ACL扩展访问控制列表详解1.配置GNS3三台主机,一台路由器win10-1:绑定VMnet1网卡win10-2:绑定VMnet2网卡linux:绑定VMnet8网卡作为测试f0/0:192.168.1.1/... 查看详情

访问控制列表acl(代码片段)

访问控制列表ACL1.ACL介绍ACL:AccessControlList,实现灵活的权限管理除了文件的所有者,所属组和其它人,可以对更多的用户设置权限CentOS7默认创建的xfs和ext4文件系统具有ACL功能CentOS7之前版本,默认手工创建的ext4文件系统无ACL功... 查看详情

基本acl和高级acl工作原理(代码片段)

ACL:访问控制列表,应用在路由器接口的指令列表(规则)即告诉路由器那些允许哪些数据出入,拒绝哪些数据出入。ACL工作原理:ACL使用网络流量控制(过滤)技术,在路由器上读取网络层和传输层的报头信息。(源IP目标IP... 查看详情