计算机网络-ACL访问控制列表

这篇具有很好参考价值的文章主要介绍了计算机网络-ACL访问控制列表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上一篇介绍NAT时候就看到了ACL这个东西了,这个是什么意思?有什么作用呢?

一、ACL访问控制列表

访问控制列表 (ACL, Access Control List)是由一系列permit或deny语句组成的、有序规则的列表。ACL是一个匹配工具,能够对报文进行匹配和区分。简单来讲就是一个过滤列表,一般配合其它技术实现功能。ACL可以通过对网络中报文流的精确识别,与其他技术结合,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而切实保障网络环境的安全性和网络服务质量的可靠性。

比如下面这种情况: 计算机网络-ACL访问控制列表,程序人生

我们实际上使用不同VLAN划分不同网段以区分不同功能。因此对于内网不同网段的策略可以使用ACL访问控制列表进行控制。网络流量是有方向和一来一回数据流的,因此一般可以在发送或者接收时调用ACL。

二、ACL的组成

ACL由若干条permit或deny语句组成。每条语句就是该ACL的一条规则,每条语句中的permit或deny就是与这条规则相对应的处理动作。

计算机网络-ACL访问控制列表,程序人生
ACL组成

2.1 ACL编号

在网络设备上配置ACL时,每个ACL列表都需要分配一个编号,称为ACL编号,用来标识ACL。不同分类的ACL编号范围不同。这个编号与下面将要介绍的ACL分类相关。

2.2 ACL规则

前面提到了,一个ACL通常由若干条“permit/deny”语句组成,每条语句就是该ACL的一条规则。ACL规则包含规则编号,规则处理动作,匹配项,如果没有指定规则编号则有缺省规则编号和步长。

2.1 规则编号(Rule ID):

一个ACL中的每一条规则都有一个相应的编号。

2.2 步长(Step):

步长是系统自动为ACL规则分配编号时,每个相邻规则编号之间的差值,缺省值为5。步长的作用是为了方便后续在旧规则之间,插入新的规则。比如缺省规则编号:0 ,5 ,10 ,15 ....

计算机网络-ACL访问控制列表,程序人生
规则编号

2.3 动作

每条规则中的permit或deny,就是与这条规则相对应的处理动作。permit指“允许”,deny指“拒绝”,但是ACL一般是结合其他技术使用,不同的场景,处理动作的含义也有所不同。

2.4 匹配项

ACL定义了极其丰富的匹配项。例子中体现的源地址,ACL还支持很多其他规则匹配项。例如,二层以太网帧头信息(如源MAC、目的MAC、以太帧协议类型)、三层报文信息(如目的地址、协议类型)以及四层报文信息(如TCP/UDP端口号)等。只有匹配到相应的条件才执行相应的动作。

在这里需要了解一个知识:通配符 (Wildcard)

  • 通配符是一个32比特长度的数值,用于指示IP地址中,哪些比特位需要严格匹配,哪些比特位无需匹配。
  • 通配符通常采用类似网络掩码的点分十进制形式表示,但是含义却与网络掩码完全不同。 计算机网络-ACL访问控制列表,程序人生
计算机网络-ACL访问控制列表,程序人生
通配符可以不连续

因为ACL一般用来匹配源地址、目的地址、源端口和目的端口,因此需要使用地址+通配符形式进行匹配。参考上面图例:192.168.1.0 0.0.0.255 转换成二进制可以表示0段必须为192.168.1,最后一段可以为1-255。192.168.1.0 0.0.0.255 表示一个网段,192.168.1.1 0 表示一个主机位,即全部匹配,0.0.0.0 255.255.255.255 表示所有地址

通配符中的1或者0可以不连续,进行灵活匹配,一般用于匹配网段或者一个主机。

注意:每个ACL系统都在ACL末尾隐含的规则拒绝所有rule 4294967294 deny

三、ACL的分类

一般有两种分类:基于ACL规则号分类,基于ACL命名的ACL,一般常用编号进行定义。

基于ACL规则定义方式的分类:常用的为基本ACL和高级ACL。

分类 编号范围 规则定义描述
基本ACL 2000~2999 仅使用报文的源IP地址、分片信息和生效时间段信息来定义规则。
高级ACL 3000~3999 可使用IPv4报文的源IP地址、目的IP地址、IP协议类型、ICMP类型、TCP源/目的端口号、UDP源/目的端口号、生效时间段等来定义规则。
二层ACL 4000~4999 使用报文的以太网帧头信息来定义规则,如根据源MAC地址、目的MAC地址、二层协议类型等。
用户自定义ACL 5000~5999 使用报文头、偏移位置、字符串掩码和用户自定义字符串来定义规则。
用户ACL 6000~6999 既可使用IPv4报文的源IP地址或源UCL(User Control List)组,也可使用目的IP地址或目的UCL组、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则。

