防火墙ACL安全策略多厂商对比

专题-网络配置 · 第05篇 日期:2026-08-03


全文

开篇:VLAN划好了,谁该访问谁?

上一篇文章我们讲完了新华三H3C的VLAN划分,网络通了只是第一步——通了不等于安全

想象一个场景:财务部的VLAN 30,里面放着工资表、成本核算、税务数据。研发部的VLAN 10,里面是CAD图纸、工艺配方。两个VLAN之间通过VLANIF三层接口互通——但问题是:研发部的张三凭什么能ping通财务部的服务器?

这就是ACL(访问控制列表)要解决的问题。

网络层的门禁系统:谁从哪到哪,允许还是拒绝,全部写进规则,逐包检查。

今天这篇,我们做一件网工圈最有价值的事——把华为、新华三H3C、锐捷、思科四家防火墙/交换机的ACL配置命令放在一起对比。不是泛泛而谈,是逐条命令对照,看完你拿着任何一家的设备都能上手配。


一、ACL到底是什么?3分钟搞懂核心概念

ACL(Access Control List,访问控制列表)本质上是一张规则表,每条规则叫一个ACE(Access Control Entry,访问控制条目)。

设备收到数据包后,从上往下逐条匹配规则:

  • 匹配到permit → 放行
  • 匹配到deny → 丢弃
  • 全部不匹配 → 执行默认动作(多数设备默认permit,安全设备默认deny)

ACL分类(四厂商通用):

类型 编号范围 匹配维度 典型场景
标准ACL 1-99 / 2000-2999 仅源IP 简单限制某网段访问
扩展ACL 100-199 / 3000-3999 源IP+目的IP+协议+端口 精确控制到端口级
命名ACL 名称代替编号 同上 可读性好,可插入/删除单条

一句话原则:标准ACL只能看"谁发的",扩展ACL能看"谁发给谁、用什么协议、走什么端口"。生产环境99%用扩展ACL。


二、四厂商ACL创建命令对比

2.1 创建扩展ACL(以"允许研发部10.1.1.0/24访问服务器10.2.1.100的TCP 445端口"为例)

华为:

[HUAWEI] acl 3000                          # 创建高级ACL
[HUAWEI-acl-adv-3000] rule permit tcp source 10.1.1.0 0.0.0.255 destination 10.2.1.100 0 destination-port eq 445
[HUAWEI-acl-adv-3000] rule deny ip source any destination 10.2.1.100 0    # 拒绝其他访问服务器
[HUAWEI-acl-adv-3000] quit

H3C(新华三):

[H3C] acl advanced 3000                    # 创建高级ACL
[H3C-acl-ipv4-adv-3000] rule permit tcp source 10.1.1.0 0.0.0.255 destination 10.2.1.100 0 destination-port eq 445
[H3C-acl-ipv4-adv-3000] rule deny ip destination 10.2.1.100 0             # 拒绝其他访问
[H3C-acl-ipv4-adv-3000] quit

锐捷:

Ruijie(config)# ip access-list extended 3000
Ruijie(config-ext-nacl)# 10 permit tcp 10.1.1.0 0.0.0.255 host 10.2.1.100 eq 445
Ruijie(config-ext-nacl)# 20 deny ip any host 10.2.1.100
Ruijie(config-ext-nacl)# exit

思科:

Cisco(config)# ip access-list extended 3000
Cisco(config-ext-nacl)# 10 permit tcp 10.1.1.0 0.0.0.255 host 10.2.1.100 eq 445
Cisco(config-ext-nacl)# 20 deny ip any host 10.2.1.100
Cisco(config-ext-nacl)# exit

2.2 四厂商命令差异速查表(⭐核心干货)

对比维度 华为 H3C 锐捷 思科
创建高级ACL acl 3000 acl advanced 3000 ip access-list extended 3000 ip access-list extended 3000
命名ACL acl name web-acl advanced acl advanced name web-acl ip access-list extended web-acl ip access-list extended web-acl
规则关键字 rule permit/deny rule permit/deny permit/deny(直接写) permit/deny(直接写)
源地址关键字 source source 无关键字直接写 无关键字直接写
目的地址关键字 destination destination 无关键字直接写 无关键字直接写
单主机简写 10.2.1.100 0 10.2.1.100 0 host 10.2.1.100 host 10.2.1.100
任意地址 any any any any
规则编号 自动步长5(5/10/15…) 自动步长5 手动指定(10/20/30…) 手动指定(10/20/30…)
通配符掩码 反掩码(0精确匹配) 反掩码(0精确匹配) 反掩码(0精确匹配) 反掩码(0精确匹配)

