问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

HCIA-Datacom 12. ACL原理与配置

创作时间:
作者:
@小白创作中心

HCIA-Datacom 12. ACL原理与配置

引用
CSDN
1.
https://blog.csdn.net/qq_45903048/article/details/145422775

本文详细介绍了华为认证HCIA-Datacom中ACL(访问控制列表)的原理与配置方法,包括基本概念、工作原理、分类、匹配机制以及具体配置案例。ACL是网络设备中重要的流量过滤工具,通过permit或deny语句实现对网络流量的控制,广泛应用于防火墙、路由策略、QoS等场景。本文将帮助读者全面理解ACL的工作原理并掌握其配置方法。

12.1 ACL技术概述

随着网络的飞速发展,网络安全和网络服务质量QoS(Quality of Service)问题日益突出,需要借助一个工具实现一些流量的过滤。ACL是由一系列permit或deny语句组成的、有序规则的列表。ACL是一个匹配工具,能够对报文进行匹配和区分。

12.2 ACL的基本概念及其工作原理

ACL组成

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

  • ACL编号:在网络设备上配置ACL时,每个ACL都需要分配一个编号,称为ACL编号,用来标识ACL。不同分类的ACL编号范围不同。
  • 规则:一个ACL通常由若干条“permit/deny"语句组成,每条语句就是该ACL的一条规则。
  • 规则编号:每条规则都有一个相应的编号,称为规则编号,用来标识ACL规则。可以自定义,也可以系统自动分配。ACL规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序。
  • 动作:每条规则中的permit或deny,就是与这条规则相对应的处理动作。permit指“允许”,deny指“拒绝”,但是ACL一般是结合其他技术使用,不同的场景,处理动作的含义也有所不同。ACL技术总是与防火墙、路由策略、QoS、流量过滤等其他技术结合使用。
  • 匹配项:ACL定义了极其丰富的匹配项。例如,二层以太网帧头信息(如源MAC、目的MAC、以太帧协议类型)、三层报文信息(如目的地址、协议类型)以及四层报文信息(如TCP/UDP端口号)等。

规则编号与步长

  • 规则编号(Rule ID):一个ACL中的每一条规则都有一个相应的编号。
  • 步长(Step):步长是系统自动为ACL规则分配编号时,每个相邻规则编号之间的差值,缺省值为5。步长的作用是为了方便后续在旧规则之间,插入新的规则。
  • Rule ID分配规则:系统为ACL中首条未手工指定编号的规则分配编号时,使用步长值(例如步长=5,首条规则编号为5)作为该规则的起始编号。系统为后续规则分配编号时,则使用大于当前ACL内最大规则编号且是步长整数倍的最小整数作为规则编号。

通配符

通配符是一个32比特长度的数值,用于指示lP地址中,哪些比特位需要严格匹配,哪些比特位无需匹配。通配符通常采用类似网络掩码的点分十进制形式表示,但是含义却与网络掩码完全不同。匹配规则:“0"表示“严格匹配”; “1"表示“任意”。通配符中的1或者0可以不连续。

两个特殊的通配符:

  • 当通配符全为0来匹配IP地址时,可以简写为1个0,表示精确匹配某个IP地址。
  • 当通配符全为1来匹配0.0.0.0地址时,表示匹配了所有IP地址。

ACL分类与标识

  • 基于ACL规则定义方式的分类
  • 基于ACL标识方法的分类

ACL匹配机制

  • 匹配流程
  • 首先系统会查找设备上是否配置了ACL。
  • 如果ACL不存在,则返回ACL匹配结果为:不匹配。
  • 如果ACL存在,则查找设备是否配置了ACL规则。
  • 如果规则不存在,则返回ACL匹配结果为:不匹配。
  • 如果规则存在,则系统会从ACL中编号最小的规则开始查找。
  • 如果匹配上了permit规则,则停止查找规则,并返回ACL匹配结果为:匹配(允许)。
  • 如果匹配上了deny规则,则停止查找规则,并返回ACL匹配结果为︰匹配(拒绝)。
  • 如果未匹配上规则,则继续查找下一条规则,以此循环。如果一直查到最后一条规则,报文仍未匹配上,则返回ACL匹配结果为:不匹配。
  • 匹配顺序
    华为设备支持两种匹配顺序:自动排序(auto模式)和配置顺序(config模式)。缺省的ACL匹配顺序是config模式。
  • 自动排序,是指系统使用“深度优先”的原则,将规则按照精确度从高到低进行排序,并按照精确度从高到低的顺序进行报文匹配。
  • 配置顺序,系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。如果后面又添加了一条规则,则这条规则会被加入到相应的位置,报文仍然会按照从小到大的顺序进行匹配。
  • 匹配位置
  • 入站(lnbound)及出站(Outbound)方向

