访问控制列表-细说ACL那些事儿(初步认识ACL)

ACL,是Access Control List的简称,中文名称叫“访问控制列表”,它由一系列规则(即描述报文匹配条件的判断语句)组成。这些条件,可以是报文的源地址、目的地址、端口号等。这样解释ACL,大家是不是觉得太抽象了!打个比方,ACL其实是一种报文过滤器,ACL规则就是过滤器的滤芯。安装什么样的滤芯(即根据报文特征配置相应的ACL规则),ACL就能过滤出什么样的报文了。

看看ACL长啥模样。话不多说,先上图!


图片.png

ACL分类

首先,图中是一个数字型ACL,ACL编号为2000。这类似于人类的身份证号,用于唯一标识自己的身份。当然,人类的身份证上不仅有身份证编号,还有每个人自己的名字。ACL也同样如此,除了数字型ACL,还有一种叫做命名型的ACL,它就能拥有自己的ACL名称。


图片.png

通过名称代替编号来定义ACL,就像用域名代替IP地址一样,可以方便记忆,也让大家更容易识别此ACL的使用目的。
命名型ACL实际上是“名字+数字”的形式,可以在定义命名型ACL时同时指定ACL编号。如果不指定编号,则由系统自动分配。上图就是一个既有名字“deny-telnet-login”又有编号 “3998”的ACL。

ACL类别 规则定义描述 编号范围
基本ACL 仅使用报文的源IP地址、分片标记和时间段信息来定义规则。 2000~2999
高级ACL 既可使用报文的源IP地址,也可使用目的地址、IP优先级、ToS、DSCP、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则。 3000~3999
二层ACL 可根据报文的以太网帧头信息来定义规则,如根据源MAC地址、目的MAC地址、以太帧协议类型等。 4000~4999
用户自定义ACL 可根据报文偏移位置和偏移量来定义规则。 5000~5999
用户ACL 既可使用IPv4报文的源IP地址或源UCL(User Control List)组,也可使用目的地址或目的UCL组、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则。 6000~9999

ACL规则

接下来,我们来看看图中ACL的 “deny | permit”语句。这些条件语句,我们称作ACL规则(rule)。其中的“deny | permit”,称作ACL动作,表示拒绝/允许。
ACL规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序。系统按照规则编号从小到大的顺序,将规则依次与报文匹配,一旦匹配上一条规则即停止匹配。
除了包含ACL动作和规则编号,ACL规则中还定义了源地址、生效时间段这样的字段。这些字段,称作匹配选项,它是ACL规则的重要组成部分。其实,ACL提供了极其丰富的匹配选项。你可以选择二层以太网帧头信息(如源MAC、目的MAC、以太帧协议类型)作为匹配选项,也可以选择三层报文信息(如源地址、目的地址、协议类型)作为匹配选项,还可以选择四层报文信息(如TCP/UDP端口号)等等等等。

步长

步长,是指系统自动为ACL规则分配编号时,每个相邻规则编号之间的差值。也就是说,系统是根据步长值自动为ACL规则分配编号的。
图中的ACL 2000,步长就是5。系统按照5、10、15…这样的规律为ACL规则分配编号。如果将步长调整为了2,那么规则编号会自动从步长值开始重新排列,变成2、4、6…。


图片.png

设置步长的目的,是为了方便大家在ACL规则之间插入新的规则。
先来看个例子
假设,一条ACL中,已包含了下面三条规则5、10、15。如果你希望源IP地址为1.1.1.3的报文也被禁止通过,该如何处理呢?

rule 5 deny source 1.1.1.1 0  //表示禁止源IP地址为1.1.1.1的报文通过                   
rule 10 deny source 1.1.1.2 0 //表示禁止源IP地址为1.1.1.2的报文通过                    
rule 15 permit source 1.1.1.0 0.0.0.255 //表示允许源IP地址为1.1.1.0网段的报文通过

我们来分析一下。由于ACL匹配报文时遵循“一旦命中即停止匹配”的原则,所以源IP地址为1.1.1.1和1.1.1.2的报文,会在匹配上编号较小的rule 5和rule 10后停止匹配,从而被系统禁止通过;而源IP地址为1.1.1.3的报文,则只会命中rule 15,从而得到系统允许通过。要想让源IP地址为1.1.1.3的报文也被禁止通过,我们必须为该报文配置一条新的deny规则。

rule 5 deny source 1.1.1.1 0  //表示禁止源IP地址为1.1.1.1的报文通过                   
rule 10 deny source 1.1.1.2 0 //表示禁止源IP地址为1.1.1.2的报文通过                    
rule 11 deny source 1.1.1.3 0 //表示禁止源IP地址为1.1.1.3的报文通过  
rule 15 permit source 1.1.1.0 0.0.0.255 //表示允许源IP地址为1.1.1.0网段的报文通过

在rule 10和rule 15之间插入rule 11后,源IP地址为1.1.1.3的报文,就可以先命中rule 11而停止继续往下匹配,所以该报文将会被系统禁止通过。
试想一下,如果这条ACL规则之间间隔不是5,而是1(rule 1、rule 2、rule 3…),这时再想插入新的规则,该怎么办呢?只能先删除已有的规则,然后再配置新规则,最后将之前删除的规则重新配置回来。如果这样做,那付出的代价可真是太大了!
所以,通过设置ACL步长,为规则之间留下一定的空间,后续再想插入新的规则,就非常轻松了。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,490评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,581评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,830评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,957评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,974评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,754评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,464评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,847评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,995评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,137评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,819评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,482评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,023评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,149评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,409评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,086评论 2 355

推荐阅读更多精彩内容

  • 0×1.ACL概述ACL(Access Control List,访问控制列表),是一系列运用到路由器接口的指令列...
    Zero___阅读 2,721评论 0 3
  • 一、基础知识 1.访问控制列表ACL,分为基本ACL(2000~2999)、高级ACL(3000~3999)、二层...
    Sec小玖阅读 3,055评论 0 0
  • 防火墙的概念iptables的简介iptables命令网络防火墙NATfirewalld服务 一、防火墙的概念 (...
    哈喽别样阅读 1,825评论 0 1
  • DPDK提供了三种classify算法:最长匹配LPM、精确匹配(Exact Match)和通配符匹配(ACL)。...
    cumirror阅读 26,456评论 13 21
  • 2018.4.3 今天,临近清明节假期,身边的同学朋友,回家的回家,计划旅行的旅行,我我身处此场景的,也耐不住性子...
    懿舒阅读 149评论 0 0