当前位置: 首页 > news >正文

ACL协议:核心概念与配置要点解析

ACL协议

在H3C网络设备(交换机、路由器、防火墙等)中,ACL(Access Control List,访问控制列表) 是一个核心的流量过滤和控制机制。

  1. 核心目的

    • 流量过滤:控制哪些流量可以通过接口(入站/出站方向)。
    • 安全策略:实施基本的安全策略,阻止非授权访问(如防火墙策略的基础)。
    • 流量识别:为其他需要识别特定流量的功能(如QoS策略路由、NAT、VPN、路由过滤、策略路由)提供匹配依据。
    • 用户接入控制:结合身份认证(如802.1X、Portal),限制用户访问权限
  2. 主要类型

    • 基本ACL(Basic ACL)
      • 序号为:2000~2999
      • 只根据报文的源IP地址信息制定规则
    • 高级ACL(Advanced ACL)
      • 序号为:3000 ~ 3999
      • 根据报文的源IP地址、目的IP地址、IP协议类型(TCP/UDP/ICMP/OSPF等)、源端口号、目的端口号、TCP标志位、ICMP类型/代码、IP优先级/DSCP、分片信息的特性等三、四层信息制定规则
    • 二层ACL(Layer 2 ACL / Ethernet Frame ACL)
      • 序号为:4000 ~ 4999
      • 根据报文的源MAC地址、目的MAC地址、以太网帧类型(如0x0800-IPv4, 0x86DD-IPv6)、802.1p优先级、VLAN ID等二层信息制定规则
  3. 设置过滤规则

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

    • 规则(Rule):每条ACL规则包含:
      • 匹配条件:根据ACL类型定义(如源IP、目的端口等)。
      • 动作(Action)permit (允许) 或 deny (拒绝)。
      • 规则ID:可手动指定或自动生成。H3C设备规则ID越小优先级越高
    • 规则匹配顺序
      • 配置顺序(config):按照用户配置规则的先后顺序进行匹配。这是默认的方式。
      • 自动深度优先(auto / depth-first):设备自动按照规则的“深度”(条件描述的精确程度)排序,条件越具体(如指定了端口号)的规则优先级越高。需要显式配置此模式。
      • 匹配过程:数据包从上到下逐条匹配规则。一旦匹配到某条规则,则执行该规则的动作(permitdeny),并停止后续规则的匹配。如果所有规则都不匹配,则执行该ACL的默认动作
    • 默认动作(Implicit Deny Any):任何ACL的末尾都隐含一条拒绝所有(deny any) 的规则。这意味着如果数据包没有匹配到任何显式配置的permit规则,它最终将被拒绝。这是安全性的重要保障。
  5. 应用方向(Application Direction)

    • ACL只有被应用(apply) 到接口的特定方向上才会生效。
    • 入方向(inbound):对进入该接口的数据包进行过滤。数据包到达接口后,先匹配入方向ACL,再查路由表决定转发。
    • 出方向(outbound):对离开该接口的数据包进行过滤。数据包查完路由表确定从该接口转发出去之前,匹配出方向ACL。
    • 选择合适的应用方向至关重要,直接影响过滤效果和效率。
  6. 配置基本ACL

    • **第一步:**设置访问控制列表序列号

      • acl basic acl-number
        
    • **第二步:**定义规则,允许或拒绝来自指定网络的数据包,并定义参数

      • rule [ RULE_ID ] { deny | permit } source { SRC_IP_ADDR SRC_WILDCARD | any } [ time-range TIME_NAME ] [ logging ] [ description TEXT ]
        
  7. 配置高级ACL

    • **第一步:**设置访问控制列表序列号

      • acl advanced acl-number
        
    • **第二步:**定义规则,其规则在基本访问列表的基础上增加了目的地址、协议号、端口以及操作符等信息

      • rule [ RULE_ID ] { deny | permit } PROTOCOL [ rule-specific-criteria ] [ time-range TIME_NAME ] [ logging ] [ description TEXT ]
        
  8. 配置二层ACL

    • **第一步:**设置访问控制列表序列号

      • acl mac acl-number
        
    • **第二步:**配置规则,规则上主要为源MAC、目的MAC以及COS值等信息

      • rule [ RULE_ID ] { deny | permit } [ rule-specific-criteria ] [ time-range TIME_NAME ] [ logging ] [ description TEXT ]
        
  9. 重要注意事项

    • 规则顺序:理解配置顺序和自动深度优先的区别,确保规则按预期优先级匹配。
    • 隐式拒绝:务必牢记ACL末尾隐含的deny any。如果想让某些流量通过,必须有显式的permit规则匹配它。
    • 应用方向:正确选择inboundoutbound是ACL生效的关键。
    • 作用范围:基本ACL通常建议应用在靠近目的地址的位置(避免意外阻断合法源);高级ACL通常建议应用在靠近源地址的位置(尽早丢弃非法流量,节省带宽和设备资源)。
    • 性能影响:复杂的ACL或大量ACL规则会增加设备处理负担,可能影响转发性能。优化规则设计。
    • 测试验证:配置ACL后务必进行充分测试,确保其按预期允许和拒绝流量。使用display packet-filter statistics等命令查看匹配计数辅助调试。

