当前位置: 首页 > 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.dtcms.com/a/271793.html

相关文章:

  • Docker 环境下 MySQL 主从复制集群、MGR 搭建及 Nginx 反向代理配置
  • SSRF10 各种限制绕过之30x跳转绕过协议限制
  • ip地址可以精确到什么级别?如何获取/更改ip地址
  • 配置双网卡Linux主机作为路由器(连接NAT网络和仅主机模式网络)
  • 在 Mac 上使用 Git 拉取项目:完整指南
  • 【算法笔记】6.LeetCode-Hot100-链表专项
  • selenium中find_element()用法进行元素定位
  • 在mac m1基于llama.cpp运行deepseek
  • Spring Boot 企业级动态权限全栈深度解决方案,设计思路,代码分析
  • C#基础:Winform桌面开发中窗体之间的数据传递
  • 【WEB】Polar靶场 Day8 详细笔记
  • 力扣 hot100 Day40
  • fastMCP基础(一)
  • imx6ull-裸机学习实验16——I2C 实验
  • 解锁localtime:使用技巧与避坑指南
  • shell 字符串常用操作
  • 网安系列【16】之Weblogic和jboss漏洞
  • 深入剖析 ADL:C++ 中的依赖查找机制及其编译错误案例分析
  • 短剧分销系统开发指南:从0到1构建高效变现平台
  • 基于双向cuk斩波均衡电路的串联锂离子均衡系统设计
  • 文心一言4.5开源部署指南及文学领域测评
  • frp内网穿透下创建FTP(解决FTP“服务器回应不可路由的地址。使用服务器地址替代”错误)
  • 【macos用镜像站体验】Claude Code入门使用教程和常用命令
  • JS实现页面实时时间显示/倒计时
  • SMTPman,smtp的端口号是多少全面解析配置
  • 【数据结构】时间复杂度和空间复杂度
  • 杰赛S65_中星微ZX296716免拆刷机教程解决网络错误和时钟问题
  • Java线程池原理概述
  • 浏览器 实时监听音量 实时语音识别 vue js
  • 解析LLM层裁剪:Qwen实战指南