华为ACL应用笔记

1、基本ACL 2000-2999

基本ACL(Access Control List,访问控制列表)是一种网络安全技术,它根据源IP地址、分片信息和生效时间段等信息来定义规则,对报文进行过滤。

规则: ACL由一系列规则组成,每条规则都包含一个匹配条件和相应的动作(允许或拒绝)。

规则按照编号从小到大的顺序进行匹配,一旦报文匹配到某条规则,就会执行该规则的动作,并停止继续匹配其他规则。

匹配条件:

源IP地址:指定报文的源IP地址范围。可以使用通配符掩码来指定一个IP地址段。

生效时间段:指定ACL规则生效的时间段。这是一个可选参数,可以根据需要来配置。

动作:

允许(Permit):如果报文匹配到某条规则,并且该规则的动作是允许,则报文会被放行。

拒绝(Deny):如果报文匹配到某条规则,并且该规则的动作是拒绝,则报文会被丢弃。

规则顺序:

ACL中的规则是按照编号从小到大的顺序进行匹配的,因此需要注意规则的排列顺序。通常,更具体的规则(例如针对特定IP地址的规则)应该放在前面,更通用的规则(例如允许所有其他流量的规则)应该放在后面。。

bash 复制代码
禁止源IP地址为192.168.10.1的设备访问任何网络
[AR1]acl 2000
[AR1-acl-basic-2000]rule deny source 192.168.10.1 0.0.0.0
[AR1-acl-basic-2000]rule permit source any
[AR1-acl-basic-2000]int g0/0/0
​
[AR1-GigabitEthernet0/0/0]traffic-filter inbound acl 2000
bash 复制代码
在工作日的上午9点到下午5点,禁止源IP地址为192.168.20.0/24网段的设备访问server
​
[AR1]time-range work-time 09:00 to 17:00 working-day      创建时间段
​
[AR1]acl 2001
[AR1-acl-basic-2001]rule deny source 192.168.20.0 0.0.0.255 time-range work-time
[AR1-acl-basic-2001]rule permit
​
[AR1-acl-basic-2001]int g0/0/2
[AR1-GigabitEthernet0/0/2]traffic-filter outbound acl 2001

2、高级ACL 3000-3999

高级ACL(Access Control List,访问控制列表)能够针对IP报文的多种元素进行流量匹配,这些元素包括但不限于源IP地址、目的IP地址、协议类型、TCP源或目的端口、UDP源或目的端口等。

编号范围:

在多数网络设备(如华为设备)上,高级ACL的编号范围为3000~3999。

匹配规则:

源IP地址:指定报文的源IP地址范围。

目的IP地址:指定报文的目的IP地址范围。

协议类型:可以匹配如ICMP、TCP、UDP、IP等多种协议类型。

端口号:针对TCP或UDP协议,可以匹配源端口或目的端口号。

动作:

permit:允许匹配到的报文通过。

deny:拒绝匹配到的报文通过。

其他参数(如适用):

掩码:用于指定IP地址的匹配范围,如greater-equal和less-equal参数,可以表示掩码的大小范围。

顺序:规则是按照顺序进行匹配的,一旦报文匹配到某条规则,就不会再继续匹配后续的规则。

bash 复制代码
拒绝源IP地址为192.168.10.0/24网段的主机
      ping 100.100.100.2的server设备
​
[AR1]acl number 3000
[AR1-acl-adv-3000]rule 5 deny icmp source 192.168.10.0 0.0.0.255 destination 100
.100.100.2 0
[AR1-acl-adv-3000]rule 100 permit ip
[AR1-acl-adv-3000]int g0/0/1
[AR1-GigabitEthernet0/0/1]traffic-filter outbound acl 3000

3、二层ACL 4000-4999

二层ACL(Access Control List)是网络设备用于根据报文的源MAC地址、目的MAC地址、二层协议类型等内容定义规则,以控制报文转发的技术。

规则编号(rule-id):

指定ACL的规则ID。如果指定ID的规则已经存在,新规则会覆盖旧规则;如果不存在,则使用指定ID创建新规则。

