前言
首先介绍一下,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
文件夹权限配置:
- 右键文件夹,打开属性,在“安全”页签下,点击“高级”,进入高级安全设置
- 点击“更改权限”并确认之后,点击“添加”,在上方“选择主体”,输入要选择的对象名称填写“Everyone”,检查名称并点击确定
- 类型为“允许”,应用于“此文件夹、子文件夹和文件”,基本权限勾选“完全控制”,最后点击确定
这样就解决了上述的报错问题,但是当我再次尝试从 VirtualBox 启动虚拟机设备时,又提示了一个报错信息如下:
Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT). |
一看到这个错误,我就明白了。之前为了使用 WSL2,开启了 Hyper-V 功能,而低版本的 VirtualBox 还不支持与 Hyper-V 共存,所以会导致无法正常启动虚拟机设备。解决步骤如下:
- 在 Windows 功能中取消勾选 Hyper-V 选项
- 以管理员身份打开命令提示符(CMD)或者 PowerShell 输入
bcdedit /set hypervisorlaunchtype off
- 重新启动计算机
完成上述操作后,在 eNSP 中重新注册设备,即可正常使用。
反思总结
在上述故障排错的过程中,首先,遇到问题先要查看官方的帮助手册,软件中提供的 eNSP 帮助 FAQ 内容十分详细,普遍性问题均在其中给出了解决方案,所以先按照帮助中的内容进行排查。其次,排查无误后发现没有问题,但仍然无法启动,就要确定问题的范围以及产生问题的对象,比如 VirtualBox 软件能否正常使用,通过直接打开 VirtualBox 启动虚拟机来查看设备能否正常启动。最后,得到错误提示之后就可以对症下药,挨个解决问题。