赞
踩
ACL这玩意,在工作中,经常会遇到,特别是在数据中心这块,所以还是花点功夫去悟点真理出来。
年轻人,还是要讲武德。
说回悟德,ACL到底是什么玩意,来点背景先
在古代是一夫多妻制,把服务器当成老夫,不在防火墙做限制的话;那么PC1和PC2都是可以访问服务器。真好
回到现代,朝廷要限定一夫一妻制,为了达到这个目的,就得设立一系列法律规则。
要么PC1访问到服务器,要么PC2访问到服务器。
而这一系列法律规则就类似ACL。
你违反了条例,朝廷必须调用这些法律规则,那么这些法律规则才会有用,你不违反,朝廷不调用,那么就是无效的
说完,大概有个印象就行
2.2.1 啥玩意ACL?
访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。
ACL本质上是一种过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。
有点复杂,没事,后面回来再多看几遍就行,很多技术当面看不懂,真的没关系,后面工作中遇到了,再回头看看,就渐渐明白了。
2.2.2 应用场景
目前遇到最多就是基本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.1 规则编号
用于标识ACL规则。可以自行配置规则编号,也可以由系统自动分配。
系统按照规则编号从小到大的顺序,将规则依次与报文匹配,一旦匹配上一条规则即停止匹配
就是 rule + 规则编号。
我们一般都是自定义规则编号,比如10 20 30 40 这样。中间是带有数字间隙,主要是为了以后可以出入新的规则编号。
系统默认步长是5,可以更改,更改命令就是 在acl 视图下
step 2 一般情况下,没必要更改。大多数还是自己去定义规则编号。这块没啥好说的了
2.4.2 匹配顺序
从小到大,从上到下,依次匹配。默认配置顺序。别瞎整,10 20 30 40 50 依次排好队。
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-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-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 检查配置
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。