做网络设备运维这些年,华为USG防火墙的出镜率一直很高。不管是企业园区出口、分支机构边界,还是数据中心的业务区域,总能见到它的身影。而只要设备上了资产清单,就绕不开一个问题——查序列号。无论你是要做维保续期、提故障单、核验License授权,还是单纯盘库对账,第一件事都是把设备的SN准确拿到手。但在华为USG上,这个"SN"不叫SN,官方叫法是ESN(Equipment Serial Number),对应的命令也不是所有老司机都一次能摸对。后台经常有人问我:"我敲display sn怎么报错?""display version里怎么看不到序列号?"这篇文章就把华为USG防火墙查SN这件事彻底讲透,从命令本身到输出解读,再到实际使用场景和踩坑记录,一次说清。
先给结论:在华为USG防火墙(包括USG6000E、USG6000V、USG650E等主流型号)上,最直接、最靠谱的查序列号命令是display esn,其次是display device和display elog。我见过太多人一上来就敲display sn或者display serial-number,然后对着"Unrecognized command"发呆。原因很简单,华为VRP系统里,设备序列号的英文缩写是ESN,不是SN。搞清楚这一点,后面的操作就顺手多了。
1. 查SN之前,先搞清楚华为设备的"ESN"和"SN"到底是不是一回事
很多人以为SN就是设备侧面贴纸上那一串字符,拍照留存就完事了。实际上,贴纸上的序列号和系统读取到的ESN,绝大多数时候是一致的,但确实存在个别设备出现贴纸磨损、脱落、或者出厂信息录入与实际硬件不完全一致的情况。这时候,命令行查询就成了唯一可信的获取方式。华为USG防火墙的ESN,一般是一串以数字开头的21位字符,包含了生产工厂、设备型号、生产日期等编码信息,是全球唯一标识。
1.1 很多人开箱就拍照,但标签不一定可靠
我处理过一起维保纠纷,客户设备用了两年,厂商要求提供序列号才能续保,结果客户拿着机身标签上的号码去查,系统提示"序列号不存在"。后来通过命令行查出来的ESN跟标签差了三位。原因是这台设备出厂时做过返修,更换过硬件主板,新主板的ESN和外壳标签不一致。设备自己报出来的ESN才是真实身份,标签只是参考。从那以后我养成了一个习惯:新设备上架的第一天,就通过命令行把ESN查出来,登记进资产表,而不是抄标签。这是第一个为什么你要学会命令行查SN的原因。
1.2 华为设备的序列号规范
华为网络设备(交换、路由、安全)的ESN通常用display esn来查看,这在VRP平台上是一个通用命令,USG防火墙同样支持。但在不同产品形态下,输出格式和查看入口略有差异。USG硬件防火墙在命令行下能直接查到ESN,而USG6000V这类虚拟化防火墙,因为没有实体硬件,ESN的形态和绑定规则又不一样(下文会专门讲)。另外,华为还区分了"设备序列号"和"部件序列号",比如电源模块、风扇模块也有自己的SN,查整机SN和查部件SN用的命令也不一样。很多新人在排查硬件故障时,把整机ESN提供给厂商,结果对方要的是具体电源模块的SN,来回折腾。这些细节,本文都会逐一说明。
2. 查看SN的核心命令:display 系列命令逐个拆解
华为USG防火墙基于VRP平台,查看序列号主要靠以下几条命令。每一条的适用场景、输出重点、注意事项都不太一样。我按实际使用频率从高到低排列。
2.1 display esn:一步到位查设备序列号
这是最推荐的命令,没有之一。在任意视图下(用户视图或系统视图均可)执行:
display esn输出结果类似下面这样(实际以设备型号和软件版本为准):
ESN of device: 210235F3RTH10XXXXXXXXX一屏一眼,没有多余信息。这个ESN就是整机的序列号,提交维保、开Case、查授权都用它。为什么官方文档里总说"ESN"?因为华为设备序列号在内部系统里就叫 Equipment Serial Number,缩写就是ESN。你去华为企业业务Support网站查维保,输入框旁边标注的也是"ESN"。所以请记住:在华为设备上,ESN就是SN,别人问你要SN,你就执行 display esn。
需要注意一个坑:USG系列早期版本(比如旧款USG2000/5000系列运行的VRP V3R1版本)可能不支持display esn,或者输出格式不同。如果你执行后提示Error: Unrecognized command,别慌,用下面的display device或display elog兜底。
2.2 display device 和 display device elog:从设备状态里找SN
display device是一个更通用的命令,主要用于查看设备各硬件模块的工作状态,但输出里同样会带上序列号信息。执行:
display device输出类似:
USG6500E's Device status: Slot Sub Type Online Power Register Status Role 1 - USG6500E Present PowerOn Registered Normal Master但注意,这个输出里不一定直接显示SN字符串,部分版本需要配合display device elog才能看到完整的电子标签信息。所以更推荐这条:
display elogelog是 electronic log 的缩写,在华为设备里它保存了设备的电子标签信息。执行后输出会包含设备名称、型号、ESN、MAC地址、制造日期等,信息量比display esn大得多。比如:
Slot Sub ESN MAC Manufactured 1 - 210235F3RTH10XXXXXXXXX xxxx-xxxx-xxxx 2024-03-15如果你的设备支持display elog,我建议优先执行这条,因为它能一次性把设备底账信息全部捞出来,做资产登记最合适。但要注意,部分新版本VRP把display elog的输出做了精简,只显示在线单板的电子标签。如果想看所有单板信息,可能需要切换目录或加参数,具体以设备的?帮助为准。
2.3 display version、display license 的补充作用
display version通常被用来确认软件版本,但它输出的信息里不直接包含ESN。很多新人以为"版本信息里肯定有序列号",翻半天找不到,然后怀疑设备坏了。实际上,display version输出的是VRP版本、补丁信息、系统启动时间等,序列号不在其中。所以查SN别指望这条命令。
display license则用于查看设备的License授权信息。USG防火墙的很多功能(如SSL VPN并发数、IPS特征库升级等)都是靠License控制的,而License是和ESN绑定的。执行:
display license输出里的License SN或ESN字段,就是当前生效的授权所绑定的设备序列号。当你需要核对"当前授权是否匹配这台设备"时,这条命令比display esn更直观——因为即使你查到了ESN,License绑定的也可能是另一台设备的ESN,这种情况并不少见(尤其是设备返修更换主板后,原License可能失效)。
2.4 哪个命令最靠谱?我的建议
直接给一张对照表,方便各位按场景选择:
| 场景 | 推荐命令 | 原因 |
|---|---|---|
| 维保查询、申请Case | display esn | 输出干净,就是整机ESN |
| 资产盘点、登记底账 | display elog | 信息全,含MAC和制造日期 |
| 核对License绑定 | display license | 直接看授权和ESN的对应关系 |
| 旧版本兼容性不确定 | display device / display device elog | 兼容性最好,基本不会报错 |
| 确认整机运行状态后查SN | display device | 先看设备在位状态,再往下查 |
一句话总结:现代USG设备上,display esn优先;遇到命令不支持,就用display device或display elog兜底;涉及授权问题,display license一锤定音。
3. 实操全流程:从登录到拿到SN并完成维保查询
光知道命令还不够,真正工作场景里,你得先能登进设备,再顺利把命令执行完,最后把SN用起来。我按完整流程走一遍,把每一步的操作要点和易错点都标出来。
3.1 登录设备的两种常用方式
查序列号属于只读操作,理论上只需要一个能进入命令行界面的账号就行。但实际工作中,你可能会遇到 Console 口登录和 SSH 远程登录两条路径。
Console登录适用于新设备开局、网络中断、SSH配置错误等场景。用串口线连接电脑和设备的Console口,使用SecureCRT、Xshell或PuTTY等终端软件,波特率选9600(华为设备默认),数据位8、停止位1、无校验。连接后按回车出现<Huawei>提示符即登录成功。
SSH登录是日常最常用的方式。前提是设备已经配置了管理IP和SSH服务。登录命令很常规:
ssh admin@192.168.1.1很多老设备默认只开Console,第一次接触USG的朋友常常卡在"设备没有IP""SSH连不上"的问题上。这里提醒一下:查SN这种操作不需要特权级别,只要账号能进用户视图就行,所以不必纠结有没有enable权限。但部分低权限账号可能没有display命令的权限,具体看设备配置的级别控制(level 1用户通常能执行display命令)。
3.2 实际执行与输出解读
登录后,按照下面的顺序操作:
第一步,先确认设备型号和版本:
display version先摸清楚设备是什么型号、跑了什么版本,后面选命令才有底。比如输出里看到USG6500E、VRP (R) software, Version 5.160之类的内容,就说明这是一台新型号设备,执行display esn基本没问题。如果看到的是很老的V100R001版本,那就要有心理准备,直接试display elog或display device。
第二步,按顺序尝试三条命令,哪条能出结果用哪条:
display esn如果有输出,记录下ESN of device后面的完整字符串。字符串通常以版本号或工厂代码开头,长度21位。注意大小写和容易混淆的字符,尤其是0和O、1和I的区别。我在工单上就见过把字母O写成数字0的案例,导致序列号查无此机。
display elog如果上一条报错,执行这条。输出中找ESN字段,同样完整记录。
display device如果前两条都不行,执行这条。部分版本会直接输出SN列,部分版本需要再执行display device elog展开详情。这里有个小技巧:不确定命令具体参数时,在命令后面加?,系统会提示可选的补全内容。
第三步,核对License绑定(可选但建议):
display license如果设备是续保或扩容场景,还需要确认License绑定的ESN跟当前设备的ESN是否一致。这一步能提前发现"授权漂移"的隐患。
第四步,把查到的ESN去华为官方渠道核实。在华为企业业务Support页面找到"维保查询"入口,输入ESN查询。正常情况会返回设备型号、出厂日期、维保到期时间。如果查询无结果,第一反应别是"设备是水货",先回头核对ESN字符有没有抄错。
3.3 拿到ESN之后怎么用
查SN不只是"知道一下",它贯穿了设备全生命周期:
- 设备开局验收:新设备到货后第一时间记录ESN,对照合同和装箱单,确认发货运单号与设备一致。
- 维保续期:华为的维保是按设备ESN绑定的,续保时提供ESN即可。尤其是公司有多个区域的设备,一张Excel资产表里如果没有ESN列,后续续保绝对头疼。
- 故障报修:提工单时,华为400会让你提供ESN来核实设备是否在保。现场工程师到站后,也会用ESN确认设备身份。
- License申请:购买功能授权时,需要提供设备ESN生成License文件。License文件后缀通常包含ESN信息,拿到后能肉眼核对。
- 安全合规审计:等保、ISO审计时,防火墙的设备信息需要登记。序列号是资产台账里不可跳过的一栏。
4. 常见问题与排查技巧实录
这部分是我这些年处理过的真实问题合集,每个都有人踩过。整理成速查表放在前面,后面挑重点详细展开。
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 执行 display sn 报错 | 华为用ESN,不用SN | 改为 display esn |
| display esn 也不支持 | 设备版本过老 | 用 display elog 或 display device |
| ESN与机身标签不一致 | 设备换过主板或出厂录入误差 | 以系统显示为准,联系厂商核实 |
| SSH登录不了设备 | 管理口未配置或安全策略限制 | 用Console口登录查看 |
| 虚拟防火墙查不到SN | 无实体硬件 | 按云管理平台或License文件确认 |
| display license显示试用期 | License未激活或ESN绑定错误 | 核对ESN后重新导入License |
| 远程设备查询不便 | 设备无远程管理 | 用网管平台或批量采集工具 |
4.1 命令敲了没反应或提示错误
这是最常见的问题。大部分原因是把命令记成了display sn或者show serial(这是思科习惯,华为不认)。华为的命令体系里,查看序列号的动词是display,宾语是esn,杠精一点说就是"显示ESN",不是"显示SN"。第二个原因是设备确实太老,或者版本精简过。USG2000早期版本、部分运营商定制版本,命令集被裁剪过,display esn可能不在其中。这时候用display device来替代,虽然输出看起来"不专业",但也能拿到序列号。
另外,新手经常忽略一个操作:命令支持缩写,比如display esn可以写成dis esn,display device可以写成dis dev。但缩写有两个风险:一是容易跟其他命令冲突(比如dis d可能是多个命令的前缀),二是在自动化脚本里可读性差。我的建议是,手敲时随意,写文档和脚本时一定用全称。
4.2 ESN和机身标签不一致
这个问题我在1.1里提过。遇到这个情况,不要急着质疑设备来源,先冷静做两步:第一步,确认你执行命令的这台设备确实是物理标签对应的那一台——多台设备堆叠或集中管理时,登录设备A却跑到设备B上执行命令是最常见的乌龙。第二步,如果确认无操作失误,以命令行的ESN为准,截屏留存,然后联系设备供应商或华为400,让他们在后台核实这台设备的出厂记录。这种情况多见于返修机、翻新机、或者资产交接时贴错了标签。千万别把"标签上的SN"报给厂商,否则查不到维保时长,吃亏的还是自己。
4.3 虚拟防火墙、云防火墙查不了SN怎么办
现在上云和虚拟化越来越普遍,很多单位开始用USG6000V、vUSG这类虚拟防火墙。它们没有实体盒子,自然也没有机身标签,执行display esn也不是不行,但得到的ESN往往是基于虚拟机的CPU、内存等信息生成的一串软序列号,形态和物理机的ESN不太一样。这种软ESN同样用于License绑定,但如果你把这个ESN拿到华为官网按硬件维保查询,可能查不到有效维保记录——因为虚拟防火墙的授权模式是订阅式,跟硬件维保不是一套系统。
碰到虚拟防火墙,别执着于"查SN",换个思路:
- 在华为云管理平台或控制器上查看虚拟设备的资产信息。
- 查看License文件或授权邮件里的ESN字段。
- 如果虚拟设备是从模板克隆出来的,注意多个实例可能共享同一份ESN配置,需要手动修改确保唯一性。
4.4 被防火墙安全策略挡住SSH怎么办
这个问题很尴尬——你要查防火墙信息,结果防火墙自身的安全策略把管理员的SSH限死了。比如你在办公网想SSH到防火墙管理口,结果安全策略只放行了特定源IP,而你的电脑IP不在范围内。这种情况下的排查思路:
- 先确认你访问的是管理口(MEth0/0或GigabitEthernet0/0/0),不是业务口。
- 用Console口登录,在系统视图下执行
display acl或display security-policy查看管理来源限制。 - 评估是否需要临时加一条放行策略,或者把自己电脑的IP加入管理白名单。
- 如果设备允许多管理员在线,Web界面也可以用——USG的Web管理界面(https://管理IP)里,在"系统"->"管理员"或"设备信息"页面也能看到序列号。
4.5 设备过了保,怎么用ESN核对维保期限
很多单位的设备没有集中管理平台,维保到期预警全靠Excel。但Excel里的数据来源五花八门,有的是抄标签,有的是供应商给的,有的是上一个人留在交接文档里的。当我需要确认某台USG的真实维保状态时,我的做法是:
- 执行
display esn,拿到最准确的ESN。 - 登录华为企业业务Support,在"维保查询"输入ESN。
- 把查询结果里的"服务起始日期"和"服务截止日期"跟资产表比对,发现不一致就更新。
这一步看着简单,但能救命的场景是:供应商给你报的维保价格,是拿另一台设备的"高剩余价值"骗你续费的。用ESN现场核对,一查一个准。
5. 一点个人的实操心得
设备运维这个行当,很多时候拼的不是高深技术,而是细节。查序列号这种操作,门槛极低,但影响极大。我梳理一下自己的习惯:
新设备到货,开箱验货后立刻用Console登录,执行display esn和display elog,把ESN、MAC、版本、出厂日期一条龙记录到资产台账,然后把命令输出截图存档。这个动作看起来多花了5分钟,实际上后面每一次续保、报修、盘点都会因为这5分钟变得极其顺畅。
远程维护的时候,我一般会优先通过SSH执行display esn,因为它的输出最简单,最不容易在复制粘贴的过程中出错。如果需要抓取更多底账信息,再执行display elog。面对老设备、定制版本,我会做好备用方案的切换,不会死磕单条命令。
最后再说一个小技巧:如果你管理的USG设备数量比较多,一台台登录查SN太痛苦。可以考虑用Python的Paramiko库或者netmiko写个简单脚本,批量登录设备执行display esn,把结果汇总到CSV文件里。注意脚本要处理好设备登录时的交互提示以及命令回显的编码问题,更重要的是,别在脚本里明文保存密码,建议用环境变量或加密的配置文件。这些后续可以单独写一篇展开,但今天的重点还是那句话——华为USG防火墙查SN,记住display esn,就成功了一大半。