我当年第一次听到“作业1”这三个字时,以为就是打开软件拖两台设备互相ping通,最多半小时收工。结果光是让路由器成功启动,就花了我整整一个晚上,电脑右下角全是VirtualBox弹出来的报错提示,AR1那台设备永远停留在“启动中”,最后蹦出一句“错误代码40”。那时我才意识到,eNSP这玩意看着是个模拟器,实际连装好它本身都是一次小型排错实训。
如果你正在被“ESNP作业1”折磨,或者在安装阶段就卡在AR1启动失败、没有虚拟网卡、Win11兼容性这类问题上,这篇就按我实际摸爬滚打出来的路线,从安装避坑、拓扑搭建、基础配置,到最要命的错误代码40完整排查链路,一步步给你捋清楚。
1. 装eNSP之前先把这些坑避开
很多人的第一个作业不是难在配置命令,而是难在安装阶段。eNSP本身只是一个图形前端,真正跑设备靠的是后台的VirtualBox虚拟机。它俩之间的关系就像遥控器和电视机——遥控器装好了但电视没配对,按什么都没反应。所以安装阶段的核心不是eNSP那个安装包本身,而是VirtualBox版本选得对不对、虚拟网卡有没有被系统杀掉。
1.1 版本选错是原罪的根源
网上能找到的eNSP版本多到眼花,但最经典的组合是:eNSP V100R003C00SPC100 + VirtualBox 5.2.x。这个组合是当年最稳的配置,我后来帮别人排错时,十台电脑里八台都是因为装了VirtualBox 6.0以上版本导致AR1启动不了。
为什么会这样?eNSP在V100R003这个版本时代,官方适配的就是VirtualBox 5.2系列,它调用虚拟机的指令方式、虚拟网卡驱动都按照这个版本做了兼容。装了新版本VirtualBox后,eNSP在后台创建虚拟机时指令对不上,轻则AR设备启动超时,重则直接报错误代码40。
如果你用的是Win11,VirtualBox 5.2的安装过程会比较折腾,因为新版Windows对老版本驱动的签名卡得很严。我的建议是:优先找带VirtualBox 7.x的eNSP Pro版本或者整合安装包,这类包往往已经把兼容性处理过了。但如果你课程要求必须用普通版eNSP,那就老老实实装5.2.x,装完如果启动报错,先把VirtualBox卸载干净,再重装一次,顺序别反。
1.2 安装顺序和杀毒软件的隐藏坑
正确顺序不是先装eNSP再装VirtualBox,恰恰相反:
- 先装VirtualBox 5.2.x,装完不要急着打开,它自己会创建虚拟网卡。
- 再装eNSP主程序,装的时候务必右键“以管理员身份运行”。
- 装完后打开eNSP,它会自动检测VirtualBox路径,检测不到就手动指过去。
- 打开VirtualBox看一眼,确认里面多了一台名为AR_Base的虚拟机。
这四步里最容易翻车的是杀毒软件。360、火绒、Windows Defender会在VirtualBox安装驱动时静默拦截,导致虚拟网卡根本没装上。你打开网络连接一看,找不到VirtualBox Host-Only Ethernet Adapter,后面做什么都是白搭。
网络热词里那个“ensp没有虚拟网卡”就是典型的杀毒拦截症状。解决方法是先把杀毒软件退出,然后去设备管理器里删除带感叹号的VirtualBox相关设备,再重装一次VirtualBox。装完确认网络适配器里有VirtualBox Host-Only Ethernet Adapter这张网卡,再进行下一步。
1.3 Win11上的特殊处理
Windows 11跑eNSP,除了版本兼容,还要处理Hyper-V和内核隔离的问题。Hyper-V和VirtualBox都依赖CPU虚拟化,但它俩登场后容易抢占资源,造成VirtualBox创建的虚拟机启动失败。
实测下来,Win11用户需要做两个动作:
- 控制面板 - 程序 - 启用或关闭Windows功能,把Hyper-V的勾选去掉。
- Windows安全中心 - 设备安全性 - 内核隔离 - 内存完整性,关掉它。
新版Win11还经常出现一个现象:设备管理器里能看到VirtualBox网卡,但它始终处于“已禁用”状态。右键启用后过几秒又自动禁用了。这是系统级冲突导致的,处理办法是先卸载VirtualBox,手动把网卡驱动也删掉,重启电脑后重新安装并勾选“仅安装本机软件”模式。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 从零到一:搭建并启动你的第一个作业拓扑
安装搞定之后,恭喜你,真正的“作业1”才刚刚开始。大部分课程的第一个eNSP作业都是围绕二层交换机和基本连通性展开的,比如两台PC通过一台交换机互联,或者两台路由器通过串口线直连。不管哪种形式,核心思路都是一样的:设备能不能正常启动,链路能不能通,地址能不能分配,最终能不能ping通。
2.1 拖拽设备时的三个习惯
eNSP的操作界面很像画图软件,左边工具栏拖设备、选择连线、点击设备进入命令行。看起来很直觉,但有几个操作习惯最好从一开始就养成:
第一,设备放下后先改名字。双击设备名,改成有含义的标识,比如SW1、R1、PC1。作业拓扑一旦变大,全是AR1、AR2根本分不清谁是谁,而且老师截图看你的拓扑时,命名清晰非常加分。
第二,连线的时候注意选择正确的线缆类型。同为以太网线缆,路由器到交换机通常用Ethernet接口,但不同设备型号的接口编号可能不一样。我见过太多人死活ping不通,拔线重插好几遍都没用,最后发现是串口线当成以太网线用了,或者接口没配对。
第三,设备之间连线完成后,先别急着启动所有设备,先启动交换机和路由器,等它们全部进入稳定状态后,再启动PC终端。原因是eNSP里PC设备启动速度比路由器快,如果PC先启动了,它发起的DHCP请求可能是在交换机还没有转发表的时候发出的,虽然理论上交换机学习后能转发,但初期一直拿不到地址的情况很常见。
2.2 启动设备的正确姿势
点击工具栏的“启动”按钮后,设备图标会跳转半天,尤其是路由器,启动过程要加载完整的VRP镜像,时间从几十秒到几分钟不等。如果超过三分钟还在跳转,大概率出问题了,不要干等。
一个容易忽略的点是:设备启动完成后,图标会变成彩色,端口位置会变成绿色。这时再双击设备进入命令行,输入system-view,然后display current-configuration,能看到基础配置就代表启动成功。
提示:每次打开eNSP新建拓扑时,如果同一个基础拓扑要反复用,先配置好一台交换机并save,再通过“另存为”模板的方式复制,不要每次都从零开始拖。这个习惯能让你在后续作业里省下大量重复时间。
2.3 一个最小作业的经典拓扑示例
以最常见的作业1为例:两台PC,一台交换机,拓扑结构是一条直线。PC1接交换机的Ethernet0/0/1口,PC2接Ethernet0/0/2口。按下面几步操作,就是完整的作业雏形:
- 进入交换机系统视图:system-view
- 给交换机命名:sysname SW1
- 查看接口状态:display interface brief
然后就是PC端的配置。双击PC1,在Ipv4配置里手动填上192.168.10.1,掩码255.255.255.0,网关不填都行(同网段不需要网关)。PC2填192.168.10.2。把两台PC的命令行打开互相ping,能通就代表作业的核心功能完成了。
这个作业其实不涉及任何复杂协议,考察的就是交换机的二层转发和PC的IP配置。但很多人在这一步就栽了,因为PC1和PC2互ping时忘了给PC开启网卡,PC的图标是个灰点,没有实际启动起来。PC设备在eNSP里默认是关闭的,每次新建拓扑都要手动选中后点启动,这一点和路由器的操作体验不一样,特别容易被忽略。
2.4 保存作业的格式选择
作业1一定要养成保存的习惯,eNSP保存的是.topo格式的拓扑文件。保存时可以用“文件-另存为”,也可以直接用Ctrl+S。但这里的坑在于:eNSP的保存只保存拓扑结构和配置,不保存设备状态。如果你下次打开拓扑,所有设备都需要重新启动,但之前配置过的命令会保留下来。
真正稳妥的方式是,设备配置完执行save命令,然后在命令行输入quit退出,等设备自动保存,之后再用Ctrl+S保存整个拓扑。双重保存,缺一不可。只保存拓扑不保存设备配置,下次打开时设备配置回滚,你辛辛苦苦敲的命令全没了,这种事我发生过不止一次。
3. 作业里最常用的配置命令与CLI操作习惯
eNSP里的设备运行的是华为VRP系统,命令和思科的IOS有些地区习惯不同,但整体逻辑相似。作业1涉及的命令量不大,但每一条都要理解它在干嘛,而不是死记硬背。
3.1 从用户视图到系统视图的命令层级
华为VRP的命令行分多个视图,刚启动进入的是用户视图,提示符是尖括号 <R1>。只能执行查看类命令,比如display version。
输入system-view后进入系统视图,提示符变成方括号 [R1],这时才能修改配置。这是新手最容易懵的地方:敲interface命令报错,因为还在用户视图。
我把作业1阶段最常用的命令和它们所在视图整理成一个表,方便你在命令行窗口边看边敲:
| 命令 | 视图 | 作用 |
|---|---|---|
| system-view | 用户视图 | 进入系统视图 |
| sysname R1 | 系统视图 | 修改设备名称 |
| interface GigabitEthernet0/0/0 | 系统视图 | 进入接口视图 |
| ip address 192.168.1.1 24 | 接口视图 | 配置接口IP地址 |
| undo shutdown | 接口视图 | 开启被禁用的接口 |
| display current-configuration | 任意视图 | 查看当前配置 |
| display ip interface brief | 任意视图 | 查看接口IP摘要 |
| ping 192.168.1.2 | 用户视图 | 测试连通性 |
| save | 系统视图 | 保存配置 |
| quit | 任意视图 | 退回上一级视图 |
| return | 任意视图 | 直接退回用户视图 |
这几个命令覆盖了作业1里80%的操作场景。注意ping命令只能在用户视图敲,在系统视图敲会提示“Error: Unrecognized command found at '^' position.”——这不是你命令拼错了,是视图层级不对。
3.2 一条命令卡住排查半天的真实经历
我有一次做实验,两台路由器直连,接口配的都是192.168.12.1和192.168.12.2,按道理应该能通。结果ping就是不通,display interface brief一看,接口全是down的状态。
排查了十分钟才找到问题:eNSP里直连路由器的两个接口默认是shutdown状态,必须在接口视图下执行undo shutdown开启。这不是物理链路没接好,而是eNSP对设备接口的默认策略模拟得很真实,接口默认关闭。
这个坑在作业1里出现的频率极高。接好线、配好地址、设备都启动了,但display interface brief里所有接口都是down,很多人的第一反应是线接错了,重新拖线、换接口,折腾一圈回来发现问题只是少敲了一条undo shutdown。所以配任何接口的第一件事,先确认接口状态是up还是down,down就undo shutdown,再去查IP配置。
3.3 CLI操作里浪费时间的三个坏习惯
进了命令行窗口,很多人还带着对着键盘一个字一个字敲的习惯,效率极低。VRP的命令行支持Tab键自动补全和问号“?”查询,这些一定要养成肌肉记忆。
- 敲到一半按Tab,自动补全命令,比如输入sys再按Tab直接变成system-view。
- 输入命令时加一个空格再按问号,会列出后续参数的可选项。比如interface后面不知道有哪些接口,敲
interface ?就能看到所有可用的接口名称。
还有一个坏习惯是配置错了不会删。VRP里一条命令往往有两种状态,比如配了IP发现配错了,直接在接口视图再敲一次ip address,新地址会覆盖旧地址。但像VLAN这种有附加属性的配置,覆盖不一定干净,必须在系统视图下执行undo vlan 10之类的方式彻底删除。作业1虽然不一定涉及VLAN,但这个思路要提前建立:配置错误时先undo再重配,比直接覆盖更可靠。
4. 错误代码40与启动超时:完整排查链路
前面铺垫了那么多,现在来聊整个eNSP新手期最劝退的问题:AR设备启动失败,特别是错误代码40。网络热词里“ensp启动设备ar1失败40”和“错误代码40”被搜索频率极高,可见它坑了多少人。
4.1 错误代码40到底意味着什么
错误代码40的完整描述是“AR设备启动失败”,但这个提示信息量极低,它只告诉结果不告诉你原因。从实际排查经验看,这个错误背后通常对应三类问题:
- VirtualBox版本不兼容或虚拟网卡驱动异常,这是最常见的。
- eNSP启动时临时文件冲突,设备配置文件被上一次异常退出污染。
- 系统虚拟化支持被Hyper-V抢占,VirtualBox无法正常调用CPU虚拟化指令。
理解这三类问题后,排查链路才有方向。先别急着卸载重装,按下面顺序逐步排查,绝大多数人能定位到根因。
4.2 第一步:检查VirtualBox的虚拟网卡是否存活
打开控制面板 - 网络和共享中心 - 更改适配器设置,找VirtualBox Host-Only Ethernet Adapter。
如果这张网卡不存在,说明VirtualBox驱动没装好,后面的所有排查都不用看了,直接把VirtualBox卸载干净,重启电脑,再重装一次。安装时右键“以管理员身份运行”,Win11用户还要关闭“内核隔离”里的内存完整性,不然驱动加载会被拦截。
如果网卡存在但显示“已禁用”,右键启用它。启用了几秒后又自动禁用,把VirtualBox卸载,手动在设备管理器里删掉残留驱动,重启后再装。
如果网卡正常,进入下一步。
4.3 第二步:用VirtualBox手动启动AR_Base
这一步是定位问题的最快路径。打开VirtualBox,能看到eNSP自动注册了一台名为AR_Base的虚拟机。选中它,点击启动。
- 如果AR_Base能正常启动,进入一个命令行登录界面,说明问题出在eNSP和VirtualBox之间的协同调用,多半是缓存冲突,执行第四步清理即可。
- 如果AR_Base启动也报错,报的是CPU虚拟化相关错误,比如“VT-x is not available”,那就是系统虚拟化被禁用了,去BIOS里开启Intel VT-x或AMD-V,同时确认Hyper-V功能已关闭。
- 如果AR_Base启动时报错内容是访问被拒绝或文件找不到,说明eNSP的组件目录权限有问题,需要以管理员身份重新运行eNSP,给整个安装目录加上完全控制权限。
这一步基本能把“虚拟化底层问题”和“eNSP自身问题”分离开。很多人一看到错误代码40就重装eNSP,重装了十遍都没用,就是因为没先手动打开AR_Base测试底层虚拟机。
4.4 第三步:清理eNSP的缓存配置
确认AR_Base能正常启动,但eNSP里打开设备仍然报40,那大概率是设备配置文件有过异常残留。eNSP每次启动设备时,会往特定目录写一个对应的vbox文件和一些日志。如果上次操作时eNSP被强制关闭,这些文件可能处于损坏状态,下次启动时读取异常。
处理路径是:
- 关闭eNSP,同时关闭VirtualBox所有虚拟机。
- 在文件资源管理器地址栏输入
%USERPROFILE%\.eNSP,进入eNSP的用户配置目录。 - 找到类似
AR_Base.vbox的文件,可以先把整个目录复制一份备份,然后删除当前目录内容。 - 重新打开eNSP,会重新初始化设备配置,再次尝试启动设备。
这一步实测能解决很多“上一次还能用,这次突然就启动失败”的间歇性问题。Windows更新后、非正常关机后出现错误40,基本都走这条清理路径。
4.5 第四步:彻底重置VirtualBox网络环境
如果清理缓存没用,尝试重置整个虚拟网络环境。打开VirtualBox的“全局设定 - 网络”,删除所有Host-Only网络,再手动添加一个新的。添加时留意设置的网段,默认是192.168.56.0/24,不要和其他局域网网段冲突。
删除后,重新回到eNSP尝试启动设备。这一步的作用是让eNSP动态识别VirtualBox的新网卡配置,解决虚拟网卡状态异常但看不见摸不着的问题。
注意:如果学有余力,还可以查一下eNSP安装目录下的
log文件夹,里面记录着设备启动的完整日志,报错40时的关键故障点通常会有更具体的英文描述,比界面提示靠谱得多。
4.6 启动超时的另一个常见原因:系统负载
错误代码40不是唯一的启动故障,很多机器报的是“启动超时”。这个错误最典型的原因是电脑性能不够或后台程序占太多资源。AR设备启动时要虚拟化一个完整的路由器系统,内存占用动不动就上GB,如果电脑只有8GB内存,开着浏览器再跑着Word,设备启动就很容易超时。
处理方式是在eNSP的“菜单 - 工具 - 注册设备”里,把AR设备的硬件配置调低一点:内存从512MB降到256MB,CPU从1核改到2核,同时关闭3D加速。虽然配置低了设备运行会慢一些,但至少能启动起来,交作业够用。
5. 让作业从“能跑”到“能画清楚”:拓扑图和截图那些事
作业1交的是什么东西?不同老师要求不同,但万变不离其宗:一个能说清楚步骤的拓扑图加必要的验证截图。很多人辛辛苦苦把设备配通,最后栽在截图和标记上,很可惜。
5.1 eNSP拓扑图的隐藏编辑技巧
eNSP自带的拓扑图导出功能比较朴素,但完全够用。搭建完拓扑后,可以用菜单里的“工具 - 导出”,导出为图片格式,然后放进实验报告。
我自己的习惯是:先用eNSP画好拓扑,再导出图片后用画图工具在上面加标注。每个接口的IP地址、网段号、设备名,全部标在拓扑图上。这样交上去的实验报告,老师一眼就能看出你的拓扑结构和配置逻辑,比单拉一张密密麻麻的命令行截图效果好得多。
5.2 该截图和不该截图的时刻
常见作业要求PC能ping通,那么关键截图有这几张:
- 各设备启动完成后的拓扑全貌,设备名清晰可见。
- 交换机配置完成后的display current-configuration全部内容。
- PC1 ping PC2成功的回执。
这几张图一定要按顺序整理,不然报告里图很多但看不出操作链路。我见过很多同学只截了ping通的图,没有地址配置的截图,老师想看回路由器的接口IP是怎么配的,什么都看不到,只能扣分。
5.3 不用重装,一台设备配置完成后怎么复制给另一台
作业1如果要求三台交换机做类似配置,一台一台敲很容易出错。eNSP支持复制设备的配置:右键点击已配置好的设备,选择“复制”,粘贴到拓扑中。新设备会继承源设备的系统视图配置,但接口的IP地址和连接关系需要按新拓扑重新调整。
这个功能在小规模作业里体现不出太多价值,但可以建立起一个概念:批量、复用的思路在运维领域无处不在。手工敲命令不是目的,快速、准确、可复用才是。
6. 给作业1画上句号之前,再做这几件小事
作业做到设备互通、命令敲完、报告截图打包,其实还有几个我每次都会提醒自己检查的点。
第一是确认所有设备配置执行了save。eNSP里不执行save,关掉重新打开时配置会丢失,我之前吃过一次大亏,路由器的OSPF配置调了半小时,就因为没save,第二天打开拓扑一切归零。
第二是拓扑文件的位置。把.topo文件拷贝到U盘前,先在自己的电脑上重新打开一次,确认能正常加载。别等到了教室打印报告,才发现拓扑文件在传输过程中损坏,教室电脑也打不开eNSP,那就尴尬了。
第三是命令行的留痕。交作业前把每台设备的display current-configuration导出一份文本,放到同一个文件夹里,文件名用“设备名_配置”命名。这样就算eNSP文件打不开,你也能用文本文件向老师证明配置确实完成了。
最后再分享一个我个人的使用习惯:在eNSP里做作业时,每完成一个小功能就截一张图。比如配好PC的IP就截一张,ping通再截一张。别等到全部配置完再回头找图,到时候设备状态变了,命令行滚屏早滚没了,要复现当时的现场几乎不可能。这个习惯在后续的实验课里会一直帮到你,不只是作业1这一件事。
