EVE-NG镜像导入全景指南:6个必须搞清的格式规则
1 EVE-NG镜像导入全景指南:6个必须搞清的格式规则(第5个90%的新手都踩过坑)
1.1 痛点引入
你兴冲冲下载了一堆EVE-NG镜像,打开WinSCP准备上传——然后愣住了。
qcow2、bin、image、vmdk……格式五花八门;/opt/unetlab/addons/qemu/、/opt/unetlab/addons/iol/bin/……路径各不相同;上传完打开EVE-NG一看,节点列表里空空如也,心态直接崩。
别慌,这篇就是给你理清的。
1.2 6个必须搞清的格式规则
1.2.1 规则① QEMU镜像 = qcow2格式,目录名有严格前缀要求
QEMU是EVE-NG的主力引擎,绝大多数厂商镜像(华为、思科、F5、Juniper、Palo Alto……)都跑在它上面。
存放路径:
/opt/unetlab/addons/qemu/{模板前缀}-{版本标识}/磁盘文件名必须是EVE规定的那几个,最常见的是
virtioa.qcow2(VirtIO控制器)和hda.qcow2(IDE控制器)目录名必须以模板前缀开头,后面跟
-和版本号
✅ 正确示例:/opt/unetlab/addons/qemu/csr1000vng-16.12.04/virtioa.qcow2
❌ 错误示例:/opt/unetlab/addons/qemu/linux/virtioa.qcow2(缺少版本标识,EVE不会识别)
不同厂商对应的磁盘文件名映射表,请参考EVE官方 “Qemu image namings” 页面,有完整的厂商→文件名对照(如ASAv用virtioa.qcow2,ASA用hda.qcow2,F5 BIGIP用virtioa.qcow2+virtiob.qcow2)。
1.2.2 规则② IOL镜像 = bin格式,新版XE镜像要手动加扩展名
Cisco IOL(IOS on Linux)是轻量级的L2/L3模拟引擎,资源占用极低,一台笔记本跑10个IOL节点毫无压力。
存放路径:
/opt/unetlab/addons/iol/bin/(平铺,无子目录)文件扩展名必须是
.bin⚠️ 2024年新版IOL XE镜像(如
x86_64_crb_linux_l2-adventerprisek9-ms)原始文件没有扩展名,需要手动重命名加.bin:
mv x86_64_crb_linux_l2-adventerprisek9-ms x86_64_crb_linux_l2-adventerprisek9-ms.bin
IOL还需要配置许可证文件
iourc,绑定服务器主机名和域名,否则节点启动会报license错误
IOL推荐版本:L2交换用
i86bi_linux_l2-adventerprisek9-ms.SSA.high_iron_20190423.bin,L3路由用i86bi_LinuxL3-AdvEnterpriseK9-M2_157_3_May_2018.bin,避免使用 IOL L3 15.5.2T(存在控制台冻结Bug)。
1.2.3 规则③ Dynamips 镜像 = 改名为.image,平铺存放
Dynamips是EVE-NG最早支持的Cisco IOS模拟引擎,用于运行老版本IOS(如c7200、c3745等)。
存放路径:
/opt/unetlab/addons/dynamips/(平铺,无子目录)原始
.bin文件直接重命名为.image即可:
mv c7200-binaire.bin c7200-binaire.image
命名规则(源码正则):
/^名称-.+.image$/,文件名中必须包含-
Dynamips目录初始为空,镜像需用户自行上传。
1.2.4 规则④ 目录名格式 = 模板前缀 + “-” + 版本,缺一不可
这是新手踩坑最多的规则。EVE-NG前端通过 init.php 扫描 /opt/unetlab/addons/qemu/ 下匹配 {模板名}-* 的目录来发现镜像。
常见模板前缀速查:
前缀设备目录示例csr1000vng-Cisco CSR1000Vcsr1000vng-16.12.04fortinet-FGT-Fortinet FortiGatefortinet-FGT-7.0.5huawei-华为huawei-ne40e-v8.180mikrotik-MikroTikmikrotik-7.18.2vyos-VyOSvyos-1.4.1-amd64linux-通用Linuxlinux-ubuntu-22.04
❌ 纯名称如 linux/ 不会被识别,必须为 linux-ubuntu-20.04/ 格式。
1.2.5 规则⑤ 上传后必须修复权限,否则节点启动失败
这是90%新手都会漏掉的一步,也是"镜像传上去了但节点列表看不到"的常见原因之一。
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
执行后EVE-NG会自动修正所有镜像文件的属主和权限,这是官方推荐的方式,不要手动 chown。
1.2.6 规则⑥ VMDK转QCOW2,华为/Aruba镜像导入必经之路
部分厂商(如华为AR1000v、Aruba CX Switch )提供的镜像格式是VMDK(VMware磁盘格式),需要先转换为QCOW2:
qemu-img convert -f vmdk -O qcow2 input.vmdk virtioa.qcow2
转换前建议用
qemu-img info input.vmdk确认源文件格式和大小,转换后可用qemu-img info virtioa.qcow2验证输出。
1.3 操作步骤:QEMU镜像导入实战(以华为AR1000v为例)
# 1. 创建镜像目录(目录名 = 模板前缀 + 版本号)
mkdir -p /opt/unetlab/addons/qemu/AR1000v-5.170
# 2. 上传镜像文件(使用WinSCP/FileZilla上传到该目录)
# 3. 重命名为EVE规定的文件名
mv /opt/unetlab/addons/qemu/AR1000v-5.170/原文件名.qcow2
/opt/unetlab/addons/qemu/AR1000v-5.170/virtioa.qcow2
# 4. 修复权限(必做!)
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
完成后刷新EVE-NG Web界面,节点列表中即可看到AR1000v。
1.4 总结:三引擎镜像速查表⭐
引擎格式存放路径磁盘文件名必做操作QEMUQCOW2/opt/unetlab/addons/qemu/{前缀}-{版本}/virtioa.qcow2 (主流)/ hda.qcow2 (旧设备)fixpermissionsIOLBIN/opt/unetlab/addons/iol/bin/*.bin (新版XE需手动加扩展名)配置iourc许可证DynamipsBIN→.image/opt/unetlab/addons/dynamips/*.image (原bin改扩展名)fixpermissions
一句话记忆法:QEMU看目录名,IOL看扩展名,Dynamips改扩展名,上传后必修权限。
🔥 今天就动手:打开你的EVE-NG,用上面的实战步骤导入一个镜像,5分钟搞定,从此告别"传上去了看不到"的魔咒。
⚠️ 本文为AI辅助生成草稿,请以实际环境验证为准。
1.5 内容来源
本文素材来自以下EVE-NG知识库文档及公开资料,按章节索引:
1.5.1 规则① QEMU镜像格式与目录命名
EVE-NG官方文档 — Qemu image namings:磁盘文件名映射表(virtioa.qcow2、hda.qcow2等厂商对照)
EVE-NG官方文档 — How to create own QEMU images:目录命名规范
{模板前缀}-{版本标识}
1.5.2 规则② IOL镜像格式与扩展名
EVE-NG官方文档 — Cisco IOL images:IOL镜像存放路径
/opt/unetlab/addons/iol/bin/、许可证配置、2024新版XE镜像无扩展名需手动加.bin的说明EVE-NG知识库 — Cisco IOL 镜像文档:推荐版本及避坑提示(避免IOL L3 15.5.2T控制台冻结Bug)
1.5.3 规则③ Dynamips镜像格式
EVE-NG官方文档 — How to add Dynamips images:
.bin改名为.image的操作步骤、命名正则规则EVE-NG知识库 — 节点与网络配置文档:Dynamips目录结构及初始状态说明
1.5.4 规则④ 目录名前缀速查表
EVE-NG知识库 — Qemu image namings:各厂商模板前缀对照(csr1000vng、fortinet-FGT、huawei等)
EVE-NG源码 ****
init.php:目录扫描匹配逻辑
1.5.5 规则⑤ 修复权限
EVE-NG全系列镜像教程(通用步骤):
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions的使用说明来源文档:Huawei USG6000v / Cisco ESA / Cisco WSA / Stormshield FW UTM 等镜像导入教程均包含此步骤
1.5.6 规则⑥ VMDK转QCOW2
EVE-NG知识库 — Aruba CX Switch 镜像导入:OVA解压→VMDK转QCOW2的完整流程(
qemu-img convert -f vmdk -O qcow2)EVE-NG知识库 — Cisco Firepower FTD 镜像导入:同样涉及VMDK转QCOW2操作
1.5.7 规则⑦ 镜像导入脚本
EVE-NG知识库 — EVE-NG 镜像导入脚本:脚本自动分发逻辑及IOL l2/l3目录需手动调整的说明
1.5.8 操作步骤(华为AR1000v实战)
EVE-NG知识库 — Huawei AR1000v 镜像导入:创建目录→上传→重命名virtioa.qcow2→修复权限的完整步骤
1.5.9 常见报错及解决
EVE-NG官方文档 — Frequently Asked Questions:节点列表不显示、启动失败的排错指引
EVE-NG知识库 — IOL license配置文档:iourc文件格式及主机名匹配说明
