HC110110027 访问控制列表

0x00 汇总

汇总链接

讲道理,不应该先讲ACL再讲NAT么。。。


0x01 ACL

访问控制列表ACL(Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对网络访问行为的控制、限制网络流量、提高网络性能、防止网络攻击等等。

那么对于现在的环境当中,其实ACL用来过滤数据的时候逐渐减少,更多的时候是用ACL作为一个底层工具,用来匹配流量,被其它的功能所调用。即ACL有两大功能,过滤数据分类流量
在这里插入图片描述
过滤数据的使用场景,通过定义规则来允许或拒绝流量的通过。

在这里插入图片描述
分类流量的使用场景,根据需求来定义过滤的条件以及匹配条件后所执行的动作。

根据不同的划分规则,ACL可以有不同的分类。最常见的三种分类是基本ACL、高级ACL和二层ACL。

  • 基本ACL可以使用报文的源IP地址、分片标记和时间段信息来匹配报文,其编号取值范围是2000-2999。
  • 高级ACL可以使用报文的源/目的IP地址、源/目的端口号以及协议类型等信息来匹配报文。高级ACL可以定义比基本ACL更准确、更丰富、更灵活的规则,其编号取值范围是3000-3999。
  • 二层ACL可以使用源/目的MAC地址以及二层协议类型等二层信息来匹配报文,其编号取值范围是4000-4999。
    在这里插入图片描述

一个ACL可以由多条“deny | permit”语句组成,每一条语句描述了一条规则。

设备收到数据流量后,会逐条匹配ACL规则,看其是否匹配。如果不匹配,则匹配下一条。一旦找到一条匹配的规则,则执行规则中定义的动作,并不再继续与后续规则进行匹配。如果找不到匹配的规则,则设备不对报文进行任何处理。需要注意的是,ACL中定义的这些规则可能存在重复或矛盾的地方。规则的匹配顺序决定了规则的优先级,ACL通过设置规则的优先级来处理规则之间重复或矛盾的情形。

ARG3系列路由器支持两种匹配顺序:配置顺序自动排序
配置顺序按ACL规则编号(rule-id)从小到大的顺序进行匹配。设备会在创建ACL的过程中自动为每一条规则分配一个编号,规则编号决定了规则被匹配的顺序。例如,如果将步长设定为5,则规则编号将按照5、10、15…这样的规律自动分配。如果步长设定为2,则规则编号将按照2、4、6、8…这样的规律自动分配。通过设置步长,使规则之间留有一定的空间,用户可以在已存在的两个规则之间插入新的规则。路由器匹配规则时默认采用配置顺序。另外,ARG3系列路由器默认规则编号的步长是5。

自动排序使用“深度优先”的原则进行匹配,即根据规则的精确度排序。


0x02 重点

PPT上并没有很好的体现出ACL的难点在哪,感觉挺失败的。

ACL的第一个难点,ACL怎么写

ACL后面的参数很多,初学的同学会经常不知道怎么弄,其实这是因为前面的TCP/IP没有理解,ACL是基于IP五元组来工作的,所以只要能把通信时报文所使用的IP五元组弄清楚,那么直接填空即可。

  • 源IP地址
  • 目的IP地址
  • 协议号
  • 源端口号
  • 目的端口号

在这里插入图片描述
比如上述案例中的RTA-acl-adv-3000]rule deny tcp source 192.168.1.0 0.0.0.255 destination 172.16.10.1 0.0.0.0 destination-port eq 21可以这样理解

  • rule deny默认排序,匹配后的动作是拒绝
  • tcp,匹配的协议号,此例子当中,协议号为6,即为TCP
  • source 192.168.1.0 0.0.0.255,源主机的信息,源IP地址是192.168.1.0/24网段,源端口没有指定,则代表任意端口,因为大多数时候源端口都是随机产生的,无法特指
  • destination 172.16.10.1 0.0.0.0 destination-port eq 21,目的主机的信息,目的IP地址是172.16.10.1这个主机,目的端口为21,即ftp服务。

ACL的第二个难点在于,通配符或者叫做反掩码

如果单纯是反掩码,大家还是没有问题的,但是这里真的不算是反掩码,只能叫做通配符,因为反掩码的1和0必须连续,而通配符是不需要连续的,这样就可以作出更加灵活的匹配。

这个技巧,其实也没什么,一句话,完全一样写0,不一样写1

举个例子,用ACL匹配所有的A类地址。

在之前的课程中学过,所有的A类地址换算为2进制后,开头都为0。
那么通配符即为0111111.11111111.11111111.11111111,也就是127.255.255.255。
那么前缀呢,前缀就是所有需要被匹配的数据当中,最小的那个,即0.0.0.0。

那么此ACL最终写法为,rule permit source 0.0.0.0 127.255.255.255

理解的同学还是挺简单的,没理解的,那可就难了~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值