关键差异解读

  • 华为和H3C的ACL语法最接近,但创建命令不同:华为acl 3000,H3C必须写acl advanced 3000
  • 锐捷和思科的语法几乎一致(锐捷早期就是借鉴思科CLI),但锐捷的安全策略以Web界面为主。
  • 华为/H3C的规则用rule关键字引导,锐捷/思科直接写permit/deny
  • 单主机简写:华为/H3C写IP 0,锐捷/思科用host IP——这是最容易搞混的地方。

三、四厂商应用ACL到接口对比

ACL创建完不会自动生效,必须应用到接口安全域间

华为(交换机/路由器):

[HUAWEI] interface gigabitethernet 0/0/1
[HUAWEI-GigabitEthernet0/0/1] traffic-filter inbound acl 3000
[HUAWEI-GigabitEthernet0/0/1] quit

华为(防火墙安全域间):

[HUAWEI] firewall interzone trust untrust
[HUAWEI-interzone-trust-untrust] packet-filter 3000 inbound
[HUAWEI-interzone-trust-untrust] quit

H3C:

[H3C] interface gigabitethernet 1/0/1
[H3C-GigabitEthernet1/0/1] packet-filter 3000 inbound
[H3C-GigabitEthernet1/0/1] quit

H3C还支持全局应用:packet-filter 3000 global inbound——设备所有接口入方向同时生效。

锐捷:

Ruijie(config)# interface gigabitethernet 0/1
Ruijie(config-if-GigabitEthernet 0/1)# ip access-group 3000 in
Ruijie(config-if-GigabitEthernet 0/1)# exit

思科:

Cisco(config)# interface gigabitethernet 0/1
Cisco(config-if)# ip access-group 3000 in
Cisco(config-if)# exit

接口应用命令差异:

厂商 接口应用命令 方向关键字
华为(交换机) traffic-filter inbound acl 3000 inbound/outbound
华为(防火墙) packet-filter 3000 inbound inbound/outbound
H3C packet-filter 3000 inbound inbound/outbound
锐捷 ip access-group 3000 in in/out
思科 ip access-group 3000 in in/out

⚠️ 最大坑:华为/H3C用inbound/outbound,锐捷/思科用in/out。迁移配置时漏改这个关键字会直接报错。


四、安全策略最佳实践:最小权限+默认拒绝

无论用哪家设备,ACL设计的核心原则是通用的:

原则1:最小权限——只放行必须的流量

# ❌ 错误:放行整个网段所有端口
rule permit ip source 10.1.1.0 0.0.0.255 destination 10.2.1.0 0.0.0.255

# ✅ 正确:只放行需要的端口
rule permit tcp source 10.1.1.0 0.0.0.255 destination 10.2.1.100 0 destination-port eq 445

原则2:默认拒绝——最后一条deny all

# 华为/H3C
rule deny ip source any destination any

# 锐捷/思科
deny ip any any

华为/H3C默认动作是permit(未匹配规则的全放行),必须显式加deny all。锐捷/思科扩展ACL末尾有隐式deny all,但建议显式写出以提高可读性。

原则3:精确规则在前,宽泛规则在后

ACL从上往下匹配,命中即停。如果宽泛规则在前,后面的精确规则永远不会被执行。

原则4:开启日志记录

# 华为
rule deny ip source any destination any logging

# H3C
rule deny ip source any destination any logging

# 锐捷
deny ip any any log

# 思科
deny ip any any log

日志会记录被拒绝的包数、源/目的IP,是安全审计的核心数据源。等保三级要求访问控制日志留存至少180天。


五、典型场景:限制研发部访问财务核心区

组网需求

  • 研发部VLAN 10(10.1.1.0/24)→ 允许访问Internet和邮件服务器
  • 研发部VLAN 10 → 禁止访问财务VLAN 30(10.3.1.0/24)
  • 其他部门 → 禁止访问财务VLAN 30

华为配置:

[HUAWEI] acl 3000
[HUAWEI-acl-adv-3000] rule deny ip source 10.1.1.0 0.0.0.255 destination 10.3.1.0 0.0.0.255
[HUAWEI-acl-adv-3000] rule permit ip source 10.1.1.0 0.0.0.255 destination any
[HUAWEI-acl-adv-3000] quit
[HUAWEI] interface vlanif 10
[HUAWEI-Vlanif10] traffic-filter inbound acl 3000

