华为ensp中高级acl (控制列表) 原理和配置命令 (详解)

2024-04-07 07:20

本文主要是介绍华为ensp中高级acl (控制列表) 原理和配置命令 (详解),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者主页:点击!

ENSP专栏:点击!

创作时间:2024年4月6日23点18分

高级acl(Access Control List)是一种访问控制列表,可以根据数据包的源IP地址、目标IP地址、源端口、目标端口、协议、ICMP类型等多种因素进行过滤。高级acl比基本acl更加灵活,可以提供更细粒度的控制。

ACL匹配规则

好的,我来介绍一下途中ACL的匹配规则。

1. ACL匹配机制

ACL匹配机制遵循“一旦命中即停止匹配”的原则。也就是说,当一条规则匹配了报文时,后续的规则将不再进行匹配。

2. ACL规则匹配顺序

ACL规则匹配顺序有两种:配置顺序和自动排序。

  • 配置顺序:即系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。如果配置规则时指定了规则编号,则规则编号越小,规则插入位置越靠前,该规则越先被匹配。如果配置规则时未指定规则编号,则由系统自动为其分配一个编号。

  • 自动排序:即系统根据规则的优先级进行匹配,优先级越高越容易被匹配。规则的优先级可以通过以下因素来确定:

    • 规则的类型:permit规则的优先级高于deny规则。
    • 规则的具体条件:越具体的条件优先级越高。例如,指定了源IP地址和目的IP地址的规则优先级高于只指定了源IP地址的规则。

3. ACL匹配流程

根据上述的匹配机制和匹配顺序,ACL的匹配流程如下图所示:

4. ACL匹配结果

ACL匹配结果有两种:允许和拒绝。

  • 允许:表示报文可以通过ACL。
  • 拒绝:表示报文不能通过ACL。

5. 途中ACL的匹配规则

在途中ACL中,通常会使用配置顺序来进行规则匹配。这是因为在途中ACL中,通常需要根据报文的源IP地址和目的IP地址来进行控制,而这两个条件是比较具体的,因此可以很好地利用配置顺序来进行匹配。

在华为ENSP设备上,您可以配置不同类型的ACL,例如:

  • 标准ACL(基本acl):仅根据源IP地址过滤流量。
  • 扩展ACL(高级acl):根据源IP地址、目的IP地址、协议和端口号过滤流量。

请记住,ACL 规则是按顺序处理的,重要的是要有一个最终规则来拒绝与任何先前规则都不匹配的所有其他流量。另外,请记住,具体命令语法和可用选项可能会因设备型号和软件版本而异。

实验拓扑如下

首先先实现全网互通

实验前配置

AR1的基本配置

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]un in en
Info: Information center is disabled.
//基本的IP配置
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 192.168.1.1 255.255.255.0
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 6.6.6.6 255.255.255.0
[Huawei-GigabitEthernet0/0/1]q//默认路由配置
[Huawei]ip route-static 0.0.0.0 0 6.6.6.7这个命令是华为设备上的静态路由配置命令,
它的作用是将所有目的地址为0.0.0.0/0(即所有未知目的地)的流量都
指向下一跳地址为6.6.6.7的路由器或者下一跳设备。

AR2的基本配置

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]un in en
Info: Information center is disabled.
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 6.6.6.7 255.255.255.0
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 192.168.2.1 255.255.255.0
[Huawei-GigabitEthernet0/0/1]int g0/0/2
[Huawei-GigabitEthernet0/0/2]ip add 192.168.3.1 255.255.255.0
[Huawei-GigabitEthernet0/0/2]q
[Huawei]ip route-static 0.0.0.0 0 6.6.6.6
[Huawei]

[Huawei]ip route-static 0.0.0.0 0 6.6.6.6

这个命令是华为设备上的静态路由配置命令。它的作用是将所有目的地址为0.0.0.0/0(即所有未知目的地址)的流量都指向下一跳地址为6.6.6.6的路由器或者下一跳设备。

具体解释如下:

  • ip route-static 是配置静态路由的命令。
  • 0.0.0.0 0 表示匹配所有目的地址,子网掩码为0,表示匹配所有地址。
  • 6.6.6.6 是下一跳的IP地址,即指定将流量发送到该地址上。

如图所示

全网互通测试

使用PC1来访问PC3和PC4 测试发现均可以ping通

