很多人学华为HCIA是抱着题库背的,但到了自己搭实验的时候,连一条命令都敲不利索。我见过不止一个考完HCIA的同学,在eNSP里配DHCP,敲完接口地址就往下一个配置走,结果PC拿不到地址,最后发现dhcp enable这个全局开关压根没敲。华为HCIA配置命令这套东西,看着是几十条命令的组合,本质上是VRP系统的视图逻辑、协议行为和排错思路的组合。这篇就按我实际学习和带新员工讲数通的经验,把这些命令怎么用、为什么这么用、配完不生效怎么查,一次说透。适合准备HCIA-Datacom考试(笔试代码H12-811)、刚入门数通想动手做实验、以及需要日常维护华为交换机和路由器的朋友。
1. 从VRP视图层级说起:HCIA命令学习的底层逻辑
1.1 多级视图:提示符决定了你能敲什么
华为数通设备跑的是VRP(Versatile Routing Platform)操作系统,上手第一件事不是背命令,而是搞懂视图层级。设备提示符会直接告诉你当前处在哪个视图:
<Huawei>:用户视图,只能做查看、保存、重启这类操作,不能改配置。[Huawei]:系统视图,改设备名、创建VLAN、进接口、配路由协议,都从这层进入。[Huawei-GigabitEthernet0/0/1]:接口视图,配置IP地址、端口链路类型、DHCP等。[Huawei-Vlanif10]:VLANIF接口视图,给三层VLAN接口配地址。[Huawei-ospf-1]、[Huawei-ospf-1-area-0.0.0.0]:协议视图,跑OSPF时会用到。
新手最常见的报错有两种:一种是在用户视图下直接敲配置命令,设备回一句Unrecognized command found at '^' position.;另一种是进了系统视图后忘了进接口,把本该在接口下的命令直接敲在[Huawei]下,然后疑惑“为什么命令没生效”。
理解了视图层级,很多命令就顺了:配置类命令必须到对应视图,display命令基本任何视图都能查。我刚带新人时,会让他们先练一个动作:在设备上用Tab键补全命令,观察提示符变化。这个习惯能避免至少一半的低级错误。
1.2 命令补全与undo:理解“缩写”和“回退”
华为VRP支持命令缩写,缩短到能唯一识别即可。比如:
system-view可以敲sysinterface GigabitEthernet0/0/1可以敲int g0/0/1display current-configuration可以敲dis cur
缩写看着方便,但有个风险:不同版本VRP对缩写的解析不完全一致。我建议考试和实验阶段用全称或常见缩写,别追求“最短”。比如display缩到di也是能识别的,但很多设备的旧版本会报错,老老实实敲dis就够用了。
命令配错了怎么回退?VRP里统一用undo加原命令。想删掉接口IP就undo ip address,想改回动态获取就undo dhcp select,想删掉某条静态路由就undo ip route-static 0.0.0.0 0 192.168.1.254。这个规律比背每一条删除命令高效得多。
还有一个好习惯:不确定命令怎么写时,用?帮助。在系统视图下敲vlan ?,设备会把可跟的参数列出来。这个技巧看上去很基础,但很多人真到了设备上就只顾着敲,完全忘了用。
1.3 HCIA-Datacom考试到底考命令吗
先说结论:HCIA-Datacom笔试主要是选择题、判断题和拖拽题,不要求你现场敲命令,但题干里会出现大量配置片段和display输出,让你判断故障原因或选择正确配置。也就是说,你不光要认识命令,还要能读懂命令带来的结果。
举个典型场景:题目给出某交换机配置了port link-type trunk和port trunk allow-pass vlan 10 20,然后问PC在VLAN10里为什么ping不通对端。如果你不理解Trunk口对VLAN的放行逻辑,很容易被选项带偏。所以我的建议是:别为了题库而题库,每做完一组题,就去eNSP把对应配置敲一遍、抓一遍现象。命令敲熟了,做题是降维打击。
2. 开局第一组命令:eNSP环境与设备初始化配置
2.1 eNSP装好后设备拉不起来,先查VirtualBox
很多人在eNSP里启动AR路由器时遇到“错误40”“启动失败”,第一反应是重装eNSP,其实大概率是VirtualBox版本和eNSP不兼容。eNSP自带的是定制版VirtualBox,如果你电脑上装了新版VirtualBox,AR设备经常起不来。
常规解法是把VirtualBox彻底卸载,再装eNSP安装包里捆绑的版本。另一个常见坑是安装路径有中文或空格,导致底层虚拟化组件找不到文件。Windows防火墙也会拦设备间的通信,装完最好把eNSP加入防火墙白名单。AR设备起来后如果端口状态一直down,检查CPU虚拟化是否开启,有些笔记本要在BIOS里开Intel VT-x。
2.2 一套完整的开局初始化模板
设备能起来之后,我习惯先做一套“开局三连”:改设备名、配console密码、配一个管理接口地址。下面这段是可以在eNSP里直接复现的模板:
<Huawei> system-view [Huawei] sysname SW1 [SW1] user-interface console 0 [SW1-ui-console0] authentication-mode password [SW1-ui-console0] set authentication password cipher Huawei@123 [SW1-ui-console0] idle-timeout 10 0 [SW1-ui-console0] quit [SW1] interface GigabitEthernet0/0/1 [SW1-GigabitEthernet0/0/1] ip address 192.168.1.1 24 [SW1-GigabitEthernet0/0/1] undo shutdown [SW1-GigabitEthernet0/0/1] quit [SW1] quit <SW1> save逐条解释一下:
sysname SW1:给设备命名,后续配置里提示符会变成[SW1],日志也会带设备名,多设备实验时好区分。user-interface console 0:进入console用户界面。authentication-mode password是把console认证方式设为密码认证。这里有个细节:idle-timeout 10 0的意思是10分钟无操作自动断开,实际干活时能避免“人走了、配置口还挂着”的安全隐患。interface GigabitEthernet0/0/1:进入物理接口。华为接口编号是“槽位/板卡/端口”格式,eNSP里通常从0/0/1开始。undo shutdown:华为接口默认开启(shutdown状态是关闭),这条是保险动作,防止某些场景下接口被手动关掉后忘了打开。
最后一步save是关键,新人在实验环境里不保存,重启完配置全没了,还以为是设备坏了。
2.3 save这一步,我见过太多人漏掉
save命令在用户视图下敲,设备会提示Are you sure to save the configuration file to flash?,输入y回车。配置默认保存为vrpcfg.zip,这就是下次启动要加载的配置文件。
有一个细节很多人不知道:save前最好先确认配置确实是你想要的。用display current-configuration看一遍,确认无误再保存。我见过有同事把实验环境里一堆临时配置原封不动带到了生产设备,然后远程改配置时整个网络跳闸。保存配置不是目的,保存一份干净、可回溯的配置才是。
检查配置可以分段看,不用从头翻到尾:
display current-configuration configuration vlan:只看VLAN相关。display current-configuration interface GigabitEthernet0/0/1:只看某个接口的配置。display ip interface brief:一眼扫完所有三层接口状态和IP。
eNSP里还有个习惯:做完一组实验就save、关掉设备重新启动验证配置是否持久化。这能帮你提前发现“漏保存”的坑,比在真机上踩一次划算多了。
3. 交换方向高频命令拆解:VLAN、VLANIF与DHCP
3.1 VLAN与Trunk:先搞懂端口的三种链路类型
HCIA交换部分绕不开VLAN。创建VLAN用vlan batch,一次建多个:
[SW1] vlan batch 10 20接入PC的口划入VLAN,用access类型:
[SW1] interface GigabitEthernet0/0/1 [SW1-GigabitEthernet0/0/1] port link-type access [SW1-GigabitEthernet0/0/1] port default vlan 10交换机互联的口要放行多个VLAN,用trunk:
[SW1] interface GigabitEthernet0/0/2 [SW1-GigabitEthernet0/0/2] port link-type trunk [SW1-GigabitEthernet0/0/2] port trunk allow-pass vlan 10 20华为交换机的端口默认链路类型是hybrid,不是access,这和思科的习惯不一样。HCIA阶段建议先把access和trunk吃透,hybrid理解原理即可。
Trunk口有个隐藏知识点:PVID(Port VLAN ID)。默认PVID是1,不带标签进入trunk口的流量会被打上VLAN1的标签。如果两台交换机互联,一边是trunk放行了VLAN10和20,另一边忘了放行,就会出现“直连但VLAN内不通”的现象。排查时用display port vlan看端口实际放行的VLAN列表,比靠记忆靠谱。
3.2 VLANIF:让不同VLAN通信的“网关”
二层VLAN隔离广播域,但PC之间要跨VLAN通信,就必须有三层网关。华为设备上这个网关就是VLANIF接口:
[SW1] interface Vlanif10 [SW1-Vlanif10] ip address 192.168.10.254 24 [SW1] interface Vlanif20 [SW1-Vlanif20] ip address 192.168.20.254 24配置很简单,但有三个前置条件:
- VLAN10必须已经创建。
- VLAN10内至少有一个物理接口是UP状态。
- PC的网关地址要和VLANIF地址在同一网段。
第2条容易被忽略。VLANIF接口是否UP,取决于VLAN内有没有UP的物理口。如果你建了VLANIF但里面没接任何接口,display ip interface brief会看到这个VLANIF是down的,路由表里也不会出现直连路由。很多新手问“我明明配了IP为什么ping不通”,九成是这个问题。
3.3 DHCP的三种部署形态:接口池、全局池和中继
DHCP在HCIA里考得细,配置也不难,但坑很多。
接口地址池的典型配置:
[SW1] dhcp enable [SW1] interface Vlanif10 [SW1-Vlanif10] ip address 192.168.10.254 24 [SW1-Vlanif10] dhcp select interface [SW1-Vlanif10] dhcp server dns-list 114.114.114.114全局地址池的典型配置:
[SW1] dhcp enable [SW1] ip pool vlan10 [SW1-ip-pool-vlan10] network 192.168.10.0 mask 255.255.255.0 [SW1-ip-pool-vlan10] gateway-list 192.168.10.254 [SW1-ip-pool-vlan10] dns-list 114.114.114.114 [SW1] interface Vlanif10 [SW1-Vlanif10] dhcp select global两者区别在于:接口池自动继承接口所在网段,适合单网段小规模;全局池灵活,能指定网段和网关,适合多个网段共用一个DHCP服务。生产上全局池用得多一些。
DHCP中继是另一个高频考点。场景是PC和DHCP服务器不在同一个网段,三层设备要把广播的DHCP请求转成单播转给服务器:
[SW1] interface Vlanif10 [SW1-Vlanif10] dhcp select relay [SW1-Vlanif10] dhcp relay server-ip 192.168.200.10中继最关键的要求是:配置中继的接口必须是PC所在网段的网关接口,也就是VLANIF10的IP必须是PC的网关。同时设备要能路由到DHCP服务器,否则中继报文发不出去。
我踩过的一个坑是:全局dhcp enable忘开。接口地址池和全局地址池都依赖这个总开关,忘了开就会看到PC一直“获取中”。另外排查时用display dhcp server statistics看服务器有没有收到DISCOVER报文,就知道是报文没到还是地址池分配失败。
3.4 IP+MAC绑定与DHCP Snooping:HCIA里被低估的安全命令
热词里能看到“交换机IP绑定mac及端口命令”,说明不少人在搜这个。HCIA考试对安全的比重不大,但实际组网中非常实用。在接入交换机接口下做静态绑定:
[SW1] interface GigabitEthernet0/0/1 [SW1-GigabitEthernet0/0/1] user-bind static ip-address 192.168.10.10 mac-address 5489-98b1-2c4d作用是:这个IP+MAC组合只允许从该端口接入,源地址不匹配的报文会被丢弃。适合用于防私接路由器、防IP冲突。
更进阶一点是DHCP Snooping。配置分两步:
[SW1] dhcp snooping enable [SW1] interface GigabitEthernet0/0/1 [SW1-GigabitEthernet0/0/1] dhcp snooping enable [SW1] interface GigabitEthernet0/0/2 [SW1-GigabitEthernet0/0/2] dhcp snooping trusted所有接入PC的口启用DHCP Snooping,并保持默认untrusted状态;上联DHCP服务器的口要设成trusted,否则正常的DHCP回应报文也会被过滤掉。这两个方向搞反了,轻则PC拿不到地址,重则合法DHCP回应被误杀。HCIA题目里特别喜欢在这种“信任/不信任”上做文章。
4. 路由与远程管理:静态路由、SSH和SNMP的典型配置
4.1 静态路由与缺省路由:下一跳和出接口怎么选
静态路由是HCIA路由部分的地基。命令格式:
[R1] ip route-static 192.168.20.0 24 192.168.1.254 [R1] ip route-static 0.0.0.0 0 192.168.1.254第一条是去往192.168.20.0/24网段,下一跳是192.168.1.254。第二条是缺省路由,所有明细路由匹配不到时走它,通常配在出口设备上。
一个容易被新手纠结的问题:下一跳地址和出接口怎么选?以太网链路强烈建议写下一跳地址,不要写出接口。因为以太网是广播链路,写出接口时设备往下扔报文前要先解析下一跳MAC,还不如直接告诉它“找谁”。如果是串口这类点对点链路,写出接口没问题,HCIA实验里偶尔能见到。
静态路由还有一个“备份路由”玩法:用preference调整优先级,产生浮动静态路由。
[R1] ip route-static 192.168.20.0 24 192.168.1.254 [R1] ip route-static 192.168.20.0 24 192.168.2.254 preference 80两条路由同时存在,默认优先级60的先走,第一条断了再启用80的那条。不过HCIA笔试对preference考察不深,知道这个机制即可。
配完路由一定要看display ip routing-table,确认路由进了表、下一跳正确。很多人写完ip route-static就以为通了,其实可能远程直连网段本身就是可达的,静态路由压根没生效,只是被直连路由“接住”了。
4.2 SSH远程登录:一套最小配置坑最少
现在网络设备基本不开放Telnet,SSH是标配。华为设备配置SSH时,最经典的一套命令是:
[R1] rsa local-key-pair create [R1] stelnet server enable [R1] user-interface vty 0 4 [R1-ui-vty0-4] protocol inbound ssh [R1-ui-vty0-4] authentication-mode aaa [R1-ui-vty0-4] quit [R1] aaa [R1-aaa] local-user admin password cipher Huawei@123 [R1-aaa] local-user admin privilege level 15 [R1-aaa] local-user admin service-type ssh每一步都有对应的坑:
rsa local-key-pair create会交互式让输入密钥长度,用默认值即可。有些人跳过了这步,SSH服务根本起不来。stelnet server enable是开启设备的SSH服务端功能,忘了开,客户端连的时候直接拒绝。protocol inbound ssh把VTY的接入协议限制为SSH,如果忘了配,VTY默认是Telnet协议,会被连不上。local-user ... service-type ssh这行也必须配,否则用户没有被授权通过SSH登录。
排查SSH时,用display ssh server status看服务状态,用display current-configuration configuration user-interface看VTY配置。热词里有人搜“华为s5720怎么改密码本地登录”,其实就是AAA视图里给用户重新设置密码:
[R1] aaa [R1-aaa] local-user admin password cipher New@123改完最好用另一个终端重新登录验证,不要把自己锁在外面。
4.3 SNMP网管接入与本地用户密码管理
机房规模一上去,逐台SSH登录看状态不现实,SNMP就派上用场了。HCIA不深入讲SNMP报文细节,但配置要会。基于v2c的简单配置:
[R1] snmp-agent [R1] snmp-agent sys-info version v2c [R1] snmp-agent community read cipher public123 [R1] snmp-agent community write cipher private123read团体字只允许读,write允许网管侧做配置下发。生产环境里用v2c的community相当于“明文口令”,安全性其实挺差的。新一代设备建议用v3:
[R1] snmp-agent sys-info version v3 [R1] snmp-agent group v3 grp1 privacy [R1] snmp-agent usm-user v3 admin group grp1 [R1] snmp-agent usm-user v3 admin authentication-mode sha cipher Admin@123 [R1] snmp-agent usm-user v3 admin privacy-mode aes128 cipher Admin@123v3的配置看着长,核心就两步:建组、建用户。认证和加密的密码别用同一个,虽然能同,但不建议。
如果你只想快速连通网管平台,v2c能跑通就行;如果网管是生产环境且有安全要求,别偷懒,配v3。
5. 配置不生效后的排查链路:从物理状态到协议状态
5.1 用display命令自检:先看状态再看配置
我排障的顺序基本是固定的:先判断“设备知不知道自己有这条链路”,再看“配置到底变成什么样了”,最后才怀疑协议和数据面。下面这几个display命令是排查时的主力:
| 命令 | 用途 |
|---|---|
display interface brief | 看所有物理接口的物理状态和协议状态 |
display ip interface brief | 看三层接口的IP和UP/DOWN状态 |
display vlan | 看VLAN是否存在,包含哪些端口 |
display port vlan | 看端口的链路类型、PVID、放行VLAN |
display ip routing-table | 看路由表,确认静态路由/直连路由是否生效 |
display dhcp server statistics | 看DHCP报文收发包统计 |
display arp | 看ARP表,确认网关MAC是否学到 |
display current-configuration | 看生效配置 |
一个容易被忽略的点:display current-configuration看到的是配置文件内容,理论上和运行配置一致,但如果有人用了undo又没保存,显示的结果可能和你“印象里的配置”不一样。所以排查时直接看display输出,不要靠记忆。
5.2 三个高频翻车现场:VLAN、DHCP、SSH
第一个是VLAN间ping不通。我会按下面这个链路查:
- 两台PC所在VLAN是否正确?用
display vlan查。 - 交换机互联口是否放行了对应VLAN?用
display port vlan查。 - VLANIF接口是否UP且有IP?用
display ip interface brief查。 - PC的网关是否指向VLANIF地址?这个在eNSP里查PC配置。
这四步走完,九成问题能定位。我见过最诡异的一次是:VLANIF配好了、物理口也UP了,PC死活ping不通网关,最后发现是PC的IP跟网关写反了。
第二个是DHCP拿不到地址。先看PC有没有发DISCOVER,再看服务器有没有回OFFER,最后看接口的dhcp select是interface还是global。之前说的dhcp enable全局开关,是第一道排查点。如果服务器统计里能看到接收DISCOVER,但没发出OFFER,八成是地址池网段和接口网段不匹配。
第三个是SSH连不上。排查顺序:IP能不能通(ping)→ 端口通不通(display tcp status)→ SSH服务有没有开(display ssh server status)→ VTY协议是不是inbound ssh → AAA用户service-type对不对。这一步一步筛下来,基本不会懵。
5.3 方向写反、协议没开:最常见的两类根因
排障排到最后,发现大部分问题可以归成两类。
一类是方向写反。典型的是ACL应用在接口上时,把inbound和outbound搞混。从路由器来看,“inbound”是流量进接口的方向,“outbound”是流量从接口出去的方向。HCIA里ACL题目爱考这个,实际排障里也经常因为方向反了导致“放行变成阻断”。
另一类是全局协议没开。DHCP的dhcp enable、OSPF下发默认路由时的default-route-advertise、SSH的stelnet server enable,都是全局开关。人往往盯着局部配置看,忽略这些一个单词就能解决的问题。
我个人的排查习惯是:先看全局开关,再看接口配置,最后看数据面。用这个顺序处理过很多“配置不生效”的问题,虽然不是银弹,但能让你在设备前不乱。
6. 密码找回、恢复出厂与跨厂商命令迁移
6.1 本地登录密码修改与console密码找回
运维场景里,密码管理是个永恒话题。正常修改本地用户密码,AAA视图下操作即可,前面已经写过。如果密码彻底忘了,常见的恢复路径是:通过console口登录设备(前提是console密码记得),登录后进AAA把远程管理密码改掉。这就是为什么机房新设备上架时,第一个要改的一定是console密码,而且最好单独记一份,别和远程管理密码混用。
如果console密码也忘了,常规做法是重启设备,在BootROM引导阶段按Ctrl+B进入启动菜单,选择清空console密码的选项。不同设备、不同VRP版本的菜单文字有差异,但路径基本一致。需要明确的是:这种操作只适用于你拥有的合法设备维护场景,而且不同型号的恢复细节差异很大,操作前务必查对应产品的维护文档。
改完密码别急着重启,先save保存。否则重启后密码还是会从旧配置里加载回来,等于白改。这个坑我亲眼见过同事踩过,他在设备上改完密码没保存,高高兴兴下班,第二天登录时密码还是旧的。
6.2 恢复出厂配置和erase flash的边界
恢复出厂配置的命令很短:
<Huawei> reset saved-configuration <Huawei> rebootreset saved-configuration删除下一次启动加载的配置文件,重启后设备就是出厂初始状态。执行前设备会问你是否确认,默认选N。注意这个操作不会影响当前正在运行的配置,所以“执行完就想立刻恢复出厂”是不对的,必须配合重启。
热词里有“华为交换机erase flash”,这是更底层的Flash操作。erase flash会清空Flash中的文件,包括系统软件。误操作后设备可能直接无法启动,只能通过console口重新上传系统文件。这条命令在生产环境少碰,甚至能不碰就不碰。真要清空配置,reset saved-configuration足够。即使要处理Flash文件,也先用dir看看Flash里有哪些文件,备份好关键内容,再考虑delete /unreserved这类操作。
6.3 从华为VRP到H3C、中兴、迈普:命令不一样,思路相通
很多运维日常是“多厂商混着管”,今天配华为,明天可能就是华三、中兴、迈普。不同厂商命令确实不一样:
| 操作 | 华为VRP | H3C/Comware | 备注 |
|---|---|---|---|
| 进入系统视图 | system-view | system-view | 基本一致 |
| 查看配置 | display current-configuration | display current-configuration | 基本一致 |
| 接口命名 | GigabitEthernet0/0/1 | GigabitEthernet1/0/1 | 槽位编号规则不同 |
| 三层VLAN接口 | interface Vlanif10 | interface Vlan-interface10 | 名称不同 |
| 静态路由 | ip route-static | ip route-static | 一致 |
华三和华为的VRP系出同源概念,很多操作逻辑能直接平移,但要小心接口编号和部分关键字差异。中兴、迈普的体系则更接近传统电信设备风格,命令风格差异更大,但排错思路没变:先看状态、再看协议邻居、最后看数据面。
我的建议是:不要试图把所有厂商的命令都背下来。把华为这套VRP逻辑学扎实,遇到新厂商时,靠?帮助和手册快速翻,比死记硬背实用得多。厂商的命令集是“表”,网络原理才是“里”。
最后分享一个我上岗头半年养成的习惯:每次配置完,不管是在eNSP还是真机,必做三件事——save保存配置、把配置文件备份到本地、在变更记录里写清楚“改了什么、为什么改、影响范围是什么”。这个习惯救过我很多次。HCIA考的是命令,但实际工作中真正值钱的是这份“配置前想清楚、配置后能回溯”的意识。从你在eNSP里敲下第一条命令开始,就把它当成生产环境来对待,你会比同龄人更快适应真正的网络运维。