作者:Insist--
个人主页:insist--个人主页
梦想从未散场,传奇永不落幕,博主会持续更新优质网络知识、Python知识、Linux知识以及各种小技巧,愿你我共同在CSDN进步
目录
📋前言
随着网络的不断发展,网络安全与Qos(网络服务质量)的问题也越发重要,本文的ACL就是与其相关的一种技术。在本文会讲解ACL的基本概念,组成,类型,检查条件,匹配顺序,应用方向。
ACL(访问控制列表)是Access Control List的简写。我们可以将ACL理解成一种网络过滤器,ACL可以通过定义一些规则来控制网络的流量,这些规则定义了网络设备(例如:路由器、交换机)应该如何处理流量(哪个需要接收,哪个需要拒绝)。
ACL可以过滤数据流、增加安全性、保护内部网络,在一些情况下,出于对安全的考虑,不希望全网互通,如上图:网工需要禁止研发部门访问财务部服务器,但总裁办公室能正常访问,这就需要一种技术来实现,这种技术就是ACL。
它的原理就是使用包过滤技术,在路由器上读取网络层和传输层包头中的信息(比如:源地址、目的地址等),根据预先设定的规则,对包进行过滤。从而达到访问控制的目的。
ACL可以根据其应用和功能分为三种类型,分别是:标准ACL、扩展ACL、命名ACL。
标准ACL主要基于源IP地址来允许或拒绝数据包通过,标准ACL通常用于对网络设备的基本访问控制(例如:防止未经授权的设备访问内部网络资源)标准ACL的规则较少,只能进行简单的过滤,因此适用于小型网络环境。
访问控制列标号:1~99
与标准ACL相比,扩展ACL可以基于源IP、目的IP、指定协议、端口、标志来允许或拒绝数据包通过,这让扩展ACL可以更准确地控制网络流量(例如:根据特定的应用程序或协议类型来允许或拒绝流量)同时扩展ACL的配置与管理比标准ACL更复杂,扩展ACL功能较为全面,所以应用十分广泛。
访问控制列表号:100~199
命名ACL是一种特殊的ACL,允许在标准ACL和扩展ACL中使用名称代替表号(自定义名称)。这让ACL的配置和管理更加的方便和灵活。
ACL依靠规则对数据包执行检查,而这些规则通过检查数据包中的指定字段来允许或拒绝数据包的流量。ACL通过五个元素来执行检查,这些元素位于IP头部和传输层头部中,它们分别是源IP地址、目标IP地址、协议、源端口及目标端口。
如果对接口应用了ACL,也就是说该接口应用了一组规则,那么路由器会应用这组规则对数据包进行顺序检查。
由此可见,数据包要么被允许,要么被拒绝。
根据以上的检查规则可知,在ACL中,各规则的放置顺序是很重要的。一旦找到了匹配规则,就结束比较过程,不再检查以后的其他规则。
ACL是一组规则的集合,它应用在路由器的某个接口上。对于路由器接口而言,ACL有以下两个方向。
出:已经过路由器的处理,正离开路由器接口的数据包。
入:已到达路由器接口的数据包,将被路由器处理。
一旦确定ACL的应用方向,ACL只对该方向的数据包执行检查,对反方向的数据包不做任何处理。如下图:
ACL应用在R2的F0/0出方向,那么该ACL只检查R1→R3方向上的经过R2的F0/0接口的流量。所以如果在R1上执行到R3的ping命令,则去R3的ping包要接受ACL的检查.而回包不受影响。
注意:ACL要想执行检查,必须应用到接口。一个ACL可以配置多条规则,但是一个接口或一个方向只能应用一个ACL。