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

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/1]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.xdnf.cn/news/15019.html

相关文章:

  • 从真人到数字分身:3D人脸扫描设备在高校数字人建模教学中的应用
  • 在 Mac 上使用 Git 拉取项目:完整指南
  • 【科研绘图系列】R语言探索生物多样性与地理分布的可视化之旅
  • BGP 路由优选属性(6)【Ogn】
  • 文件系统----底层架构
  • Java---IDEA
  • Redis性能基准测试
  • mac m1芯片 安装pd及win10系统
  • 【超详细】CentOS系统Docker安装与配置一键脚本(附镜像加速配置)
  • 深入了解 Vim 编辑器:从入门到精通
  • 三、C++ 的 python 绑定 pybind11
  • 【C++基础语法】
  • 如何把Arduino IDE中ESP32程序bin文件通过乐鑫flsah_download_tool工具软件下载到ESP32中
  • 【EGSR2025】材质+扩散模型+神经网络相关论文整理随笔(三)
  • SQL 索引与日志知识点详解及练习题​
  • Agent自动化与代码智能
  • HTML应用指南:利用GET请求获取全国永辉超市门店位置信息
  • 申请注册苹果iOS企业级开发者证书需要公司拥有什么规模条件
  • Spring boot整合dubbo+zookeeper
  • 《O-PAS™标准的安全方法》白皮书:为工业自动化系统筑起安全防线
  • Spring核心原理的快速入门:快速了解IoC与DI
  • [实战]调频(FM)和调幅(AM)信号生成(完整C语言实现)
  • 【C++】红黑树的底层思想 and 大厂面试常问
  • selenium跳转到新页面时如何进行定位
  • 【K8S】Kubernetes 使用 Ingress-Nginx 基于 Cookie 实现会话保持的负载均衡
  • 【前端】接口日志追踪
  • OKR工作法
  • x86汇编语言入门基础(三)汇编指令篇3 位移运算
  • Matplotlib-绘制训练曲线指南
  • defer学习指南