前言

首先介绍一下,eNSP(Enterprise Network Simulation Platform)是一款由华为提供的免费的、可扩展的、图形化的网络设备仿真平台,主要对企业网路由器、交换机、WLAN等设备进行软件仿真,完美呈现真实设备部署实景,支持大型网络模拟,让你有机会在没有真实设备的情况下也能够开展实验测试,学习网络技术。

近期,我要使用华为 eNSP 模拟器进行网络实验,我的本地环境是 Windows 11 专业工作站版 23H2。eNSP 的正常使用依赖于 WinPcap、Wireshark 和 VirtualBox 三款软件,我使用的版本如下:

软件类别 版本
eNSP V100R003C00SPC100
WinPcap 4.1.3
Wireshark 4.2.6
VirtualBox 5.2.44

故障排查

在安装完成 eNSP 模拟器的时候会遇到 AR 设备启动失败,错误代码:40 的提示,我按照 eNSP 帮助中的 FAQ 提示,检查了 Windows 防火墙、VirtualBox 虚拟网卡配置、安装路径等,均未发现问题,并尝试重新注册设备、更换 VirtualBox 版本仍然无法启动设备。于是我打开 VirtualBox 尝试直接启动其中的虚拟机设备,果不其然报了一个错误,错误信息内容如下:

The vm session was closed before any attempt to power it on.

我查阅了一下技术资料,发现是由于 VirtualBox 访问虚拟机存放的文件夹的权限 C:\Program Files\Huawei\eNSP\VBoxServer 不足,于是我修改了 VBoxServer 文件夹权限配置:

  1. 右键文件夹,打开属性,在“安全”页签下,点击“高级”,进入高级安全设置
  2. 点击“更改权限”并确认之后,点击“添加”,在上方“选择主体”,输入要选择的对象名称填写“Everyone”,检查名称并点击确定
  3. 类型为“允许”,应用于“此文件夹、子文件夹和文件”,基本权限勾选“完全控制”,最后点击确定

这样就解决了上述的报错问题,但是当我再次尝试从 VirtualBox 启动虚拟机设备时,又提示了一个报错信息如下:

Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT).

一看到这个错误,我就明白了。之前为了使用 WSL2,开启了 Hyper-V 功能,而低版本的 VirtualBox 还不支持与 Hyper-V 共存,所以会导致无法正常启动虚拟机设备。解决步骤如下:

  1. 在 Windows 功能中取消勾选 Hyper-V 选项
  2. 以管理员身份打开命令提示符(CMD)或者 PowerShell 输入 bcdedit /set hypervisorlaunchtype off
  3. 重新启动计算机

完成上述操作后,在 eNSP 中重新注册设备,即可正常使用。

反思总结

在上述故障排错的过程中,首先,遇到问题先要查看官方的帮助手册,软件中提供的 eNSP 帮助 FAQ 内容十分详细,普遍性问题均在其中给出了解决方案,所以先按照帮助中的内容进行排查。其次,排查无误后发现没有问题,但仍然无法启动,就要确定问题的范围以及产生问题的对象,比如 VirtualBox 软件能否正常使用,通过直接打开 VirtualBox 启动虚拟机来查看设备能否正常启动。最后,得到错误提示之后就可以对症下药,挨个解决问题。