实验:

一、实验拓扑

在这里插入图片描述

二、实验需求
  1. 按照图示配置IP地址

  2. 实现全网互通

  3. 在SERVER上配置开启TELNET和FTP服务

  4. 配置ACL实现如下效果

    (1)192.168.1.0/24 网段不允许访问 192.168.2.0/24 网段

    (2)PC1 可以访问 SERVER 的 TELNET 服务,但不能访问 FTP 服务

    (3)PC2 可以访问 SERVER 的 FTP 服务,但不能访问 TELNET 服务

    (4)PC3 可以访问 SERVER 的 TELNET 服务和 FTP 服务,但 ping 不通SERVER

三、实验步骤
  1. 按照图示配置IP地址,略

  2. 实现全网互通,略

  3. 在SERVER上配置开启TELNET和FTP服务,略

  4. 配置ACL

    • 192.168.1.0/24 网段不允许访问 192.168.2.0/24 网段
    [R2]acl basic 2000
    [R2-acl-ipv4-basic-2000]rule deny source 192.168.1.0 0.0.0.255
    [R2-acl-ipv4-basic-2000]dis th
    #
    acl basic 2000rule 0 deny source 192.168.1.0 0.0.0.255
    #
    return
    [R2-acl-ipv4-basic-2000]qu
    [R2]int g0/2
    [R2-GigabitEthernet0/2]packet-filter 2000 outbound 
    [R2-GigabitEthernet0/2]qu
    [R2]
    
    • PC1 可以访问 SERVER 的 TELNET 服务,但不能访问 FTP 服务
    • PC2 可以访问 SERVER 的 FTP 服务,但不能访问 TELNET 服务
    [R1]acl advanced 3000
    [R1-acl-ipv4-adv-3000]rule deny tcp source 192.168.1.1 0 destination-port range 
    20 21
    [R1-acl-ipv4-adv-3000]rule deny tcp source 192.168.1.2 0 destination-port eq 23
    [R1]int g0/1
    [R1-GigabitEthernet0/1]packet-filter 3000 inbound 
    
    • PC3 可以访问 SERVER 的 TELNET 服务和 FTP 服务,但无法 ping 通SERVER
    [R2]acl advanced 3000
    [R2-acl-ipv4-adv-3000]rule deny icmp source 192.168.2.3 0 destination 192.168.3.
    1 0
    [R2-GigabitEthernet0/2]packet-filter 3000 outbound
    
  5. 测试

    • PC1 和 PC2 都无法 Ping 通 PC3
    <PC1>ping 192.168.2.3
    Ping 192.168.2.3 (192.168.2.3): 56 data bytes, press CTRL+C to break
    Request time out
    Request time out
    Request time out
    Request time out
    Request time out--- Ping statistics for 192.168.2.3 ---
    
    <PC2>ping 192.168.2.3
    Ping 192.168.2.3 (192.168.2.3): 56 data bytes, press CTRL+C to break
    Request time out
    Request time out
    Request time out
    Request time out
    Request time out--- Ping statistics for 192.168.2.3 ---
    
    • PC1 可以连接 SERVER1 的 TELNET,但不能连接 FTP
    <PC1>telnet 192.168.3.1
    Trying 192.168.3.1 ...
    Press CTRL+K to abort
    Connected to 192.168.3.1 ...******************************************************************************
    * Copyright (c) 2004-2021 New H3C Technologies Co., Ltd. All rights reserved.*
    * Without the owner's prior written consent,                                 *
    * no decompiling or reverse-engineering shall be allowed.                    *
    ******************************************************************************Login: wiltjer
    Password: 
    <SERVER>
    
    <PC1>ftp 192.168.3.1
    Press CTRL+C to abort.
    ftp: connect: Connection timed out
    ftp> 
    
    • PC2 可以连接 SERVER1的 FTP,但不能连接 TELNE
    <PC2>ftp 192.168.3.1
    Press CTRL+C to abort.
    Connected to 192.168.3.1 (192.168.3.1).
    220 FTP service ready.
    User (192.168.3.1:(none)): wiltjer
    331 Password required for wiltjer.
    Password: 
    230 User logged in.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> 
    
    <PC2>telnet 192.168.3.1
    Trying 192.168.3.1 ...
    Press CTRL+K to abort
    Connected to 192.168.3.1 ...
    Failed to connect to the remote host!
    
    • PC3 可以访问 SERVER 的 TELNET 服务和 FTP 服务,但 ping 不通SERVER
    <H3C>ping 192.168.3.1
    Ping 192.168.3.1 (192.168.3.1): 56 data bytes, press CTRL+C to break
    Request time out
    Request time out
    Request time out
    Request time out
    Request time out--- Ping statistics for 192.168.3.1 ---
    
    <H3C>telnet 192.168.3.1
    Trying 192.168.3.1 ...
    Press CTRL+K to abort
    Connected to 192.168.3.1 ...******************************************************************************
    * Copyright (c) 2004-2021 New H3C Technologies Co., Ltd. All rights reserved.*
    * Without the owner's prior written consent,                                 *
    * no decompiling or reverse-engineering shall be allowed.                    *
    ******************************************************************************Login: wiltjer
    Password: 
    <SERVER>
    
    <H3C>ftp 192.168.3.1
    Press CTRL+C to abort.
    Connected to 192.168.3.1 (192.168.3.1).
    220 FTP service ready.
    User (192.168.3.1:(none)): wiltjer
    331 Password required for wiltjer.
    Password: 
    230 User logged in.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> 
    