PC2来访问PC3和PC4均可以ping通

ACL策略实施

实验要求:

PC1(192.168.1.2)无法访问 PC3(192.168.2.2)但是可以访问PC4(192.168.3.2)

PC2(192.168.1.3)可以访问 PC3和PC4 192.168.2.2 192.168.3.2

在AR1上做acl策略

[Huawei]acl 3000
[Huawei-acl-adv-3000]rule deny icmp source 192.168.1.2 0 destination 192.168.2.2

这条规则拒绝了源地址为 ,目标地址为 的所有 ICMP 流量。192.168.1.2 192.168.2.2

设置完成acl之后应用到接口上

[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]traffic-filter outbound acl 3000

这意味着从接口GigabitEthernet0/0/1发出的所有流量都会被ACL 3000所定义的规则过滤。在你提供的ACL配置中,ACL 3000中有两个规则,分别拒绝了源地址为192.168.1.2的ICMP流量和源地址为192.168.1.2,目标地址为192.168.2.2的ICMP流量。因此,这些流量将被阻止离开该接口。

测试策略是否成功

经过测试发现成功符合实验要求 

其实可以访问的acl流量不需要设置

因为不设置拒绝访问 当然可以访问的 (根据现实需求去设置acl策略去访问 去允许通过流量和 拒绝流量)

实验成功高级acl基本就是这样的配置流程和作用!

扩展知识

1. 基于ICMP

[Huawei]acl 3000
[Huawei-acl-adv-3000]rule deny icmp source 192.168.1.0 0.0.0.255 
destination 192 .168.3.0 0.0.0.255 命名规则
[Huawei]int g0/0/1 [Huawei-GigabitEthernet0/0/1]traffic-filter 
outbound acl 3000 应用接口

2. 基于TCP/ UDP

[Huawei]acl 3000[Huawei-acl-adv-3000]rule deny tcp source 192.168.1.1 0 destination 192.168.2.2 
0 destination-port eq telnet[Huawei]int g0/0/0[Huawei-GigabitEthernet0/0/0]traffic-filter inbound acl 3000

3. 基于IP

[Huawei]acl 3000[Huawei-acl-adv-3000]rule deny ip source 192.168.1.0 0.0.0.255 destination 192
.168.3.0 0.0.0.255        命名规则[Huawei]int g0/0/1[Huawei-GigabitEthernet0/0/1]traffic-filter outbound acl 3000 应用接口

4.配置时间范围

1.配置时间访问

[Huawei] time-range work_hours 08:00 to 17:00 working-day

这个命令定义了一个名为 的时间范围,从每天的08:00到17:00为工作时间,在工作日有效。

2.配置ACL:

[Huawei] acl number 3000
[Huawei-acl-adv-3000] rule permit tcp source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255 time-range work_hours
[Huawei-acl-adv-3000] rule deny ip

这个ACL 3000允许了源地址为192.168.1.0/24,目标地址为192.168.2.0/24的所有TCP流量,在指定的时间范围内(即工作时间)。除了允许的流量外,其他所有IP流量都会被拒绝。

3.应用ACL:

[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] traffic-filter outbound acl 3000

这个命令将ACL 3000应用到接口GigabitEthernet0/0/1的出方向,以便过滤流出该接口的流量。

这样一来,在工作时间内,允许从192.168.1.0/24网段到192.168.2.0/24网段的所有TCP流量通过,而在其他时间则拒绝所有IP流量。

这篇关于华为ensp中高级acl (控制列表) 原理和配置命令 (详解)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/881973

相关文章

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Redis 基本数据类型和使用详解

《Redis基本数据类型和使用详解》String是Redis最基本的数据类型,一个键对应一个值,它的功能十分强大,可以存储字符串、整数、浮点数等多种数据格式,本文给大家介绍Redis基本数据类型和... 目录一、Redis 入门介绍二、Redis 的五大基本数据类型2.1 String 类型2.2 Hash

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Java中的.close()举例详解

《Java中的.close()举例详解》.close()方法只适用于通过window.open()打开的弹出窗口,对于浏览器的主窗口,如果没有得到用户允许是不能关闭的,:本文主要介绍Java中的.... 目录当你遇到以下三种情况时,一定要记得使用 .close():用法作用举例如何判断代码中的 input

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三