ACL访问控制列表
访问控制列表 ACL(Access Control List)是一种用于控制网络设备访问权限的技术。ACL通常用于限制某些用户或主机对网络资源的访问,通常由一系列规则组成,每个规则指定了一个源地址、目标地址和操作类型。当一个数据包到达网络设备时,设备会检查该数据包的源地址、目标地址和操作类型,然后根据ACL规则来决定是否允许该数据包通过。
简单地说,配置一张ACL列表,列表包含设置好的规则,之后所有的流量按照对应的规则执行,允许、拒绝。
ACL的工作原理
ACL的匹配原则
-
路由条目在ACL访问控制列表中匹配的顺序是自上而下逐一匹配
-
每个路由条目只会被匹配一次,一旦匹配上,则不继续向下匹配
-
在ACL访问控制列表隐含一个放行所有
华为体系默认的ACL列表末尾隐含一条允许所有的指令(不做处理)
思科默认拒绝所有
-
可以抓取感兴趣流,QoS技术可以分类网络中的报文,并根据报文优先级提供差分服务。
ACL的分类
-
基础的ACL — 只匹配源IP地址
标准访问控制列表号是 2000 - 2999
-
高级的ACL — 可以匹配源目IP地址,也可以匹配协议,端口号等
标准访问控制列表号是 3000 - 3999
-
用户自定义的ACL — 可以用户自定义相应的功能。
标准访问控制列表号是 4000 - 4999
ACL的基本配置
创建基础访问控制列表,列表号为2000
[r2]acl 2000
拒绝源IP地址为 192.168.1.3
的流量
[r2-acl-basic-2000]rule deny source 192.168.1.3 0.0.0.0
这的 0.0.0.0
是一个通配符,全0表示没有可变的部分,唯一匹配这条IP地址,不是一个网段或者其它。
例如 rule deny source 192.168.1.3 0.255.0.255
相当于匹配 192.X.1.Y
这样特征的流量,0代表不可变,1代表可变。
查看ACL列表配置
[r2-acl-basic-2000]display acl 2000
Acl's step is 5 — 步长,一方面确定匹配顺序,另外方便规则之间插入一些规则
删除ACL规则
[r2-acl-basic-2000]undo rule 5
策略
-
编辑ACL列表
-
路由器的接口调用ACL列表,注意方向(一个接口的一个方向只能调用一张列表)
入方向:流量将要进入本地路由器,将要被本地路由器处理
出方向:已经被本地路由器处理过,流量将离开本地路由器
实例
分析
问题一:为了PC2 192.168.1.3
不可以访问3.0网段但不影响PC2访问其他的网络,可以在R2的g0/0/1接口过滤来自PC2的流量。
问题二:可以在R1写上过滤源IP为PC1 192.168.1.2
目标IP为PC4 192.168.3.3
的流量的条目。
配置
[r2]acl 2000
[r2-acl-basic-2000] rule deny source 192.168.1.3 0
[r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000
基础的ACL一般配置在更靠近目标的位置。
[r1]acl 3000
[r1-acl-adv-3000]rule deny icmp source 192.168.1.2 0 destination 192.168.3.3 0
[r1-GigabitEthernet0/0/1]traffic-filter inbound acl 3000
ping命令实际是基于ICMP协议的应用层的命令。
这种带有目标的过滤规则应当尽可能配置到靠近源的位置,这样可以使数据包还没到骨干链路就被过滤掉了,可以减少链路资源的浪费。
若有错误,欢迎指正!o( ̄▽ ̄)ブ