华为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

相关文章

C++ move 的作用详解及陷阱最佳实践

《C++move的作用详解及陷阱最佳实践》文章详细介绍了C++中的`std::move`函数的作用,包括为什么需要它、它的本质、典型使用场景、以及一些常见陷阱和最佳实践,感兴趣的朋友跟随小编一起看... 目录C++ move 的作用详解一、一句话总结二、为什么需要 move?C++98/03 的痛点⚡C++

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Java中ArrayList与顺序表示例详解

《Java中ArrayList与顺序表示例详解》顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构,:本文主要介绍Java中ArrayList与... 目录前言一、Java集合框架核心接口与分类ArrayList二、顺序表数据结构中的顺序表三、常用代码手动

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

JAVA线程的周期及调度机制详解

《JAVA线程的周期及调度机制详解》Java线程的生命周期包括NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATED,线程调度依赖操作系统,采用抢占... 目录Java线程的生命周期线程状态转换示例代码JAVA线程调度机制优先级设置示例注意事项JAVA线程

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra

C++构造函数中explicit详解

《C++构造函数中explicit详解》explicit关键字用于修饰单参数构造函数或可以看作单参数的构造函数,阻止编译器进行隐式类型转换或拷贝初始化,本文就来介绍explicit的使用,感兴趣的可以... 目录1. 什么是explicit2. 隐式转换的问题3.explicit的使用示例基本用法多参数构造

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中