H3C配置:

[H3C] acl advanced 3000
[H3C-acl-ipv4-adv-3000] rule deny ip source 10.1.1.0 0.0.0.255 destination 10.3.1.0 0.0.0.255
[H3C-acl-ipv4-adv-3000] rule permit ip source 10.1.1.0 0.0.0.255 destination any
[H3C-acl-ipv4-adv-3000] quit
[H3C] interface vlan 10
[H3C-Vlan10] packet-filter 3000 inbound

锐捷配置:

Ruijie(config)# ip access-list extended 3000
Ruijie(config-ext-nacl)# 10 deny ip 10.1.1.0 0.0.0.255 10.3.1.0 0.0.0.255
Ruijie(config-ext-nacl)# 20 permit ip 10.1.1.0 0.0.0.255 any
Ruijie(config-ext-nacl)# exit
Ruijie(config)# interface vlan 10
Ruijie(config-if-VLAN 10)# ip access-group 3000 in

思科配置:

Cisco(config)# ip access-list extended 3000
Cisco(config-ext-nacl)# 10 deny ip 10.1.1.0 0.0.0.255 10.3.1.0 0.0.0.255
Cisco(config-ext-nacl)# 20 permit ip 10.1.1.0 0.0.0.255 any
Cisco(config-ext-nacl)# exit
Cisco(config)# interface vlan 10
Cisco(config-if)# ip access-group 3000 in

六、验证命令对比

配置完不验证等于没配。四厂商的查看命令:

操作 华为 H3C 锐捷 思科
查看ACL规则 display acl 3000 display acl 3000 show access-lists 3000 show ip access-list 3000
查看接口应用 display traffic-filter applied-record display packet-filter interface show ip access-group show ip access-lists
查看匹配计数 display acl 3000(含命中次数) display packet-filter statistics interface show access-lists(含匹配数) show access-list(含matches)
清除计数 reset acl counter 3000 reset packet-filter statistics clear access-list counters clear access-list counters

display vs show:华为/H3C用display,锐捷/思科用show。这是CLI风格的最大分水岭之一。


七、ACL与等保合规的关联

等保三级(GA/T 2380-2026)对访问控制有明确要求:

  1. 网络边界访问控制:必须在安全域边界部署访问控制设备(防火墙/交换机ACL),这是"物理与环境安全"+“通信安全"的核心要求。
  2. 最小权限原则:访问控制策略应基于"默认拒绝”,仅放行必要流量——对应ACL的deny all兜底。
  3. 日志审计180天:ACL拒绝日志必须留存至少180天——对应ACL的logging功能+日志服务器联动。
  4. 安全策略集中管理:建议通过统一安全策略管理平台管理所有设备的ACL规则——避免"规则膨胀"后无人维护。

网络访问控制做好了,数据层面的权限管控呢? ACL管的是网络层"能不能到",但文件层面的"能不能看、能不能下载、能不能拷走"——这是私有云盘的权限管理体系要解决的问题。32维权限模型、文件不落地预览、AD域联动离职自动回收,才是数据安全的最后一公里。


八、排坑清单:4个常见翻车场景

坑1:方向搞反——ACL应用在错的方向

  • inbound = 进接口时检查(推荐,节省设备资源)
  • outbound = 出接口时检查
  • 如果在入方向已经permit了,出方向再deny也没用——因为包已经被路由转发了

坑2:掩码写反——0.0.0.255 vs 255.255.255.0

  • ACL用反掩码:0=精确匹配,1=忽略
  • 10.1.1.0 0.0.0.255 = 匹配10.1.1.x整个/24网段
  • 如果写成10.1.1.0 255.255.255.0 = 只匹配10.1.1.0这一个地址(因为255=忽略所有位)

坑3:规则顺序错误——宽泛规则吃掉精确规则

# ❌ 错误:permit all在前,后面的deny永远不会执行
rule 5 permit ip source any destination any
rule 10 deny ip source 10.1.1.0 0.0.0.255 destination 10.3.1.0 0.0.0.255

坑4:华为防火墙安全域间ACL vs 交换机接口ACL

  • 华为防火墙用firewall interzone + packet-filter,走安全域间逻辑
  • 华为交换机用接口下traffic-filter,走接口级逻辑
  • 两者机制不同,不能混用

更多企业 IT 实战经验,请浏览本站技术博客,或联系我们获取方案支持。