这系列文章为计算机网络理论的学习笔记,学习笔记基于老师给的的PPT、他人学习笔记和维基百科、百度百科等一系列权威资料。学习笔记仅个人学习用,便于记录和复习,无广泛传播之意,若有侵权,请联系我删除。欢迎各位大佬指正和交流。
1 用访问控制列表(ACL)实现包过滤
本次学习部分内容来自于:华为 的 什么是ACL
1.1 ACL的简介
ACL:访问控制列表是一种基于包过滤的访问控制技术,根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。
1.1.1 ACL的定义
在我看来,ACL就是由一条或多条规则组成的集合,以实现包过滤(相当于报文过滤器)。
ACL所组成的条件规则可以是报文的源地址、目的地址、端口号等,是一种应用在网络设备各种软硬接口上的的指令列表。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。
1.1.2 ACL的应运而生
随着网络的飞速发展,网络安全和网络服务质量QoS(Quality of Service)问题日益突出。
- 企业重要服务器资源被随意访问,企业机密信息容易泄露,造成安全隐患。
- Internet病毒肆意侵略企业内网,内网环境的安全性堪忧。
- 网络带宽被各类业务随意挤占,服务质量要求最高的语音、视频业务的带宽得不到保障,造成用户体验差。
针对以上对正常网络通信造成影响的问题,表明提高网络安全性服务质量迫在眉睫。ACL便应运而生了。
通过ACL可以实现对网络中报文流的精确识别和控制,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而切实保障网络环境的安全性和网络服务质量的可靠性。
典型的ACL应用组网场景,前往学习:点我!!点我!!
1.1.3 ACL的应用场景
- 包过滤防火墙功能
- NAT(Network Address Translation,网络地址转换)
- QoS(Quality of Service,服务质量)的数据分类
- 路由策略和过滤
- 按需拨号
1.2 ACL的包过滤原理
ACL由一系列规则组成,通过将报文与ACL规则进行匹配,设备可以过滤出特定的报文。
1.2.1 ACL的组成
- ACL编号:用于标识ACL,表明该ACL是数字型ACL。ACL类型多,每类ACL编号的取值范围不同。后面会介绍。
- 规则:即描述报文匹配条件的判断语句。
- 规则编号:用于标识ACL规则。可以自行配置规则编号,也可以由系统自动分配。系统按照规则编号从小到大的顺序,将规则依次与报文匹配,一旦匹配上一条规则即停止匹配。
- 动作:包括permit/deny两种动作,表示允许/拒绝。
- 匹配项:除了上图中的源地址和生效时间段,ACL还支持很多其他规则匹配项。后面会介绍。
1.2.2 ACL分类
(一)基于ACL标识方法的划分
- 数字型ACL:传统的ACL标识方法。创建ACL时,指定一个唯一的数字标识该ACL。
- 命名型ACL:通过名称代替编号来标识ACL。 “名字+数字”的形式,定义命名型ACL时同时指定ACL编号。如果不指定编号,则由系统自动分配。例如:acl name deny-telnet-login 5200
命名型ACL一旦创建成功,便不允许用户再修改其名称。如果删除ACL名称,则表示删除整个ACL。
仅基本ACL与基本ACL6,以及高级ACL与高级ACL6,可以使用相同的ACL名称;其他类型ACL之间,不能使用相同的ACL名称。
(二) 基于对IPv4和IPv6支持情况的划分
- ACL4:通常直接叫做“ACL”,特指仅支持过滤IPv4报文的ACL。
- ACL6:又叫做“IPv6 ACL”, 特指仅支持过滤IPv6报文的ACL。
以上两种ACL,以及既支持过滤IPv4报文又支持过滤IPv6报文的ACL,统一称做“ACL”。
(三) 基于ACL规则定义方式的划分
分类 |
适用的IP版本 |
规则定义描述 |
编号范围 |
---|---|---|---|
基本ACL |
IPv4 |
仅使用报文的源IP地址、分片信息和生效时间段信息定义规则。 |
2000~2999 |
高级ACL |
IPv4 |
既可使用IPv4报文的源IP地址,也可使用目的IP地址、IP协议类型、ICMP类型、TCP源/目的端口、UDP源/目的端口号、生效时间段等来定义规则。 |
3000 ~ 3999 |
二层ACL |