基于ACL标识方法的分类:

分类 规则定义描述
数字型ACL 传统的ACL标识方法。创建ACL时,指定一个唯一的数字标识该ACL。
命名型ACL 通过名称代替编号来标识ACL。

我们这里主要学习基本ACL和高级ACL。 计算机网络-ACL访问控制列表,程序人生

基本ACL一般只用来匹配源地址,高级ACL可以匹配源地址、目的地址、源端口、目的端口,更为灵活。因此基本ACL一般用来匹配一个网络所有流量,高级ACL匹配一个网络去往不同目的网络或者不同流量的匹配(HTTP、DNS、FTP、TELNET等等)

四、ACL的工作原理

1、ACL的匹配机制: 计算机网络-ACL访问控制列表,程序人生

2、ACL的匹配机制概括来说就是:

  • 配置ACL的设备接收报文后,会将该报文与ACL中的规则逐条进行匹配,如果不能匹配上,就会继续尝试去匹配下一条规则。
  • 匹配顺序按照规则编号从小到大匹配
  • 一旦匹配上,则设备会对该报文执行这条规则中定义的处理动作,并且不再继续尝试与后续规则匹配。
  • 在末尾有一条隐含的拒绝所有流量的rule规则

3、ACL的匹配顺序与结果; 计算机网络-ACL访问控制列表,程序人生 建议匹配严格的规则放在前面,宽泛匹配的放在后面顺序匹配。

4、ACL的匹配位置:

计算机网络-ACL访问控制列表,程序人生
匹配位置

计算机网络-ACL访问控制列表,程序人生 可以想象成一条数据为写一封信,从你寄出信--接收方收到信-再到接收方回复内容--你收到回信这才是一个完整的过程,你可以选择在发出时候进行匹配,或者在回信的过程进行匹配拦截。ACL的应用可以在物理接口或者三层逻辑接口如VLANIF上以及路由策略等应用。

一般情况下建议遵循以下规则:

  • 基本ACL在靠近发送端,因为基本ACL匹配所有流量,影响全部流量
  • 高级ACL部署在靠近接收端,因为只是匹配其中特定特征流量,可能不会影响其它流量

四、ACL的配置应用与实践

ACL的应用很广泛,可以用于以下场景:

  • 匹配IP流量
  • 在Traffic-filter中被调用
  • 在NAT(Network Address Translation)中被调用
  • 在路由策略中被调用
  • 在防火墙的策略部署中被调用
  • 在QoS中被调用
  • 其他……

ACL配置:因为基本ACL和高级ACL的匹配项不一样,因此配置上有一些不一样。

基本ACL:

# 创建基本ACL,并进入基本ACL视图。
[Huawei] acl [ number(2000~2999) ] acl-number [ match-order config ]

# 配置基本ACL的规则
[Huawei-acl-basic-2000] rule [ rule-id ] { deny | permit } [ source { source-address source-wildcard | any } | time-range time-name ] 

# 示例
acl number 2000  
 rule 5 permit source 192.168.1.0 0.0.0.255

高级ACL:

# 创建高级ACL,进入高级ACL视图。
[Huawei] acl [ number(3000-3999) ] acl-number [ match-order config ]

# 配置基本ACL的规则
# 根据IP承载的协议类型不同,在设备上配置不同的高级ACL规则。对于不同的协议类型,有不同的参数组合。
# 当参数protocol为IP时,高级ACL的命令格式为
rule [ rule-id ] { deny | permit } ip [ destination { destination-address destination-wildcard | any } | source { source-address source-wildcard | any } | time-range time-name | [ dscp dscp | [ tos tos | precedence precedence ] ] ] 

# 当参数protocol为TCP时,高级ACL的命令格式为
rule [ rule-id ] { deny | permit } { protocol-number | tcp } [ destination { destination-address destination-wildcard | any } | destination-port { eq port | gt port | lt port | range port-start port-end } | source { source-address source-wildcard | any } | source-port { eq port | gt port | lt port | range port-start port-end } | tcp-flag { ack | fin | syn } * | time-range time-name ] *

# 简单说就是IP协议可以匹配源地址、目的地址,TCP可以匹配源端口、目的端口
# 示例
acl number 3000  
 rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
 rule 10 permit tcp source 192.168.1.0 0.0.0.255 source-port eq telnet destinati
