1、ACL介绍
信息点间通信和内外网络的通信都是企业网络中必不可少的业务需求,但是为了保证内网的安全性,需要通过安全策略来保障非授权用户只能访问特定的网络资源,从而达到对访问进行控制的目的。
ACL(访问控制列表)可以过滤网络中的流量,控制访问的一种网络技术手段。
ACL的本质就是用于描述一个IP 数据包、以太网数据帧若干特征的集合。然后根据这些集合去匹配网络中的流量(由大量数据包组成),同时根据策略来“允许”或者“禁止”。
作用:
- 限制网络流量、提高网络性能。
- 提供对通信流量的控制手段。
- 是提供网络安全访问的基本手段。
- 可以在路由器端口处决定哪种类型的通信流量被转发或被阻塞。
2、ACL分类(基于IP)
2.1、标准 ACL
标准 列表号 2000-2999
标准型 ACL只能匹配源IP 地址,在应用中有三种匹配的方式:
1、 any,指任意地址
2、 ,指定某个IP 网段
3、 src_range ,指定 IP 的地址范围
配置命令:
//标准 ACL,name为名字
ip access-list standard <name>
{permit | deny} any
{permit | deny} <network> <net-mask>
{permit | deny} src_range <start-ip> <end-ip>
2.2、扩展型 ACL
扩展 列表号 3000-3999
扩展型 ACL可匹配多个条目,常用的项目有源、目的IP ,源、目的端口号,以及 ip协议号(种类)等,可以用来满足绝大多数的应用。
在一个条件中,这些项目的前后顺序如下:协议号,源ip地址,源端口号,目的ip地址,目的端 口号。
配置命令:
ip access-list extended <name>
{permit|deny} {ip|icmp |tcp| udp} {any |network |src_range} [src_port] {any | network | src_range} [dst_port]
3、ACL的匹配规则
一个端口执行哪条ACL,这需要按照列表中的条件语句执行顺序来判断。
如果一个数据包的报头跟表中某个条件判断语句相匹配,那么后面的语句就将被忽略,不再进行检查。数据包只有在跟第一个判断条件不匹配时,它才被交给ACL 中的下一个条件判断语句进行比较。
如果匹配(假设为允许发送),则不管是第 一条还是最后一条语句,数据都会立即发送到目的接口。
如果所有的ACL判断语句都检测完毕,仍没有匹配的语句出口,则该数据包将视为被拒绝而被丢弃(隐含拒绝:deny any )。
这里要注意,ACL不能对本身产生的数据包进行控制。
4、ACL的工作机制
ACL一般是部署在接口上,分为in或者out。分别对应数据流进入接口实施ACL和数据流出接口实施ACL。
如果在接口上配置的是进入的ACL,那么它的工作流程如下:路由器会查看该接口上是否配置了ACL,如果没有配置,直接查找路由表进行转发,如果配置了且允许通过,则查找路由表进行转发,否则拒绝,发送ICMP信息。
在出站接口上配置的ACL,它的具体工作流程如下:首先查看路由是否存在,如果存在且没有配置ACL,直接进行转发。否则,要查看是否允许转发,如果进行配置允许,则转发,否则拒绝转发,发送ICMP信息。