访问控制列表ACL

运维 · 2022-03-23

一。定义

访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机,借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。---百度百科

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

二。常见应用场景

  • 控制内网主机对外网的访问或访问的流量或者速率。
  • 控制某些涉密主机(如科研用途的)等与外网的相互通信
  • 控制内网主机对横向主机的访问权限
  • 控制外网对内网的访问权限

三。ACL分类

分类编号范围参数
基本ACL2000-2999源IP地址等
高级ACL3000-3999源IP地址、目的IP地址、源端口、目的端口等
二层ACL4000-4999源MAC地址、目的MAC地址、以太帧协议类型等

*每个编号范围都是固定的

四。ACL编写

示例1:

acl 2000

rule 5 deny source 192.168.1.0 0.0.0.255

rule 10 deny source 192.168.2.0 0.0.0.255

rule 15 deny source 172.16.0.0 0.0.0.255

tips:

  • 对数据包进行ACL规则匹配时遵循从上到下法则。
  • 任何一条匹配成功即结束匹配,所以尽量将控制范围小的规则写在靠上的位置。
  • 编写ACL规则时系统默认从5开始,步长为5,以便后续对ACL规则做出必要的修改时有充足空间。

示例2:

[RT]acl 3000
/*编辑ACL3000*/

[RT-acl-adv-3000]rule deny tcp source 192.168.1.0 0.0.0.25
destination 172.16.10.1 0.0.0.0 destination-port eq 21
/*编辑规则拦截匹配该源和目的IP且访问端口为21的tcp协议数据包*/

[RT-acl-adv-3000]rule deny tcp source 192.168.2.0 0.0.0.255
destination 172.16.10.2 0.0.0.0
/*编辑规则拦截匹配该源和目的IP的任何tcp协议数据包*/

[RT-acl-adv-3000]rule permit ip
/*编辑规则放行剩余IP的数据包*/

[RT-GigabitEthernet 0/0/0]traffic-filter outbound acl 3000
/*在端口GE0/0/0的出口方向应用该ACL规则*/

主要关键词;

  • source 源
  • destination 目的
  • deny 拒绝/拦截
  • permit 允许/放行
  • outbound 出口方向
  • inbound 入口方向
  • eq 等于

五。补充

对于ACL的使用其实很灵活,主要取决于网络管理员对访问控制实际的需求,比如我要对某一主机做访问控制,我既可以在他的outbound设置deny语句,也可以在他的inbound设置deny语句,甚至只是单单允许某个协议对某个端口的访问,全靠聪明的网管员自己想象了。

Theme Jasmine by Kent Liao