on 192.168.2.0 0.0.0.255

总结:ACL一般使用编号进行区分。基本ACL(2000-2999)支持源地址匹配,高级ACL(3000-3999)支持匹配源地址、目的地址、源端口和目的端口。地址的匹配使用地址+通配符进行匹配选择,通配符可以不连续进行灵活匹配。每个ACL末尾隐含一条拒绝所有的rule,ACL规则按顺序匹配,如果没有指定rule编号则缺省步长为5。基本ACL靠近源端匹配,高级ACL靠近目的端进行匹配,ACL可以应用于流量过滤、NAT、路由策略、策略路由等场景。

本文由 mdnice 多平台发布文章来源地址https://www.toymoban.com/news/detail-805684.html

到了这里,关于计算机网络-ACL访问控制列表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络TCP篇之流量控制

    今天谈一谈我对于tcp流量控制的看法 在网络拓扑中如果发送方节点的发送速率大于接受方节点的接受速率,数据会不断在接受方的缓冲区累积,直到接受方的缓冲区满的时候,发送方继续发送数据,这时候接受方无法存放这些数据,就只能将数据包丢掉,这样就消耗了网络资

    2024年02月07日
    浏览(51)
  • 《计算机网络》第四章 数据链路控制

    为什么要设计数据链路层 在原始的物理传输线路上传输数据信号是有差错的, 存在一定的误码率 。 在设计数据链路层的目的就是如何在有差错的线路上, 进行无差错传输 。向网络层提供高质量的服务。 从网络参考来看,物理层之上各层都有改善 数据传输质量 的要求,数

    2024年02月01日
    浏览(53)
  • 计算机网络 数据链路层 媒体接入控制

                 

    2024年02月13日
    浏览(36)
  • 计算机网络的故事——确认访问用户身份的认证

    HTTP使用的认证方式:BASIC认证(基本认证)、DIGEST(摘要认证)、SSL客户端认证、FormBase认证(基于表单认证)。 基于表单的认证:涉及到session管理以及cookie的应用。

    2024年02月09日
    浏览(47)
  • 计算机网络笔记:TCP的拥塞控制方法

    TCP的拥塞控制算法有四种,分别是慢开始、拥塞避免、快重传和快恢复。 拥塞窗口 : 基本概念 :发送方维持一个叫做拥塞窗口的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且是动态变化着的。发送方让自己的发送窗口等于拥塞窗口。 发送方控制拥塞窗口的原则

    2024年02月10日
    浏览(47)
  • 《计算机网络:自顶向下方法》第五章--网络层:控制平面

    控制平面作为一种网络范围的逻辑,不仅控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报,而且控制网络层组件和服务如何配置和管理 传统上,控制平面功能与数据平面的转发功能在一起实现,在路由器中作为统一的整体 在网络层:数据平面中有转发

    2024年02月12日
    浏览(53)
  • 【计算机网络】TCP传输控制协议——三次握手

    一开始,客户端和服务端都处于CLOSE状态,先是服务端监听某个端口,处于LISTEN状态。 然后客户端主动发起连接SYN,之后处于SYN-SEND状态。 服务端收到发起的连接,返回SYN,并且ACK客户端的SYN,之后处于SYN-RECV状态。 客户端收到服务端发送的SYN和ACK之后,发送ACK的ACK,之后处

    2024年02月09日
    浏览(49)
  • 计算机网络——互联网控制报文协议(ICMP)

    目录 1 ICMP的作用与特点 1.1 ICMP的主要特点 1.2 ICMP报文结构 2 ICMP 报文类型 2. ICMP差错报告报文 2.1.1 目的不可达报文 2.1.2 源抑制报文 2.1.3 超时报文 2.1.4 参数问题报文 2.1.5 重定向报文  2.2 ICMP查询报文 2.2.1 回送请求和应答报文 2.2.2 时间戳请求和应答报文 2.2.3 路由器询问和通告

    2024年02月04日
    浏览(62)
  • 【计算机网络笔记】传输层——拥塞控制原理与解决方法

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月05日
    浏览(44)
  • 计算机网络 运输层下 | TCP概述 可靠传输 流量控制 拥塞控制 连接管理

    TCP是面向连接的运输协议 每一条TCP只能有两个端点,点对点 提供可靠的全双工交付 面向字节流,但占用很多资源 不提供广播和多播服务 所以从某种意义来说 UDP是一种更加有效的工作方式 TCP面向流的概念 把字节写入发送缓冲,加上TCP首部构成TCP报文段,从接收缓存读取字

    2024年02月04日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包