• 快速学会ACL技术


    25、ACL技术 — 访问控制列表

    • 网络安全
    • 网络管理 — SNMP协议

    1、ACL原理

    • 配置了ACL的网络设备会根据事先设定好的报文匹配规则对经过该设备的报文进行匹配,然后对报文执行预先设定好的处理动作。
    • ACL是一张表,就是一系列规则的集合

    2、ACL功能

    • 访问控制:在设备的流入或流出接口上,匹配流量,然后执行设定的动作

      • 流量的流入或者流出是一个相对的概念
      • 动作
        • permit----允许
        • deny—拒绝
    • 定义感兴趣流量

      • 抓取流量,之后给到其他的策略,让其他策略进行工作

      • 因为ACL经常与其他协议共同使用,所以ACL一般只做匹配流量的作用,而对应的动作由其他协议完成。

      • 路由策略、策略路由、防火墙、QoS技术

    3、ACL的匹配规则

    • 自上而下,逐一匹配。
      • 匹配上则按照该规则进行执行,不再向下匹配。
      • 未匹配上,则执行默认规则。
        • 在思科设备上,ACL访问控制列表的最后隐含条件:拒绝所有规则
        • 在华为设备上,ACL访问控制列表的最后隐含条件:允许所有规则

    4、ACL分类

    • 基本ACL

      • 只能基于IP报文的源IP地址、报文分片标记和时间段信息来定义规则

      • 编号:2000-2999(用于区分不同的列表)

    • 高级ACL

      • 可以基于IP报文的源目IP地址、源目端口号、协议字段、IP报文优先级、报文长度或协议号等信息来定义规则
      • 编号:3000-3999
    • 二层ACL

      • 使用报文的以太网帧头信息来定义规则

      • 编号:4000-4999

    • 用户自定义ACL

      • 即可以使用IPv4报文的源IP地址,也可以使用目的IP地址,协议类型、甚至使用ICMP、TCP、UDP、IPv6等协议的各类字段信息来定义规则
      • 编号:5000-5999

    5、ACL配置

    • 需求一:PC1可以访问192.168.2.0网段,而PC2不行

      • 分析结果

        • 仅对源有要求,配置基本ACL即可。
      • 基本ACL配置位置

        • 由于基本ACL仅关注数据包中的源IP地址,故配置时需尽量靠近目标,避免对其他地址访问误伤;
        • 假设此时,在R1上配置,那么它不仅仅是无法到达192.168.2.0网段,其余网段也不可以
      • 配置

      • [r2]acl 2000 //创建基本acl列表
        
        [r2-acl-basic-2000]rule deny source 192.168.1.2 0.0.0.0 //配置规则,拒绝源IP地址为192.168.1.2的地址通过0.0.0.0这个字符串--->通配符(0代表不可变,1代表可变)
        
        [r2-acl-basic-2000]rule 8 permit source any //允许所有
        	该数字是规则的序列号,华为默认步长为5,如果未指定规则的序列号,则每条规则都是从前一条规则的序列号+5得出,方便后期在任意两条规则中间加入或者删除规则。
        
        
        ACL定义完成后,必须在接口上调用方可执行;调用时一定注意方向;一个接口的一个方向上只能调用一张表
        [r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000 //在0/0/1接口调用ACL2000,且方向为出方向。
        	一个接口的一个方向只能调用一张ACL列表;但是一张ACL列表可以在不同的地方多次调用。
        
        [r2]display acl 2000 //查看ACL列表
        
        [r2-acl-basic-2000]undo rule 8 //删除已存在的ACL规则
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
      • 例1:
        
        仅允许192.168.1.1通过
        
        rule permit source 192.168.1.1 0.0.0.0
        
        11000000.10100100.00000001.00000001
        
        00000000.00000000.00000000.00000000
        
        例2:
        
        拒绝192.168.1.2和192.168.1.3通过
        
        rule deny source 192.168.1.2 0.0.0.1
        
        11000000.10100100.00000001.0000001 1
        
        00000000.00000000.00000000.00000001
        
        例3:
        
        拒绝192.168.1.0/24网段中的所有单数IP地址通过
        
        rule deny source 192.168.1.1 0.0.0.254
        
        11000000.10100100.00000001.00000001
        
        00000000.00000000.00000000.11111110
        
        例4:
        
        192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4
        
        11000000.10100100.00000001.00000001
        
        11000000.10100100.00000001.00000010
        
        11000000.10100100.00000001.00000011
        
        11000000.10100100.00000001.00000100
        
        00000000.00000000.00000000.00000111
        
        例5:
        
        192.168.1.1 192.168.1.10 192.168.1.16 192.168.1.68
        
        11000000.10100100.00000001.00000001
        
        11000000.10100100.00000001.00001010
        
        11000000.10100100.00000001.00010000
        
        11000000.10100100.00000001.01000100
        
        00000000.00000000.00000000.01011111
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
        • 24
        • 25
        • 26
        • 27
        • 28
        • 29
        • 30
        • 31
        • 32
        • 33
        • 34
        • 35
        • 36
        • 37
        • 38
        • 39
        • 40
        • 41
        • 42
        • 43
        • 44
        • 45
        • 46
        • 47
        • 48
        • 49
        • 50
        • 51
        • 52
        • 53
        • 54
        • 55
        • 56
        • 57
    • 需求二:要求PC1可以访问PC3,但是不能访问PC4

      • 分析:对目标有要求,需要使用高级ACL技术

      • 高级ACL的配置位置

        • 由于高级ACL对流量进行了精准匹配,可以避免误伤,所以调用时应当尽量靠近源,减少链路资源的占用。
        • 源、目IP地址位置,使用通配符0标记一个主机,或使用反1标记段,或使用any均可
      • 配置

        • [r1]acl 3100 //创建高级ACL列表
          
          [r1-acl-adv-3100]rule 5 deny ip source 192.168.1.1 0 destination 192.168.2.2 0
          	设置检测IP报文的源目地址
          
          [r1-GigabitEthernet0/0/1]traffic-filter inbound acl 3100 //调用
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
    • 需求三:要求PC1可以ping通R2,但是不能telnet R2

      • 分析

        • 需求中包含telnet,也就是涉及了TCP或UDP的端口。使用高级ACL
        • 关注目标端口号
        • 目标端口号:服务端使用注明端口来确定具体服务
      • 配置

        • [r1]acl 3000
          
          [r1-acl-adv-3000]rule deny tcp source 192.168.1.1 0 destination 2.2.2.20 destination-port eq 23 //拒绝TCP协议,源为192.168.1.1 目的1.1.1.1,端口号为23的数据流量
          
          [r1-acl-adv-3000]rule 10 deny tcp source 192.168.1.1 0 destination2.2.2.2 0 des
          tination-port eq telnet //两种方式二选一
          
          [r1-GigabitEthernet0/0/1]traffic-filter inbound acl 3000 //调用
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
  • 相关阅读:
    操作系统实验(5)—— 页面淘汰算法模拟实现与比较
    SuccBI+低代码文档中心 — 可视化分析(仪表板)(上)
    【数据结构】AVL树(C++实现)
    水平拆分的技巧
    另一棵树的子树
    10段实用Python代码,帮我省了几万块钱
    Machine Learning(study notes)
    PostgreSQL修炼之道笔记之基础篇(八)
    UE4 春节鞭炮
    知识图谱(Knowledge Graph)- Neo4j 5.10.0 使用 - CQL - 太极拳传承谱系表
  • 原文地址:https://blog.csdn.net/m0_63342921/article/details/127576277