简介:基于华为 ENSP 的完整实验手册,适合网络初学者、备考华为 HCIA/HCIP 认证或正在做实验练习的工程师。手册按实验模块组织,系统梳理了从交换机基本配置、VLAN 划分与 VLAN 间通信、RSTP 优化,到静态路由、RIP、OSPF 多区/虚连接等进阶路由实验的配置要求与拓扑要点;OSPF 部分还涉及区域划分、路由聚合、STUB、NSSA、重分布与验证。资源仅含 1 个 PDF 文件,压缩包大小 2.51MB,目录层级清晰,便于按需查阅和对照练习。目前已有 1408 人浏览下载。内容还覆盖 VRRP、DHCP、NAT、ACL、链路聚合、DHCP Snooping 与地址绑定等常用功能实验;每个实验都包含拓扑图、配置要求与验证思路,能帮助读者快速掌握华为设备的操作逻辑、命令组织方式与排错方法,为真实网络部署打下扎实基础。无论是日常作业、竞赛准备还是项目交付,都能从中获得可复用的配置思路和排错参考。
1. 华为ENSP网络实验到底在解决什么问题
去年帮一个备考HCIA的朋友搭环境,他照着视频装了三遍,AR路由器启动还是显示40,设备图标一直是黑的。后来才发现不是他操作问题,是VirtualBox版本跟ENSP自带的组件打架。类似的事几乎每个刚接触华为ENSP网络实验的人都会遇到一遍——这套官方模拟器最大的门槛从来不是协议配置,而是环境起不来。ENSP(Enterprise Network Simulation Platform)用虚拟机跑真实VRP系统镜像,让你不摸真机也能练VLAN、路由、ACL、防火墙、WLAN这些配置,备考华为认证、准备ICT大赛网络赛道,或者在公司没真机时做方案验证,靠它都够用。这篇文章只讲一件事:从安装到跑通实验、再到踩坑排查的完整路径,按这个顺序做,能省掉大量试错时间。
2. 装对ENSP:依赖环境与开局四件事
2.1 先理清三个依赖,再动安装包
ENSP不是单机软件,它底层靠VirtualBox在电脑上跑设备镜像,抓包要靠WinPcap或Npcap,分析报文靠Wireshark。这三个组件跟ENSP的版本关系非常敏感,尤其是VirtualBox。很多人在官网下最新版VirtualBox装了,结果AR路由器起不来,就是这个原因。
| 依赖组件 | 作用 | 常见问题 |
|---|---|---|
| VirtualBox | 提供虚拟机环境运行VRP设备镜像 | 版本过高或过低都会导致AR路由器和交换机无法启动,设备显示40 |
| WinPcap / Npcap | 提供底层抓包库,让ENSP能捕获报文 | 装了Npcap后部分电脑云彩ping不通,建议装WinPcap 4.1.3 |
| Wireshark | 抓包解码,配合ENSP查看报文细节 | Wireshark版本太新可能与旧版ENSP联动失败,打不开抓包结果 |
我的做法是:安装ENSP时直接用安装包自带的VirtualBox组件,而不是单独去官网装最新版。ENSP的V100R003C00SPC100这个版本在论坛里被讨论最多,稳定性也经过大量验证,配套的VirtualBox是5.2.x系列。你在官网下载ENSP时留意版本说明,别看到新版本就往上冲,新版本不一定比老版本省心。
环境检查还有个容易被忽略的点:虚拟化开关。Windows功能里的“虚拟机平台”和“Hyper-V”开启时,会和VirtualBox抢虚拟化资源,导致设备启动失败。先确认BIOS里的VT-x开启,再到Windows功能里看Hyper-V状态。
2.2 安装顺序有讲究,启动报错先查这里
正确顺序是:先装VirtualBox,再装WinPcap,再装Wireshark,最后装ENSP。路径不要带中文和括号,否则某些版本会出奇怪问题。
用系统命令确认Hyper-V状态:
# 查看系统虚拟化状态,输出里能看到Hyper-V要求或虚拟化固件已启用 systeminfo | findstr /i "Hyper-V 虚拟化" # 如果确认开了Hyper-V,管理员身份打开CMD,关闭hypervisor启动,执行完重启 bcdedit /set hypervisorlaunchtype off第一行命令用来判断你的电脑是不是开了Hyper-V。如果你平时用WSL2或Docker Desktop,很可能是开着的,这就是ENSP设备启动失败的隐形杀手。第二行命令关闭hypervisor自动启动,改完必须重启生效。注意:关掉Hyper-V后WSL2可能起不来,这是一个取舍,如果日常依赖WSL2,建议改用VMware Workstation配合ENSP Pro,而不是硬关Hyper-V。
ENSP安装完成后第一次启动,在菜单“工具—选项”里检查VirtualBox路径是否指向正确。如果提示没有注册,到VirtualBox安装目录手动运行注册命令,然后重启ENSP。这一步很多人没做,结果设备一直启动不了。
2.3 开局第一件事:动设备前先改掉这三个默认习惯
第一个习惯:及时清屏。命令行窗口消息多了以后,不要一条条敲clear screen,直接在窗口右键选“清空命令行窗口”,一键解决。ENSP的窗口操作跟真实设备的串口终端不完全一样,右键菜单里很多功能能省时间。
第二个习惯:关闭日志刷屏。设备启动后先敲一条命令:
undo terminal monitor这条命令关闭终端监控,否则路由协议抖动或接口up/down的日志会不断打断你输入配置。真实设备上我也会这样干,但注意排障时需要重新开启用terminal monitor。
第三个习惯:每个实验做完先save再关拓扑。ENSP的拓扑文件只保存设备之间的连线关系,不保存设备里已经敲进去的配置。没save就关设备,下次打开就是一台空设备。另外,实验文档里常会让你配console密码,配完新开窗口就进不去,这时最大的后悔药是右键设备选“停止”再“启动”,但这会把设备里的所有配置也清掉。所以我的习惯是配密码前先save,万一密码丢了还能恢复。
3. 跑通二层到三层:VLAN、Trunk与VLANIF网关
3.1 在华为三层交换机上划VLAN
实验文档里最常见的开局是:一台S5700交换机,接两台PC,要求PC1在VLAN10,PC2在VLAN20,二层隔离。S5700是华为三层交换机,支持VLANIF接口,这个型号在ENSP里也是最常用的。
拖一台S5700,两台PC,连线后启动设备。PC的IP先不用配,等VLAN起来再说。交换机配置如下:
system-view sysname SW1 vlan batch 10 20 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 interface GigabitEthernet0/0/2 port link-type access port default vlan 20逐条说:vlan batch 10 20 一条命令同时创建两个VLAN,比分别创建快得多;port link-type access把接口设为access模式,接终端设备(PC、打印机)必须用这个模式;port default vlan 10把接口划进指定VLAN。
配置完用display vlan验证,能看到VLAN10和VLAN20都存在,且GE0/0/1归属VLAN10。这时候PC1和PC2之间是ping不通的,这是预期的,不是配置错了。二层隔离生效了,但三层还没通,后面配完VLANIF才能互相访问。
很多新手在这里犯糊涂:access口和trunk口都是干什么的?简单记法:access口接终端,trunk口接交换机或路由器。接口模式选错是VLAN实验里第一个常见翻车点。
3.2 跨交换机跑Trunk中继
两台S5700互连,一台接PC1(VLAN10),另一台接PC2(VLAN20),要求两台PC互通。这里的关键是两台交换机之间的链路必须用Trunk模式,并且放行VLAN10和VLAN20。
在两台交换机上都要配置:
interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20注意:只设link-type trunk是不够的,必须配allow-pass。华为设备的Trunk接口默认只放行VLAN1,不放行你新建的VLAN10和20。帧到达Trunk链路后,会被交换机丢弃,表现为PC之间ping不通。
还有一个容易混淆的参数是port trunk pvid vlan。pvid是缺省VLAN,用于处理不带VLAN标签的帧,allow-pass管的是放行列表,两者职责完全不同。我见过有人把pvid当成放行来用,结果VLAN10的帧全部以untagged方式在链路上跑,到对端后归属错乱。
Trunk链路配置完,用display port vlan查看接口的放行状态,确认VLAN10和20都在PVID列或VLAN Passing列里。这一步虽然简单,但对新手来说比配置本身更容易出错。
3.3 用VLANIF把三层网关做出来
PC跨网段通信需要网关,华为三层交换机的网关就是VLANIF接口。S5700作为三层交换机,支持直接创建VLANIF接口并配置IP地址。
在两台交换机上分别配置:
interface Vlanif10 ip address 192.168.10.1 255.255.255.0 interface Vlanif20 ip address 192.168.20.1 255.255.255.0VLANIF10的IP就是VLAN10内PC的网关,VLANIF20同理。PC配置完IP和网关后,PC1能ping通PC2,数据走的是交换机内部三层转发,不再依赖任何物理接口。
这里有个新手最常见的误用:直接在access物理接口上配IP地址,然后发现PC根本ping不通网关。原因在于access口是二层口,二三层不能混用,三层地址必须放在VLANIF上。华为三层交换机支持把物理口切换成三层口(undo portswitch),但那是给路由器互联用的场景,不是给终端网关用的。终端网关一律走VLANIF,这个原则记住能少踩很多坑。
验证命令:
display ip interface brief能看到Vlanif10和Vlanif20都是up状态,IP地址正确。再用ping -a指定源地址测试,确认是从正确网段发出的报文:
ping -a 192.168.10.1 192.168.20.1如果不加-a,路由器可能从任意一个接口选取源地址,测试结果会有误导性。
4. 地址服务与访问控制:DHCP、ACL与WLAN
4.1 用交换机做DHCP服务器
真实网络里很少给每台PC配静态IP,DHCP是必练实验。华为交换机既可以做全局DHCP服务器,也可以做接口DHCP服务器。全局模式更接近企业网的真实做法。
需求:VLAN10网段192.168.10.0/24,网关192.168.10.1,分配地址池192.168.10.100到192.168.10.200。
dhcp enable ip pool office network 192.168.10.0 mask 255.255.255.0 gateway-list 192.168.10.1 dns-list 114.114.114.114 excluded-ip-address 192.168.10.1 192.168.10.99 interface Vlanif10 dhcp select globaldhcp enable先打开全局DHCP功能,这个开关经常有人忘,配完display dhcp发现什么都不下发;ip pool office定义地址池名字;network和gateway-list分别指定网段和网关;excluded-ip-address是关键,把网关和静态终端占用的地址范围排除出去,否则可能出现地址冲突。
最后在Vlanif10接口上执行dhcp select global,让接口从全局地址池分配。还有一种接口模式配置,把dhcp select global换成dhcp select interface,接口会自动拿自己网段做地址池,配置少但无法精确排除地址,灵活性差。我一般用全局模式,更接近生产环境。
验证命令:
display ip pool name office display dhcp server statisticsPC改成DHCP获取方式后,能在地址池里看到租约记录,说明下发成功。PC拿到地址后检查网关地址对不对,这个问题在ENSP里很常见:网关配错或没配,PC能拿到IP却上不了网。
4.2 ACL做单向访问:方向比内容更靠前
热词搜索里最典型的问题就是“ensp 交换机 acl 单向访问不管用”。现象是ACL明明写了deny,流量还是能通过。这里先说结论:绝大多数不是规则写错,是方向或顺序错了。
需求:VLAN10可以访问VLAN20,但VLAN20不能访问VLAN10。用高级ACL加traffic-filter实现,作用在VLAN20网关上:
acl 3000 rule 5 deny ip source 192.168.20.0 0.0.0.255 destination 192.168.10.0 0.0.0.255 rule 10 permit ip interface Vlanif20 traffic-filter inbound acl 3000高级ACL(3000以上)能同时匹配源地址和目的地址,这是单向访问的基础;deny规则必须放在permit前面,华为ACL的匹配顺序是从小到大逐条匹配,permit ip一旦先命中,后面的deny永远不生效;traffic-filter inbound的方向是站在Vlanif20接口看,从VLAN20进来的流量先经过ACL过滤,方向选错时deny规则永远不会被流量命中。
避坑要点:基本ACL(2000)只能匹配源地址,不能同时过滤目的地址,用2000做单向访问必然不管用。之前遇到一个案例,同事用acl 2000配了deny source 192.168.20.0,发现VLAN20的流量确实被拦了,但VLAN20到192.168.10.0的流量也从源地址那一步就被放行了,因为目的是匹配不了的。所以做单方向限制一定选高级ACL。
验证方法:VLAN20的PC ping VLAN10的网关,超时;VLAN10的PC ping VLAN20的网关,通。再用display acl 3000看命中计数,如果rule 5的计数在增加,说明deny真的在生效,而不是配置没应用上。
4.3 WLAN实验:AC+AP要过的三关
ENSP里做WLAN实验,核心是AC(无线控制器)加AP(接入点)的组网。很多人卡住不是不会配802.1x,而是AP根本没有上线,后面的无线业务全免谈。
第一关:AP管理通道。AC和AP之间要能通信,通常的做法是在交换机上把连AP的接口配成Trunk,放行AP管理VLAN和业务SSID的VLAN。同时要确保AP能从DHCP服务器拿到管理IP。AP没上线时先查display ap all,看AP的State是不是Fault或Idle。
第二关:WLAN业务模板组织。需要在AC上创建SSID模板、安全模板、VAP模板,再把VAP模板绑定到AP组。ENSP里常见AC型号是AC6605,配置骨架大致是这样:
wlan ssid-profile name office-ssid ssid office security-profile name office-sec security wpa2 psk pass-phrase 12345678 aes vap-profile name office-vap service-vlan vlan-id 10 ssid-profile office-ssid security-profile office-sec ap-group name office vap-profile office-vap wlan 1 radio 0这段配置的层级关系是:VAP模板把SSID、安全策略、业务VLAN串起来,再绑定到AP组。不同版本命令细节有差异,但组织逻辑一样。如果实验文档要求802.1x认证,还需要额外配RADIUS模板或在AC上做本地认证,否则终端会一直卡在认证阶段。
第三关:业务VLAN的网关和DHCP。SSID里的业务VLAN必须在交换机上有对应的VLANIF网关和DHCP服务,否则终端连上WiFi也拿不到IP。这三关里任何一环断了,无线实验都跑不通,排查顺序也按这个来。
5. 避坑:高频踩坑记录与排查思路
5.1 AR路由器启动显示40
现象:路由器启动后设备图标一直显示40,双击打开命令行窗口只有零星日志,ping不通任何接口。
原因:40这个数字代表虚拟化资源没有被正确分配。我遇到的情况集中在三种:VirtualBox版本与ENSP自带的组件不匹配,电脑开了Hyper-V或虚拟机监控程序,BIOS虚拟化开关(VT-x)没打开。第三方论坛下载的绿色整合包经常捆绑自己的VirtualBox版本,最容易触发这个问题。
解决:先卸载单独安装的VirtualBox,用ENSP安装包自带的组件重装;然后管理员身份执行bcdedit /set hypervisorlaunchtype off并重启;最后进BIOS确认Intel Virtualization Technology处于Enabled。如果以上都做了还不行,检查安全软件有没有把VirtualBox的驱动文件隔离,恢复之后重启ENSP。
5.2 ACL配了但单向访问不管用
现象:ACL规则已经配置成功,display acl能看到规则,但该拦截的流量还是能过去。
原因:三个根因按概率排序:用了基本ACL 2000,只能匹配源地址,目的地址过滤是失效的;permit规则写在deny前面,流量先被permit命中;traffic-filter方向选错。另外还有一种情况是规则应用在出方向,但设备的三层转发在入口就完成了,出口永远看不到那条流量。
解决:换成高级ACL 3000,同时写source和destination;deny放前面,permit放后面;应用位置优先选靠近源网段一侧的接口inbound方向。改完用display acl 3000看命中计数变化,这是判断ACL有没有真正生效的最直接手段。
5.3 FTP服务器配置后连不上
现象:PC用ftp命令访问服务器,提示连接超时或登录后看不到目录。
原因:FTP服务本身没启动,或者AAA里没建可用的FTP用户。华为设备上FTP默认是关闭的,光配AAA用户不打开服务器,端口根本没监听。
解决:系统视图下执行ftp server enable打开FTP服务(老版本命令是ftp server);然后在AAA里配置本地用户:
aaa local-user ftpuser password cipher 123456 local-user ftpuser service-type ftp local-user ftpuser ftp-directory flash:/service-type ftp指定这个用户的业务类型是FTP;ftp-directory限定用户登录后的根目录,不配置可能导致登录后看不到文件。配置完在PC命令行用ftp 192.168.x.x测试,如果还是不通,用display current-configuration | include ftp确认服务确实开了。这个排查思路同样适用于ensp里防火墙Web登录打不开的情况,大都是服务没使能或安全策略没放行对应端口。
5.4 GRE隧道搭好却不通
现象:两端AR路由器的Tunnel接口状态都是up,但隧道两端的LAN网段互相ping不通。
原因:Tunnel接口up只代表隧道协议协商成功,不代表流量会走隧道。最常见的原因是路由缺失——设备不知道去往对端内网应该把报文交给Tunnel接口;其次是Tunnel源、目的地址配置反了,或两端tunnel-protocol不一致。
解决:先ping隧道的源地址和目的地址,确认底层物理链路通;检查两端都配置了tunnel-protocol gre;然后补静态路由:
ip route-static 192.168.30.0 255.255.255.0 Tunnel0/0/0观察点:下一跳不是IP地址,而是出接口Tunnel0/0/0。在华为VRP里,指定出接口为隧道口后,匹配这条路由的流量才会进入GRE封装。如果这里写了物理接口的IP作为下一跳,流量会走物理链路,隧道就白建了。
5.5 拓扑关了重开,配置全部丢失
现象:昨天配好的VLAN、DHCP、ACL全部消失,设备回到出厂状态。
原因:ENSP的拓扑文件只保存设备之间的连线关系和设备型号,不保存设备内部的running-config。关闭设备时如果没执行save,配置就丢了。
解决:养成分段保存习惯——每个实验做完一个阶段就save一次,弹出确认时直接回车保存到vrpcfg.zip。同时把拓扑文件、配置导出的backup文件、截图放在同一个实验目录,命名带上日期和实验内容。这个习惯在真实设备上也通用,区别是真实设备配置丢失后影响的是生产网络,ENSP里丢配置浪费的只是时间,但连续丢两次之后就长记性了。
6. 验证三板斧:抓包、命中计数与验收清单
6.1 接口抓包怎么用才有效
ENSP里每个设备和连线都能右键启动抓包。不要只在ping不通的时候才打开抓包,正确的用法是顺着报文流的路径逐段看。比如ACL方向配错时,在源接口抓包能看到ICMP请求正常发出,但在目的侧接口抓不到请求报文,就能判断问题出在中间路径的某台设备上,而不是终端配置。
6.2 display命令要成组用
| 实验内容 | 必查命令 | 预期结果 |
|---|---|---|
| VLAN划分 | display vlan | VLAN存在且接口归属正确 |
| Trunk放行 | display port vlan | 链路上VLAN放行列表完整 |
| VLANIF网关 | display ip interface brief | 接口状态UP且地址正确 |
| DHCP地址池 | display ip pool name office | PC的IP出现在租约条目中 |
| ACL生效 | display acl 3000 | deny规则的命中计数在增加 |
重点说下ACL的命中计数。很多人看display acl里的规则,觉得规则存在就等于生效了,其实规则存在只代表配置成功,计数增加才代表流量真正命中了它。计数为零的话,优先怀疑方向和应用位置,而不是规则内容。
6.3 实验收尾的验收顺序
我现在每做一个实验,收尾时固定走一遍:物理连通性、逻辑配置一致性、抓包记录、配置保存。先确认PC能ping通网关,再看display命令的输出是否与预期完全一致,有抓包的话把关键报文存一份,最后save并导出配置备份。这个顺序一开始是给自己用的,后来带同事做实验评审也用它。SRv6这类高阶实验我也用同样的验证逻辑,只是把判断标准从“通不通”换成“段列表和封装格式对不对”。
有次熬夜排查ACL两个小时,最后发现就是permit写在deny前面,从此每配一组规则都先看顺序,再看方向,最后才看内容。这个习惯帮我躲过了很多看起来像玄学的网络问题。希望帮到你。
本文还有配套的精品资源,点击获取