华为服务器命令acl是Access Control List的缩写,意为访问控制列表,用于定义一系列规则来允许或拒绝数据包通过,是网络与安全配置中最基础也最关键的过滤工具。
如果在华为服务器或交换机上敲过display acl或acl number 3000,大概率会对这串英文感到陌生,简单说,acl命令就是给你的网络设备装上一套“门禁系统”,告诉设备哪些流量能进、哪些流量必须挡在门外,它不单是防火墙的专利,在华为服务器自带的虚拟交换机、业务口管理口上同样适用,下面从用途、配置、区别到避坑,一次讲透。
华为服务器ACL命令到底用来干什么
ACL的本质是一张“通行规则表”
在华为设备上执行acl命令,本质是创建一张编号规则表,规则编号有讲究,2000-2999是基本ACL,只匹配源IP;3000-3999是高级ACL,能匹配源IP、目的IP、端口、协议类型等;4000-4999是二层ACL,匹配MAC地址和二层协议,服务器运维中,3000和2000用得最多,因为数据中心场景下靠IP管控最直观。
比如你敲:
acl number 3000
rule 5 permit tcp source 10.10.1.0 0.0.0.255 destination 172.16.0.10 0 destination-port eq 80
这条命令的含义是:允许来自10.10.1.0网段的主机访问172.16.0.10这台服务器的80端口,其余没匹配的流量默认被deny,这正是ACL的“隐式拒绝”规则。
在日常运维中,ACL命令挂在三个关键位置
- 业务接口入方向:防止外部恶意IP扫描数据库服务器端口。
- SSH管理接口:只允许办公网段登录服务器,避免管理口裸奔。
- VLAN间路由:控制不同业务部门之间的互访权限。
业内专家指出,华为服务器上大部分安全告警问题,最后都归结为ACL规则没写对或没挂载到位,而不是防火墙本身不行。
华为服务器ACL命令配置方法:分四步走
很多人记不住配置流程,其实逻辑特别像写“白名单”,拿最常见的需求举例只允许公司内网访问服务器管理IP的22端口。

第一步:创建ACL规则
进入系统视图:
system-view
acl number 2001
2001是自定义编号,只要在2000-2999范围内就行,接着写允许规则:
rule 5 permit source 192.168.10.0 0.0.0.255
注意这里的反掩码0.0.255,它和子网掩码255.255.255.0是互补关系,表示匹配前24位,写错反掩码是最常见的低级错误,规则会直接失效。
第二步:在接口下调用ACL
华为设备支持在接口入方向调用,比如管理口GigabitEthernet0/0/0:
interface GigabitEthernet0/0/0
traffic-filter inbound acl 2001
traffic-filter是把ACL应用到接口流量的核心命令,部分老款服务器上的智能网卡,需要改用packet-filter,自己先display version确认版本。
第三步:在远程管理服务上绑定ACL
除了接口过滤,Teleport或STelnet还可以直接绑定ACL:
stelnet server acl 2001
这样即使接口忘了挂载,SSH服务自身也能拒绝非授权网段连接,形成双保险。
第四步:验证规则是否生效
配置完别急着走,用实际源IP测试一下:
display acl 2001
display traffic-filter applied-record
如果ACL规则匹配计数不断增加,说明流量真的命中了规则,而不是规则没挂上。统计计数是判断ACL是否生效的唯一硬指标。
华为服务器ACL命令和防火墙规则有哪些区别
不少运维朋友会混淆“ACL”和“防火墙策略”,觉得都是“允许/拒绝”的开关,其实差别很大。
| 对比项 | 华为服务器ACL | 独立防火墙策略 |
|---|---|---|
| 工作层级 | 通常为三/四层,只认IP和端口 | 可扩展到应用层,识别HTTP、SQL等协议 |
| 状态感知 | 无状态,每包独立判断 | 有状态,能跟踪连接会话 |
| 适用场景 | 轻量级、边界粗粒度过滤 | 复杂应用安全、入侵防御、病毒查杀 |
| 配置复杂度 | 简单,几条命令搞定 | 需要安全策略规划,常涉及安全区域 |
| 硬件位置 | 服务器本地网卡或交换机端口 | 独立硬件或虚拟化安全组件 |
行业共识认为,华为服务器自带的ACL适合解决“谁能不能访问哪个端口”的问题,但别指望它防住SQL注入或webshell攻击,如果业务直面公网,仍需在服务器前置部署专业防火墙。
华为服务器ACL命令常见的三个坑
坑一:隐含的拒绝规则把管理地址也挡了
ACL末尾默认拒绝所有未匹配流量,如果你只写了一条permit办公网段,然后把它挂在管理口上,那么你当前所在的其他网段瞬间断连。在挂载前,先确认自己的远程会话IP是否在permit范围内,建议先写允许所有,再收紧:
rule 5 permit
rule 10 deny source any
这比裸奔安全,又不至于把自己锁在门外。
坑二:规则顺序被忽视,先匹配先生效
华为ACL的匹配原则是序号小的先匹配,如果你的规则5是permit,规则10是deny,那么流量先看规则5,命中了就放行,根本到不了规则10,所以异常流量要放在前面,正常流量放后面,或者干脆把常见攻击IP单独deny在顶部。
坑三:在模拟器上练了N遍,真机一配就乱
很多人用华为eNSP模拟器练习ACL,实验环境里全是虚拟设备,接口名、VLAN划分都和真机有出入,尤其服务器场景中,网卡绑定bond、虚拟交换机(如Open vSwitch)都会改写报文的源MAC或VLAN ID,导致ACL匹配不中,真机配置前,务必先display interface把所有物理口、子接口和bond逻辑口看清楚。

坑四:忘记保存配置
所有ACL规则配置完后,如果没执行save,设备重启后规则清空,安全策略形同虚设,华为设备上,save命令会弹出是否确认的提示,直接敲Y即可。
生产环境下的ACL实战建议
如果是新上架的华为服务器,建议在首次部署时就把ACL规则写好,别等出事故再补救,将规则命名规范化比如acl name Limit_MySQL_App,比干巴巴的数字编号好维护得多,查询时也能一眼看出用途。
如果你管理的华为服务器不止一台,可以考虑把ACL规则放在远程认证服务器的用户属性里,通过Radius下发,这样新服务器接入网络时能自动同步ACL,省去逐台手写命令的时间。
acl命令本身不难,难的是理解它的匹配逻辑和位置感知,先想清楚“要管住谁”,再写规则,最后挂载到正确的接口或服务上,并用display acl的计数验证,掌握这三点,华为服务器上的ACL命令就算真正入门了。
华为服务器命令acl什么意思:常见问题快答
华为服务器上执行acl命令后没效果,最大可能是什么?
规则没有挂载到具体接口,或者挂载了但方向搞反,数据流入接口就用inbound过滤,流出就用outbound,多数情况下,外部访问服务器属于入方向,应该绑定inbound。
基本ACL和高级ACL怎么选?
只限制源地址,选2000段基本ACL,命令行短、误配率低,需要同时限制目的端口或协议,必须用3000段高级ACL,比如限制外网对服务器3306端口的访问,只能用高级ACL写destination-port eq 3306。
华为服务器ACL规则里的通配符0.0.0.0是什么意思?
代表不检查任何位,等同于匹配所有IP,写rule deny ip source any和rule deny ip source 0.0.0.0 0.0.0.0效果一致,后者更常见于思科风格转过来的老运维,华为设备两者都支持。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/886605.html

