一。定义
访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机,借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。---百度百科
访问控制列表ACL (Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对网络访问行为的控制、限制网络流量、提高网络性能、防止网络攻击等等。
二。常见应用场景
- 控制内网主机对外网的访问或访问的流量或者速率。
- 控制某些涉密主机(如科研用途的)等与外网的相互通信
- 控制内网主机对横向主机的访问权限
- 控制外网对内网的访问权限
三。ACL分类
分类 | 编号范围 | 参数 |
---|---|---|
基本ACL | 2000-2999 | 源IP地址等 |
高级ACL | 3000-3999 | 源IP地址、目的IP地址、源端口、目的端口等 |
二层ACL | 4000-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语句,甚至只是单单允许某个协议对某个端口的访问,全靠聪明的网管员自己想象了。