zoukankan      html  css  js  c++  java
  • ACL访问控制列表

    ACL概述

    • 访问控制列表ACL(Access Control List)是由一系列permit或deny语句组成的、有序规则的列表,它通过匹配报文的相关信息实现对报文的分类;
    • ACL本身只能够用于报文的匹配和区分,而无法实现对报文的过滤功能,针对ACL所匹配的报文的过滤功能,需要特定的机制来实现(例如在交换机的接口上使用traffic-filter命令调用ACL来进行报文过滤),ACL只是一个匹配用的工具;
    • ACL除了能够对报文进行匹配,还能够用于匹配路由;
    • ACL是一个使用非常广泛的基础性工具,能够被各种应用或命令所调用。

    一、ACL技术背景

    二、ACL的应用

    • 匹配IP流量(可基于源、目IP地址、协议类型、端口号等元素)
    • 在Traffic-filter中被调用
    • 在NAT中被调用
    • 在路由路由策略中被调用
    • 在IPSec VPN中被调用
    • 在防火墙的策略部署中被调用
    • 在QoS中被调用
    • 其他……

    三、ACL包过滤原理

    1)基于ACL的包过滤技术

    • 对进出的数据包逐个过滤,丢弃或允许通过
    • ACL应用于接口上,每个接口的出入双向分别过滤
    • 仅当数据包经过一个接口时,才能被此接口的此方向的ACL过滤

    2)入站包过滤工作流程

    3)出站包过滤工作流程

    四、通配符掩码

    1)概述

    • 通配符掩码(wildcard-mask)俗称 反掩码
    • 通配符掩码和IP地址结合使用,以描述一个地址范围

    • 通配符掩码和子网掩码相似,但含义不同
      • 0表示对应位须比较
      • 1表示对应位不比较

    2)特殊的通配符掩码

    192.168.1.1 0.0.0.0    =    192.168.1.1 0

    精确匹配192.168.1.1这个IP

    0.0.0.0 255.255.255.255    =    any

    匹配所有IP

    3)应用示例

    示例:匹配192.168.1.0/24这个子网中最后一个8位组为基数的IP地址,例如192.168.1.1、192.168.1.3、192.168.1.5等。

    五、ACL分类

    1)ACL的标识

    • 可以给访问控制列表指定名称,便于维护
    • 利用数字序号标识访问控制列表

    2)基本ACL

    • 基本访问控制列表只根据报文的源IP地址信息制定规则

    3)高级ACL

    • 高级访问控制列表根据报文的源IP地址、目的IP地址、IP承载的协议类型、协议特性等三、四层信息制定规则

    4)二层ACL

    • 二层ACL根据报文的源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息制定匹配规则

    5)ACL的步长

    • ACL 中的每条规则都有自己的编号,这个编号在该ACL中是唯一的。在创建规则时,可以手工为其指定一个编号,如未手工指定编号,则由系统为其自动分配一个编号。
    •  由于规则的编号可能影响规则匹配的顺序,因此当由系统自动分配编号时,为了方便后续在已有规则之前插入新的规则,系统通常会在相邻编号之间留下一定的空间,这个空间的大小(即相邻编号之间的差值)就称为ACL的步长。
    • 譬如,当步长为5 时,系统会将编号0、5、10、15……依次分配给新创建的规则。

     六、配置ACL包过滤

    1)ACL包过滤配置任务

    • 根据需要选择合适的ACL分类
    • 创建正确的规则
      • 设置匹配条件
      • 设置合适的动作(Permit/Deny)
    • 在路由器的接口上应用ACL,并指明过滤报文的方向(入站/出站)

    2)设置包过滤规则

    • 包过滤功能默认开启
    • 设置包过滤的默认过滤方式
      • 系统默认的过滤方式是permit,即允许未匹配上ACL规则的报文通过
      • 可以配置包过滤的缺省动作为deny

    [H3C] packet-filter default deny

    3)配置基本ACL

    • 配置基本ACL,并指定ACL序号
      • 基本IPv4 ACL的序号取值范围为2000~2999

    [H3C] acl basic acl-number

    • 定义规则
      • 制定要匹配的源IP地址范围
      • 指定动作是permit或deny

    [H3C-acl-basic-2000] rule [ rule-id ]{ deny | permit } [ counting | fragment | logging | source{ sour-addrsour-wildcard| any }|time-range time-range-name]

    4)配置高级ACL

    • 配置高级IPv4 ACL,并指定ACL序号
      • 高级IPv4 ACL的序号取值范围为3000~3999

    [H3C] acl advanced acl-number

    • 定义规则
      • 需要配置规则来匹配源IP地址、目的IP地址、IP承载的协议类型、协议端口号等信息
      • 指定动作是permit或deny

    [H3C-acl-adv-3000]rule [ rule-id ] { deny | permit } protocol [ destination { dest-addr dest-wildcard| any } | destination-port operator port1[ port2 ] established | fragment | source { sour-addr sour-wildcard | any } | source-port operator port1[ port2 ] |time-range time-range-name

    5)配置二层ACL

    • 配置二层ACL,并指定ACL序号
      • 二层ACL的序号取值范围为4000~4999

    [H3C] acl mac acl-number

    • 定义规则
      • 需要配置规则来匹配源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息
      • 指定动作是permit或拒绝deny

    [H3C-acl-ethernetframe-4000]rule [ rule-id ] { deny| permit } [ cos vlan-pri | dest-mac dest-addr dest-mask| lsap lsap-type lsap-type-mask | source-mac sour-addr source-mask| time-range time-range-name

    6)在接口上应用ACL

    • 将ACL应用到接口上,配置的ACL包过滤才能生效
    • 指明在接口上应用的方向是Outbound(数据离开路由器的方向)还是Inbound(数据进入路由器的方向)

    [H3C-Serial2/0 ] packet-filter { acl-number |name acl-name } { inbound| outbound}

    7)ACL包过滤显示与调试

    七、ACL包过滤的注意事项

    1)ACL规则的匹配顺序

    • 匹配顺序指ACL中规则的优先级
    • ACL支持两种匹配顺序:
      • 配置顺序(config):按照用户配置规则的先后顺序进行规则匹配
      • 自动排序(auto):按照“深度优先”的顺序进行规则匹配,即地址范围小的规则被优先进行匹配
    • 配置ACL的匹配顺序:

    [H3C] acl number acl-number[match-order {auto | config}]

    2)不同匹配顺序导致结果不同

    3)在网络中的正确位置配置ACL包过滤

    • 尽可能在靠近数据源的路由器接口上配置ACL,以减少不必要的流量转发
    • 高级ACL
      • 应该在靠近被过滤源的接口上应用ACL,以尽早阻止不必要的流量进入网络
    • 基本ACL
      • 过于靠近被过滤源的基本ACL可能阻止该源访问合法目的
      • 应在不影响其他合法访问的前提下,尽可能使ACL靠近被过滤的源

    4)ACL部署位置示例

    • 基本ACL部署位置示例

    • 高级ACL部署位置示例

     

    5)ACL包过滤的局限性

    • ACL包过滤是根据数据包头中的二、三、四层信息来进行报文过滤的,对应用层的信息无法识别
      • 无法根据用户名来决定数据是否通过
      • 无法给不同的用户授予不同的权限级别
    • ACL包过滤防火墙是静态防火墙,无法对应用层的协议进行动态检测
  • 相关阅读:
    将博客搬至CSDN
    一种全新的屏幕适配方法 自动百分比适配 一切px说了算
    一些精品开源代码
    Android View 事件分发机制 源码解析 (上)
    Android 高清加载巨图方案 拒绝压缩图片
    Android EventBus实战 没听过你就out了
    Markdown 11种基本语法
    JavaScript 语言基础知识点总结(思维导图)
    隐藏滚动条 支持Chrome, IE (6+), Firefox, Opera, and Safari
    (function(){})(this)
  • 原文地址:https://www.cnblogs.com/ananing/p/12979248.html
Copyright © 2011-2022 走看看