本帖最后由 ztbf 于 2020-4-16 13:41 编辑
实际工作中,遇到交换机,大部分基于安全考虑会配置ACL,但是经常碰到不小心配置acl会导致业务受影响,身心受到打击,所以写些关于ACL的简介,
ACL的定义: 访问控制列表ACL(Access Control List)是由一系列规则组成的集合,ACL通过这些规则对报文进行分类,从而使设备可以对不同类报文进行不同的处理。 目的 : 网络中的设备相互通信时,需要保障网络传输的安全可靠和性能稳定。例如: 1 .防止对网络的攻击, 2 .对网络访问行为进行控制, 3. 限制网络流量和提高网络性能 其实 ACL其实就是一种报文过滤器,ACL规则就是过滤器的滤芯。安装什么样的滤芯,ACL就能过滤出什么样的报文了。
这张ACL结构图,给大家介绍下:
1 ACL的编号 类似于人类的身份证号,用于唯一标识自己的身份。除了数字型ACL,还有一种叫做命名型的ACL,它就能拥有自己的ACL名称。 ACL被划分为以下几种 基本ACL :仅使用报文的源IP地址、分片标记和时间段信息来定义规则(编号:2000~2999 )经常有 高级ACL: 既可使用报文的源IP地址,也可使用目的地址、IP优先级、ToS、DSCP、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则。(编号:3000~3999 )最常用 二层ACL:不经常用 用户自定义ACL:不经常用 用户ACL:不经常用 基本ACL6和高级ACL6 不经常用
初学者只要撑握基本和高级ACL,就足够完成实际工作80%量了。最常用的高级ACL可以定义比基本ACL更准确、更丰富、更灵活的规则,所以高级ACL的功能更加强大。
2 ACL规则 报文到达设备时,设备从报文中提取信息,并将该信息与ACL中的规则进行匹配,只要有一条规则和报文匹配,就停止查找,称为命中规则。查找完所有规则,如果没有符合条件的规则,称为未命中规则。 ACL的规则分为“permit”(允许)规则和“deny”(拒绝)规则。 综上所述,ACL可以将报文分成三类: 命中“permit”规则的报文 命中“deny”规则的报文 未命中规则的报文 3 步长 是指系统自动为ACL规则分配编号时,每个相邻规则编号之间的差值。也就是说,系统是根据步长值自动为ACL规则分配编号的。ACL的缺省步长值是5。通过display acl acl-number命令,可以查看ACL规则、步长等配置信息。通过step step命令,可以修改ACL步长值。
拿一个例子说明: 一条ACL中,已包含了下面三条规则5、10、15。如果你希望源IP地址为1.1.1.3的报文也被禁止通过,
我们来分析一下。由于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步长,为规则之间留下一定的空间,后续再想插入新的规则,就非常轻松了。
后面还有ACL的匹配机制、规则的匹配顺序、规则的匹配正在写
|