http://www.lryc.cn/news/584024.html

相关文章:

  • LlamaFactory Demo
  • 强缓存和协商缓存详解
  • SQL进阶:自连接的用法
  • 深度探索:实时交互与增强现实翻译技术(第六篇)
  • 【郑大二年级信安小学期】Day9:XSS跨站攻击XSS绕过CSRF漏洞SSRF漏洞
  • 医院多部门协同构建知识库-指南库-预测模型三维网络路径研究
  • 【C++】第十四节—模版进阶(非类型模版参数+模板的特化+模版分离编译+模版总结)
  • OSPF实验以及核心原理全解
  • vue引入应用通义AI大模型-(一)前期准备整理思路
  • Vue+Element Plus 中按回车刷新页面问题排查与解决
  • Scala实现网页数据采集示例
  • AI 智能体:开启自动化协作新时代
  • 2025.07.09华为机考真题解析-第三题300分
  • CentOs 7 MySql8.0.23之前的版本主从复制
  • 树莓派5+Ubuntu24.04 LTS ROS2 N10P镭神激光雷达 保姆级教程
  • ubuntu server配置静态IP
  • java(2025/7/10)
  • 【LeetCode 热题 100】19. 删除链表的倒数第 N 个结点——双指针+哨兵
  • 如何把Arduino IDE中ESP32程序bin文件通过乐鑫flsah_download_tool工具软件下载到ESP32中
  • 【音视频】HTTP协议介绍
  • 文心大模型4.5开源测评:保姆级部署教程+多维度测试验证
  • day11-微服务面试篇
  • 20.4 量子安全加密算法
  • k8s集群中控制节点处于NotReady,怎么办?
  • 32多串300A保护板测试仪:新能源电池安全的核心守护者
  • RFID 系统在医疗行业的深度应用:从安全溯源到效率革命
  • 【K8S】Kubernetes 使用 Ingress-Nginx 基于 Cookie 实现会话保持的负载均衡
  • 突破传统局限:60G 3D毫米波雷达如何实现精准人体全状态检测?
  • WIFI协议全解析05:WiFi的安全机制:IoT设备如何实现安全连接?
  • 为了安全应该使用非root用户启动nginx