访问控制列表ACL
一、ACL基本概念
1、ACL是工作在路由器接口级的指令,在接口上对所有入站/出站数据包进行过滤,筛选哪些数据包可以转发,哪些数据包需要过滤。
2、ACL同时关注第三层(IP头部)与第四层(TCP/UDP头部)
3、根据管理员预先定义好的规则,在接口上过滤数据
所以ACL本质是用来过滤数据的。
二、ACL的主要功能
1、ACL提供了防火墙最基础的安全手段
2、IPsec VPN在决定数据是否需要使用VPN传输时,需要ACL为其匹配感兴趣流量
3、在配置QoS时,同样需要调用ACL,使其达到控制流量的作用
4、在应用分布控制列表时,也需要使用ACL去定义流量
5、在配置防火墙实现单向通讯时,也需要使用ACL去匹配流量
总之ACL就相当于在路由器接口上安装了红绿灯,看到感兴趣的流量就放行,看到不感兴趣的流量就拒绝。
三、ACL的流量
1、根据数据流的访问方向,在ACL中,存在入流量与出流量。
2、ACL的核心工作原理-包过滤
3、ACL关心第三层头部中的源IP地址和目标IP地址,还有第四层头部中的源端口号码与目标端口号码
4、ACL根据上述的四元素进行进行精准过滤。
四、路由器对访问控制列表的处理过程
假设我们设置好了规则,10、20、30网段允许转发,40、50、60网段拒绝转发。当一组数据包到达访问控制组接口的时候,会进行判断,首先,看他是不是10网段,是的话,允许转发,如果不是的话在看他是不是20网段,即满足允许转发的三个网段中的任意一个规则都可以转发;同时,也会看他是不是40网段,如果是的话,直接拒绝,即满足拒绝转发的三个网段中的任意一个规则都可以拒绝。但是如果一个网段不属于这6个网段,比如70网段,那么它会被隐含允许,也可以被转发,这是华为路由器私有的协议设置,即对未知的,不在规则内的网段,默认可以转发。但是对于思科的路由器,不在规则内的网段,默认拒绝,不允许转发。
五、 ACL的入与出
1、使用命令将ACL应用到某一个接口上
2、在接口的一个方向上,只能应用一个ACL
3、ACL是应用在接口上的
入方向数据转发过程
出方向数据转发过程
所以ACL应用在入方向和出方向都可以,当ACL应用在入方向时,其先检查接口是否配置了ACL,在检查路由表项,当ACL应用在出方向时,其先检查路由表项,在检查是否配置了ACL,所以ACL应用在入方向更好一些,可以省略多次查找路由表这一过程。
六、ACL的种类
1、基本类型的ACL
2、高级类型的ACL
3、适配二层的ACL(可以根据主机的MAC地址来允许或者拒绝)
4、基于时间的ACL (规定时间范围,比如规定允许哪个地址周一可以访问)
基本类型ACL:
ACL仅使用源IP地址进行过滤,表明是允许或拒绝数据包
访问控制列表号从2000至2999
高级类型ACL:
高级访问控制列表使用更多的信息描述数据包,表明是允许还是拒绝:
高级ACL有以下特点:
基于源和目的地址、传输层协议和应用端口号进行过滤
每个条件都必须匹配,才会施加允许或拒绝条件
使用高级ACL可以实现更加精确的流量控制
访问控制列表号从3000至3999
高级类型ACL是常用的ACL协议
ACL中常见的协议和端口号:
VPN(virtual private network),虚拟私有网络,其作用就是让我可以跨越运营商和对端设备建立连接。比如一家公司总部在北京,分支在上海,分支和总部之间要通信,它们传输的数据对安全性极高,那么我们不希望他们通过运营商网络传输,因为通过运营商网络的话,他们的数据会曝光在外网中,可能会被监听,所以我们在总部和分支的边界路由器上配置VPN,然后让他们之间可以直接通信。这就是VPN。