HCIP Datacom - ACL访问控制列表

HCIP Datacom - ACL访问控制列表

前言

  • 随着网络的飞速发展,网络安全和网络服务质量Qos问题日益突出。访问控制列表(ACL,Access Control List)是与其紧密相关的一个技术
  • ACL可以通过对网络中报文流的精确识别,与其他技术结合,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而切实保障网络环境的安全性和网络服务质量的可靠性。

ACL原理与配置

ACL技术概述

ACL概述

  • ACL是由一系列permit或deny语句组成的、有序规则的列表
  • ACL是一个匹配工具,能够对报文进行匹配和区分
ACL应用
匹配IP流量
在Traffic-filter中被调用
在NAT(Natwork-address Tran)中被调用
在路由器策略中被调用
在防火墙的策略部署中被调用
在Qos中被调用
其他。。。

AACL的基本概念及其工作原理

ACL的组成

  • ACL由若干条permit和deny语句组成。每条语句就是该ACL的一条规则,每条语句中的permit或deny就是与这条规则相对应的处理动作。
  • 匹配流量(默认拒绝)/访问控制(默认允许)

规则编号

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

通配符

  • 是一个32比特长度的数值,用于指示IP地址中,哪些比特位需要严格匹配,哪些比特位无需匹配。

  • 通常采用类似网络掩码的点分十进制形式表示,但是含义却与网络掩码完全不同

  • 匹配192.168.1.0/24这个子网中的奇数IP地址,例如192.168.1.1、192.168.1.3、192.168.1.5等(192.168.1.1 0.0.0.254)通配符中的1或者0可以不连续

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 ControList)组,也可以使用目的IP地址或目的UCL组、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则
  • 基于ACL标识方法的分类
分类 规则定义描述
数字型ACL 传统的ACL标识方法,创建ACL时,指定一个唯一的数字标识该ACL
命名型ACL 通过名称代替编号来标识ACL

ACL的匹配顺序及匹配结果

  • 配置顺序(Confug模式)

    • 系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配
  • ACL匹配位置

    入站 R 出站
    在此接口上部署ACL,需应用在inbound(入站)方向 在此接口上部署ACL,需应用在outbound(出站)方向

ACL的基础配置及应用

基本ACL的基础配置命令

  • 创建基本ACL
    • acl [number] acl-number [match-order config]
    • 使用编号(2000~2999)创建一个数字型的基本ACL,并进入基本ACL试图
    • acl name acl-name {basic | acl-number }{ match-order config }
    • 使用名称创建一个命名型的基本ACL,并进入基本ACL试图
  • 配置基本ACL规则
    • rule [rule-id] { deny | permit }[ source { source-address source-wildcard | any } | time-range time-name ]
    • 在基本ACL视图下,通过此命令来配置基本的ACL规则

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

  • 配置需求:在Router上部署基本ACL后,ACL将试图穿越Router的源地址为192.168.1.0/24网段的数据包过滤掉,并放行其他流量,从而禁止192.168.1.0/24网段的用户访问Router右侧的服务器网络
    • Router已完成IP地址和路由的相关配置
    • 在Router上创建基本ACL,禁止192.168.1.0/24网段访问服务器网络
      • acl 2000
      • rule deny source 192.168.1.0 0.0.0.255
      • rule permit source any
    • 由于从接口GE0/0/1进入Router,所以在接口GE0/0/1的入方向配置流量过滤
      • interface GigabitEthernet 0/0/1
      • tarffic-filter inbound acl 2000
      • quit

高级ACL的基础配置命令

  • 创建高级ACL
    • acl [ number ] acl-number [ match-order config ]
    • 使用编号(3000~3999)创建一个数字型的高级ACL,并进入高级ACL视图
    • acl name acl-name { advance | acl-number } [match-order config]
    • 使用名称创建一个命名型的高级ACL,进入高级ACL视图
  • 配置基本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 ]]]
      • 在高级ACL视图下,通过此命令来配置高级ACL规则
      • 当参数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 prot-start prot-end} | source {source-address source-wildcard | any} | source-port {eq prot | gt prot | lt prot | range prot-satrt port-end } | tcp-flag { ack | fin | syn } * | time-range time-name ]*
      • 在高级ACL视图喜爱,通过此命令来配置高级ACL的规则

案例:使用高级ACL限制不同网段的用户互访

  • 配置需求:某公司通过router实现各部门之间的互连。为方便管理网络,管理员为公司的研发部和市场部规划了两个网段的IP地址

  • 现需求Router能够限制两个网段之间互访,防止公司机密泄漏

  • Router已完成IP地址和路由器的相关配置

  • 创建高级ACL3001并配置ACL规则,拒绝研发部访问市场部的报文

    • acl 3001
    • rule deny ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
    • quit
  • 创建高级ACL3002并配置ACL规则,拒绝市场部访问研发部的报文:

    • acl 3002
    • rule deny ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
    • quit
  • 由于研发部和市场部互访的流量分别从接口GE0/0/0/1和GE/0/0/2进入Router,所以在接口GE0/0/1和GE0/0/2的入方向配置流量过滤

    • interface GigabitEthernet 0/0/1
    • traffic-filter inbound acl 3001
    • quit
    • interface GigabitEthernet 0/0/2
    • traffic-filter inbound acl 3002
    • quit

小结

顺序 方向 位置
基本ACL离目的地近
高级ACL离源目的近