作者主页:点击!
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流量。