acl简介

1 目录

 

2 基础

  • 2.1 技术背景

ACL这玩意,在工作中,经常会遇到,特别是在数据中心这块,所以还是花点功夫去悟点真理出来。

年轻人,还是要讲武德。

说回悟德,ACL到底是什么玩意,来点背景先

在古代是一夫多妻制,把服务器当成老夫,不在防火墙做限制的话;那么PC1和PC2都是可以访问服务器。真好

回到现代,朝廷要限定一夫一妻制,为了达到这个目的,就得设立一系列法律规则。

要么PC1访问到服务器,要么PC2访问到服务器。

而这一系列法律规则就类似ACL。

你违反了条例,朝廷必须调用这些法律规则,那么这些法律规则才会有用,你不违反,朝廷不调用,那么就是无效的

 说完,大概有个印象就行

 

  • 2.2 概念

2.2.1 啥玩意ACL?

访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。

ACL本质上是一种过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。

 有点复杂,没事,后面回来再多看几遍就行,很多技术当面看不懂,真的没关系,后面工作中遇到了,再回头看看,就渐渐明白了。

2.2.2 应用场景

  1. 匹配IP流量(可基于源,目的IP地址,协议类型,端口号等类型)
  2. 在Traffic-fiter中被调用
  3. 在NAT中被调用
  4. 在路由策略调用
  5. 在IPSec VPN中被调用
  6. 在防火墙的策略部署中被调用
  7. 在QoS中被调用
  • 2.3 分类

目前遇到最多就是基本acl和高级acl,其他种类acl很少见,所以我就说说这两种

acl 分类
种类定义数字标识
基本acl只能怪对IP头中的源IP地址进行匹配2000-2999
高级acl能够针对数据包的源,目的IP地址,协议类型,源目的端口号等元素进行匹配3000-3999

比如:

基本acl;

acl number 2001  
 description ######                                                                
 rule 10 deny source 10.1.1.0 0.0.0.255                                            
 rule 20 deny source 10.2.2.0 0.0.0.255                                           
 rule 30 deny source 10.3.3.0 0.0.0.255   

高级acl

acl number 3012   
 description ######                                                                
 rule 5 deny tcp destination 192.168.2.2 0 none-first-fragment                   
 rule 10 permit tcp destination 192.168.2.2 0 destination-port eq www            
 rule 15 deny ip    

基本上都是长这样的,带VPN实例上去

  • 2.4 规则

2.4.1 规则编号

用于标识ACL规则。可以自行配置规则编号,也可以由系统自动分配。

系统按照规则编号从小到大的顺序,将规则依次与报文匹配,一旦匹配上一条规则即停止匹配

就是 rule + 规则编号。

我们一般都是自定义规则编号,比如10 20 30 40 这样。中间是带有数字间隙,主要是为了以后可以出入新的规则编号。

系统默认步长是5,可以更改,更改命令就是 在acl 视图下 

step 2 
一般情况下,没必要更改。大多数还是自己去定义规则编号。这块没啥好说的了

2.4.2 匹配顺序

从小到大,从上到下,依次匹配。默认配置顺序。别瞎整,10  20  30  40  50 依次排好队。

 

  • 2.5 通配符

通配符
0表示精准匹配
1表示无所谓

源IP地址及其通配符掩码格式:source { source-address source-wildcard | any }

目的IP地址及其通配符掩码格式:destination { destination-address destination-wildcard | any }

IP地址通配符掩码与IP地址的反向子网掩码类似,也是一个32比特位的数字字符串,用于指示IP地址中的哪些位将被检查。各比特位中,“0”表示“检查相应的位”,“1”表示“不检查相应的位”,概括为一句话就是“检查0,忽略1”。但与IP地址子网掩码不同的是,子网掩码中的“0”和“1”要求必须连续,而通配符掩码中的“0”和“1”可以不连续。

通配符掩码可以为0,相当于0.0.0.0,表示源/目的地址为主机地址;也可以为255.255.255.255,表示任意IP地址,相当于指定any参数

比如

rule 5 permit ip source 192.168.1.0 0.0.0.255

一个IP地址通配符掩码的示例,当希望来自192.168.1.0/24网段的所有IP报文都能够通过

2.5.2 生效时间

生效时间在企业组网用的比较多。数据中心没遇到过

生效时间对比
模式定义例子
time-range time-name start-time to end-time { days } &<1-7>

以星期为参数来定义时间范围,表示规则以一周为周期(如每周一的8至12点)循环生效

  • time-name:时间段名称,以英文字母开头的字符串。
  • start-time to end-time:开始时间和结束时间。格式为[小时:分钟] to [小时:分钟]。
  • days:有多种表达方式。
    • MonTueWedThuFriSatSun中的一个或者几个的组合,也可以用数字表达,0表示星期日,1表示星期一,……6表示星期六。

    • working-day:从星期一到星期五,五天。

    • daily:包括一周七天。

    • off-day:包括星期六和星期日,两天。

time-range test 8:00 to 18:00 working-day  
time-range test 14:00 to 18:00 off-day  
time-range time-name from time1 date1 [ to time2 date2 ]

从某年某月某日的某一时间开始,到某年某月某日的某一时间结束,表示规则在这段时间范围内生效。

  • time-name:时间段名称,以英文字母开头的字符串。
  • time1/time2:格式为[小时:分钟]。
  • date1/date2:格式为[YYYY/MM/DD],表示年/月/日。
time-range test from 00:00 2014/01/01 to 23:59 2014/12/31 

2.5.3 端口号跟操作符

操作符含义
Equal   port number等于端口号
greater-than port number大于端口号
Less-than  port number小于端口号
not-equal port number不等于端口号
range port number1 port number2

介于端口号1和端口号2之间

端口号:

格式:protocol-number | icmp | tcp | udp | gre | igmp | ip | ipinip | ospf

高级ACL支持基于协议类型过滤报文。常用的协议类型包括:ICMP(协议号1)、TCP(协议号6)、UDP(协议号17)、GRE(协议号47)、IGMP(协议号2)、IP(指任何IP层协议)、IPinIP(协议号4)、OSPF(协议号89)。协议号的取值可以是1~255。

2.5.4 检查配置

  • 执行命令display acl { acl-number | name acl-name | all },查看ACL的配置信息。
  • 执行命令display time-range { all | time-name },查看时间段信息。
  • 执行命令display acl hardware statistics [ acl-number | name acl-name ],查看报文匹配硬件ACL的统计信息

  • 17
    点赞
  • 119
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值