12.3 ACL的基础配置及应用

基本ACL基础配置

  • 创建基本ACL
  • acl-number:指定访问控制列表的编号。
  • match-order config:指定ACL规则的匹配顺序,config表示配置顺序。使用编号(2000~2999)创建一个数字型的基本ACL,并进入基本ACL视图。
  • acl-name:指定创建的ACL的名称。
  • basic:指定ACL的类型为基本ACL。使用名称创建一个命名型的基本ACL,并进入基本ACL视图。
  • 配置基本ACL的规则
  • rule-id:指定ACL的规则ID。
  • deny:指定拒绝符合条件的报文。
  • permit:指定允许符合条件的报文。
  • source{ source-address source-wildcard | any }:指定ACL规则匹配报文的源地址信息。如果不配置,表示报文的任何源地址都匹配。其中:
  • source-address:指定报文的源地址。
  • source-wildcard:指定源地址通配符。
  • any:表示报文的任意源地址。相当于source-address为0.0.0.0或者source-wildcard为255.255.255.255。
  • time-rangetime-name:指定ACL规则生效的时间段。其中,time-name表示ACL规则生效时间段名称。如果不指定时间段,表示任何时间都生效。

案例:使用基本ACL过滤数据流量

在Router上部署基本ACL后,ACL将试图穿越Router的源地址为192.168.1.0/24网段的数据包过滤掉,并放行其他流量,从而禁止192.168.1.0/24网段的用户访问Router右侧的服务器网络。

  1. Router已完成IP地址和路由的相关配置
  2. 在Router上创建基本ACL,禁止192.168.1.0/24网段访问服务器网络:
  3. 由于从接口GEO/0/1进入Router,所以在接口GEO/0/1的入方向配置流量过滤:
    注:traffic-filter命令,用来在接口上配置基于ACL对报文进行过滤。
    命令格式:traffic-filter{inbound|outbound}acl{ acl-number |nameacl-name }
  • inbound:指定在接口入方向上配置报文过滤。
  • outbound:指定在接口出方向上配置报文过滤。
  • acl:指定基于IPv4 ACL对报文进行过滤。

高级ACL基础配置

  • 创建高级ACL
  • acl-number:指定访问控制列表的编号。
  • match-order config:指定ACL规则的匹配顺序,config表示配置顺序。使用编号(3000~3999)创建一个数字型的高级ACL,并进入高级ACL视图。
  • acl-name:指定创建的ACL的名称。
  • advance:指定ACL的类型为高级ACL。使用名称创建一个命名型的高级ACL,进入高级ACL视图。
  • 配置高级ACL的规则
    根据IP承载的协议类型不同,在设备上配置不同的高级ACL规则。对于不同的协议类型,有不同的参数组合。
  • 当参数protocol为IP时,高级ACL的命令格式
  • ip:指定ACL规则匹配报文的协议类型为IP。
  • destination{destination-address destination-wildcard|any}:指定ACL规则匹配报文的目的地址信息。如果不配置,表示报文的任何目的地址都匹配。
  • dscpdscp:指定ACL规则匹配报文时,区分服务代码点(Differentiated Services Code Point),取值为:0~63。
  • tostos:指定ACL规则匹配报文时,依据服务类型字段进行过滤,取值为:0~15。
  • precedenceprecedence:指定ACL规则匹配报文时,依据优先级字段进行过滤。precedence表示优先级字段值,取值为:0~7。
  • 当参数protocol为TCP时,高级ACL的命令格式
  • protocol-number|tcp:指定ACL规则匹配报文的协议类型为TCP。可以采用数值6表示指定TCP协议。
  • destination-port{eqport|gtport|ltport|rangeport-startport-end}:指定ACL规则匹配报文的UDP或者TCP报文的目的端口,仅在报文协议是TCP或者UDP时有效。如果不指定,表示TCP/UDP报文的任何目的端口都匹配。其中:
  • eqport:指定等于目的端口;
  • gtport:指定大于目的端口;
  • ltport:指定小于目的端口;
  • rangeport-startport-end:指定源端口的范围。
  • tcp-flag:指定ACL规则匹配报文的TCP报文头中SYN Flag。

案例:

某公司通过Router实现各部门之间的互连。为方便管理网络,管理员为公司的研发部和市场部规划了两个网段的IP地址。现要求Router能够限制两个网段之间互访,防止公司机密泄露。

  1. Router已完成IP地址和路由的相关配置。
  2. 创建高级ACL 3001并配置ACL规则,拒绝研发部访问市场部的报文
  3. 创建高级ACL 3002并配置ACL规则,拒绝市场部访问研发部的报文
  4. 由于研发部和市场部互访的流量分别从接口GE0/0/1和GE0/0/2进入Router,所以在接口GE0/0/1和GE0/0/2的入方向配置流量过滤:
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号