系统自动分配ID时,会从缺省步长值起始(如5),并按步长值递增生成规则序号(如5、 10、15......)。

动作(permit|deny):

permit:允许符合条件的报文通过。

deny:拒绝符合条件的报文通过。

报文封装格式:

ether-ii:Ethernet II封装。

802.3:802.3封装。

snap:SNAP封装。

二层协议类型(l2-protocoltype-value[type-mask]):

指定ACL规则匹配报文的类型,如ARP(0x0806)、IP(0x0800)、IPv6(0x86dd)等。

目的MAC地址(destination-macdest-mac-address[dest-mac-mask]):指定ACL规则匹配报文的目的MAC地址信息。

dest-mac-address:报文的目的MAC地址。

dest-mac-mask:目的MAC地址掩码,用于指定感兴趣的MAC地址范围。

源MAC地址(source-macsource-mac-address[source-mac-mask]):指定ACL规则匹配报文的源MAC地址信息。

source-mac-address:报文的源MAC地址。

source-mac-mask:源MAC地址掩码,用于指定感兴趣的MAC地址范围。

VLAN信息:

vlan-idvlan-id[vlan-id-mask]:指定ACL规则匹配报文的外层VLAN编号。

cvlan-idcvlan-id[cvlan-id-mask]:指定ACL规则匹配报文的内层VLAN编号。

8021p802.1p-value:指定ACL规则匹配报文的802.1p优先级。

时间段(time-rangetime-name):

指定ACL规则生效的时间段。

bash 复制代码
禁止源MAC地址位为 5489-98FB-376B 的报文发送到目的MAC地址为 5489-9813-237F的设备
[LSW1]acl 4000         配置ACL
[LSW1-acl-L2-4000]rule deny source-mac 5489-98FB-376B ffff-ffff-ffff destination
-mac 5489-9813-237F ffff-ffff-ffff
​
[LSW1]traffic classifier mac1        基于ACL的流分类
[LSW1-classifier-mac1]if-match acl 4000
​
[LSW1]traffic behavior mac2           配置流行为
[LSW1-behavior-mac2]deny
​
[LSW1]traffic policy pol             配置流策略
[LSW1-trafficpolicy-pol]classifier mac1 behavior mac2
 
[LSW1-trafficpolicy-pol]int e0/0/1         在接口上应用流策略
[LSW1-Ethernet0/0/1]traffic-policy pol inbound 

4、自定义ACL(Name ACL,或称为扩展功能ACL)

  • 编号范围:5000~5999

  • 功能:根据报文头、偏移位置、字符串掩码和用户自定义字符串来定义规则,对报文进行过滤。此外,也有资料表明自定义ACL可以通过名称来创建,称为命名型ACL,此时编号由系统自动分配或用户指定(如果系统支持)。

5、基于报文的复杂ACL

  • 编号范围:6000~9999

  • 功能:根据报文的源IP地址、源业务组、源用户组、源端口号、目的IP地址、目的业务组、目的用户组、目的端口号、协议类型等内容定义规则,实现对报文的匹配过滤。

6、基于MPLS的ACL

  • 编号范围:10000~10999

  • 功能:根据MPLS报文的Exp值、Label值、TTL值对报文进行过滤。

7、基于ARP的ACL(某些特定型号或版本可能支持)

  • 编号范围:23000~23999

  • 功能:根据ARP报文的源IPv4地址、目的IPv4地址、源MAC地址、目的MAC地址来定义规则,对报文进行过滤。

其他注意事项

  1. 华为设备的ACL规则通常按照规则ID从小到大进行排序和匹配。

  2. 用户可以配置规则的步长,以便在规则之间方便地插入新的规则。

  3. ACL规则可以配置生效时间段,以实现基于时间的访问控制。

  4. 在某些华为设备上,还可以使用ACL名称来代替ACL编号来定义IP访问控制列表,以便于记忆和管理。

相关推荐
YuMiao5 分钟前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
BingoGo1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
Sinclair3 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
JaguarJack3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
Rockbean4 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
茶杯梦轩4 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试