安装与部署
这是宿主机 CPU 不支持或未启用 VT-x/EPT 虚拟化技术所致。
第一步:检查 CPU 是否支持
下载 CPU-Z 或使用命令 cat /proc/cpuinfo | grep flags | grep vmx(Linux)或在 Windows 任务管理器查看虚拟化状态。
第二步:启用 BIOS 中的虚拟化 重启电脑,进入 BIOS 设置(通常是 Del/F2/F12),找到以下选项并设为 Enabled:
- Intel VT-x / VT-d
- AMD-V / AMD-V RVI
第三步:确保 VBS 已关闭(Windows 11) Windows 11 的 VBS(基于虚拟化的安全性)会占用 VT-x 资源,导致虚拟机无法使用。关闭方法详见:《Windows 11 关闭 VBS 的几种方法》
第四步:检查杀毒软件 360 安全卫士的「晶核引擎」会占用 VT-X 资源,需卸载。
性能问题通常由以下原因导致:
原因一:杀毒软件深度扫描 杀毒软件对 VMware 二进制文件和虚拟磁盘的实时扫描会严重降低性能。建议:
- 将 VMware 安装目录添加到杀毒软件白名单
- 完全关闭 Windows Defender 的行为监控
- 卸载 360 安全卫士(其晶核引擎会抢占 VT-X)
原因二:内存分配不足 每个网络设备节点需要分配内存,若总内存超过宿主机物理内存会导致交换,反而更慢。
- 宿主机 16GB 内存:EVE 虚拟机分配 8-10GB
- 宿主机 32GB 内存:EVE 虚拟机分配 16-20GB
原因三:磁盘 IO 性能差 机械硬盘(HDD)的随机读写性能远低于 SSD。
- 将 EVE 虚拟机文件存储在 SSD 上
- 启用 VMware 的磁盘缓存写入策略:
disk.EnableUUID = TRUE
原因四:CPU 核心竞争 宿主机运行其他高负载程序时,EVE 节点性能会下降。建议:
- 关闭宿主机不必要的后台程序
- 在 VMware 中为 EVE 虚拟机设置 CPU 亲和性(绑定到特定核心)
重要提醒:不要扩展现有硬盘,否则会导致数据丢失!
正确方法:添加新硬盘
-
在 VMware 中编辑 EVE 虚拟机设置
-
点击「添加」→ 「硬盘」→ 「SCSI」
-
选择「创建新虚拟磁盘」,设置所需容量
-
完成添加后启动 EVE
-
SSH 登录 EVE,执行以下命令查看新硬盘:
fdisk -l- 分区并格式化:
parted /dev/sdbmkfs.ext4 /dev/sdb1mkdir /opt/newdiskmount /dev/sdb1 /opt/newdisk- 永久挂载(将新硬盘挂载到镜像存储路径):
echo '/dev/sdb1 /opt/unetlab/addons ext4 defaults 0 0' >> /etc/fstab详细教程:https://www.eve-ng.net/index.php/documentation/howtos-video/expand-hdd-on-eve-vm/
所需工具:Rufus(推荐)或 Etcher
步骤:
-
下载 EVE-NG PRO 7.0.1-21 ISO 镜像(社区版已在 6.2.0-4 停止更新)
-
准备容量 ≥ 8GB 的 U 盘,备份其中数据(制作过程会清除 U 盘内容)
-
运行 Rufus,选择 U 盘设备
-
引导类型选择「自动」,点击「选择」按钮找到下载的 ISO 文件
-
分区类型选择「GPT」(UEFI 启动)或「MBR」(Legacy 启动),根据目标服务器 BIOS 类型选择
-
点击「开始」,等待写入完成
-
将 U 盘插入目标服务器,设置 BIOS 优先从 USB 启动
-
后续安装步骤参照官方安装向导(v7 起有 first-boot UI)
部分品牌服务器(如 Dell PowerEdge、HP ProLiant)可能需要关闭安全启动才能从 USB 启动。
未找到相关问题
许可证与版本
长时间离线后重新开机的 EVE-PRO 可能在 15 分钟内自动解决许可证验证问题。若问题持续:
强制验证步骤:
- 确认 EVE 已联网,测试:
ping www.eve-ng.net- 重启许可证服务:
systemctl restart licserver- 等待 15-20 秒后检查状态:
unl_wrapper -a dummy- 输出显示
Online Check state: Valid即表示正常
若仍失败,检查:
- FQDN 设置是否正确(Web 界面 → System → Management → Hostname)
- 系统时间是否准确(v7 基于 Ubuntu 24.04,时区偏差会导致许可证校验失败)
- DNS 解析是否正常(试试
ping api.eve-ng.net)
核心概念:Freemium 和 Pro 是同一个安装镜像,不是两个产品。
下载 PRO 7.0.1-21 ISO 安装后,默认就是 Freemium 模式(无需任何许可证文件)。购买授权后在 Web 界面 System → License 上传激活即升级为完整 PRO。
Freemium 模式限制:
- 单实例最多 7 个网络节点(启动节点数限制)
- 不限 VPCS 节点数量
- 仅 admin 账号可用
- 不支持集群(Cluster)
- 不支持完整 API
两个模式唯一区别:允许启动的网络节点数量。其他所有功能完全一致:
- 完整的 Web UI(VueJS 重构版)
- 全部 IOL / QEMU / Dynamips 引擎
- Docker 节点支持
- 官方 Lab 库访问
- 模板与图标独立更新
- Hyper-V Beta(v7.0.1-18 起 Beta,7.0.1-21 仍为 Beta)
激活 / 升级流程:
- 安装 PRO 7.0.1-21 ISO(默认 Freemium)
- 购买许可证:EVE-NG 官方购买页
- Web 界面 → System → License → 上传许可证文件
- 重启服务,节点数限制自动解除
Freemium 模式适合个人学习与小规模实验,超过 7 节点限制会自动提示需要完整 PRO 授权。
PRO 提供 EVE-NG 7 Upgrade Assistant 自动迁移工具,将 V6(Ubuntu 22.04)平滑升级到 V7(Ubuntu 24.04):
升级包版本说明:升级包文件名中的版本号是当前升级工具版本(与 ISO 版本号不一定一致)。本文示例以 7.0.1-21 为例,请始终使用官方下载页面的最新升级包。
升级前准备:
- 停止所有运行中的 Lab 和节点:
/opt/unetlab/wrappers/unl_wrapper -a stopall- 完整备份(推荐 EVE-NG Backup Manager 或 VM 快照)
- 预留至少 40GB 磁盘空间
- SSH 用户在
screen或tmux会话中执行升级
升级步骤:
- 下载升级包(以 7.0.1-21 为例):
cd /rootwget https://customers.eve-ng.net/eve-pro-prod-bm-7.0.1-21-full-upgrade.runchmod +x eve-pro-prod-bm-7.0.1-21-full-upgrade.run- 执行升级:
./eve-pro-prod-bm-7.0.1-21-full-upgrade.run-
阅读免责声明后输入
yes继续,工具会自动完成 OS 22.04→24.04 迁移、EVE-NG 包升级、Docker 镜像刷新等步骤 -
重启:
reboot集群升级顺序:先升级所有 Satellite,最后升级 Master。
可选参数:--yes(非交互模式)、--force-direct(允许直接 SSH 执行,不推荐)
升级日志:/var/log/eve-upgrade-universal-<date>_<time>.log
PRO 7.0.1-21 完整支持 Docker 容器,运行基于 Ubuntu 24.04 的 docker 镜像(Dind / Sysbox)。
启用 Docker 支持:
apt updateapt install eve-ng-dockerssystemctl enable dockersystemctl start docker使用场景:
- 运行 Wireshark 进行分布式抓包
- 运行自定义监控工具(Zabbix、Prometheus)
- 运行轻量级 Linux 工具(Ubuntu Mini)
- v7 新增对 Cisco XRd、Nokia SRlinux、Arista cEOS 等容器化网络操作系统的支持
在实验室中使用 Docker 节点:
- 创建新实验室
- 添加节点时选择「Docker」类型
- 选择或导入 Docker 镜像
- 配置端口映射和网络设置
v7.0.1-18 起官方 Beta 引入 Hyper-V 部署 EVE-NG PRO 支持,7.0.1-21 仍处于 Beta 阶段:
系统要求:
- Windows Server 2022 或 Windows 11(专业版/企业版)
- 已开启 Hyper-V 角色
- CPU 支持二级地址转换(SLAT)
部署要点:
- 第 1 代虚拟机 + BIOS 启动
- 虚拟硬盘选 VHDX 格式
- 虚拟交换机使用 External 类型获取外部网络
- 内存使用动态分配(Dynamic Memory)
已知 Beta 限制:
- 嵌套虚拟化性能约为 VMware 的 70-80%
- 部分高级监控功能可能不准确
- 不建议用于生产环境
推荐场景:Windows Server 用户、Hyper-V 实验室、初学者快速体验。
官方承诺后续小版本持续优化 Hyper-V 支持。
未找到相关问题
镜像管理
执行权限修复命令:
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions该命令会自动:
- 设置正确的文件所有者(unetlab)
- 设置正确的权限标志(0644/0755)
- 设置正确的 ACL 策略
若问题仍然存在,手动检查:
# 检查文件是否存在ls -la /opt/unetlab/addons/qemu/# 检查文件大小(0 字节表示上传失败)qemu-img info /opt/unetlab/addons/qemu/your-device/disk.qcow2# 检查磁盘镜像完整性qemu-img check /opt/unetlab/addons/qemu/your-device/disk.qcow2检查清单:
-
QEMU 版本匹配 v7 默认使用 QEMU 8.x。在模板文件中指定
qemu_version: "8.0"(默认)或兼容版本"7.0"。 -
CPU 架构匹配 确保模板放在正确目录(intel/amd),且镜像所在宿主机 CPU 架构匹配。
-
镜像格式正确 确认镜像格式为 qcow2/vmdk/img,必要时转换:
# 检查镜像格式qemu-img info your-image.qcow2# 转换格式qemu-img convert -O qcow2 input.img output.qcow2- 查看社区反馈 在 EmulatedLab 论坛镜像帖下方查看其他用户的反馈,筛选「可用」/「不可用」标记。
排查步骤:
- 确认目录结构
QEMU 镜像必须放在
/opt/unetlab/addons/qemu/下,且每个镜像有独立目录,目录名即为模板前缀:
/opt/unetlab/addons/qemu/└── your-device-name/ └── disk.qcow2-
确认模板文件名 模板文件名必须与目录名一致:
your-device-name.yml -
确认模板存放位置 模板必须放在
/opt/unetlab/html/templates/intel/或/opt/unetlab/html/templates/amd/ -
重启 Web 服务
systemctl restart apache2- 清除浏览器缓存 Ctrl+Shift+Delete 清除浏览器缓存后刷新页面。
备份操作:
在源 EVE-NG 上打包镜像目录:
cd /opt/unetlab/addonstar -czvf qemu-addons-backup.tar.gz qemu/cd /opt/unetlab/html/templatestar -czvf templates-backup.tar.gz intel/ amd/迁移操作:
- 将压缩包复制到目标 EVE-NG:
scp qemu-addons-backup.tar.gz root@target-ip:/tmp/scp templates-backup.tar.gz root@target-ip:/tmp/- 在目标 EVE-NG 上解压恢复:
cd /opt/unetlab/addonstar -xzvf /tmp/qemu-addons-backup.tar.gzcd /opt/unetlab/html/templatestar -xzvf /tmp/templates-backup.tar.gz- 修复权限:
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions镜像文件通常较大,建议只备份实际使用的镜像,删除未使用的镜像目录后再打包,可显著减少备份体积。
未找到相关问题
实验室管理
实验室锁文件(.lock)通常在异常关机或节点崩溃时产生。强制删除所有锁文件:
find /opt/unetlab/labs/ -name '*.lock' -exec rm {} ;若问题反复出现,检查:
- 宿主机资源是否充足(CPU/内存耗尽会导致节点崩溃)
- 是否存在磁盘空间不足(
df -h) - 节点启动脚本是否陷入死循环
停止所有节点:
/opt/unetlab/wrappers/unl_wrapper -a stopall停止指定实验室:
# 列出运行中的实验室unl_wrapper -a list# 停止指定 Lab/opt/unetlab/wrappers/unl_wrapper -a stop --lab=/Lab_Name定时自动停止(防止资源耗尽): 在 crontab 中添加定时任务:
crontab -e# 每天凌晨 2 点自动停止所有实验室0 2 * * * /opt/unetlab/wrappers/unl_wrapper -a stopall在 v2.0.2-23 之前版本创建的 IOL 镜像使用的旧代码存在缺陷,导致启动慢。
解决方案:重新初始化 NVRAM
- 导出节点配置:
# 在实验室中右键节点 → Export Configuration# 保存到本地-
擦除 NVRAM 并重新启动节点
-
导入之前导出的配置
新版本 EVE 会为 IOL 创建新的 NVRAM 文件,解决旧代码缺陷问题。
重新初始化后,节点启动速度通常可提升 30-50%。
未找到相关问题
数据库与系统
通常有两个原因:硬盘过载或数据库崩溃。
排查第一步:检查硬盘空间
df -h若任何分区显示 100%,必须扩展硬盘。
排查第二步:修复数据库
# 恢复数据库unl_wrapper -a restoredb# 检查 MySQL 配置grep -q default_time_zone /etc/mysql/mysql.conf.d/mysqld.cnf || echo "default_time_zone='+00:00'" >> /etc/mysql/mysql.conf.d/mysqld.cnf# 重启 MySQLsystemctl restart mysql预防措施:
- 关机前务必先停止所有实验室(
/opt/unetlab/wrappers/unl_wrapper -a stopall) - 使用
shutdown -h now而非直接断电 - 避免在实验室运行时暂停虚拟机
这表示文件系统损坏,需要使用 fsck 修复:
-
在 initramfs 提示符输入
exit -
记录显示的设备路径(如
/dev/mapper/ubuntu-eve-ng--vg-root) -
执行文件系统修复:
fsck /dev/mapper/ubuntu-eve-ng--vg-root -y- 修复完成后输入
reboot重启
若文件系统损坏严重,可能需要重新安装 EVE。请务必在日常使用中定期备份重要数据。
执行以下命令可重置 EVE 到初始设置向导状态:
rm -f /opt/ovf/.configuredsu -执行后 EVE 会清除所有自定义配置(管理员账户、网络设置等),重启后进入初始设置向导。
此操作会清除所有用户账户和实验室数据,执行前请确保已备份重要数据。
仅重置 Web 界面密码(保留其他配置):
echo "DELETE from users where username = 'admin';" | mysql --host=localhost --user=root --password=eve-ng eve_ng_db# 社区版INSERT INTO users VALUES ('admin',NULL,'root@localhost',-1,'EVE-NG Administrator','85262adf74518bbb70c7cb94cd6159d91669e5a81edf1efebd543eadbda9fa2b',NULL,'','admin','',1);" | mysql --host=localhost --user=root --password=eve-ng eve_ng_db# PRO 版INSERT INTO users VALUES ('admin',NULL,'root@localhost',-1,'EVE-NG Administrator','85262adf74518bbb70c7cb94cd6159d91669e5a81edf1efebd543eadbda9fa2b',NULL,'','admin','',0,-1,'internal',-1,-1,0,-1);" | mysql --host=localhost --user=root --password=eve-ng eve_ng_db# 密码将恢复为 evePRO 7.x 在线更新(小版本,例如 7.0.1-19 → 7.0.1-21):
apt updateapt upgradeeve-ng-pro-updaterebootPRO V6 → V7 升级(大版本,跨 Ubuntu 22.04→24.04):
使用 EVE-NG 7 Upgrade Assistant(当前升级包为 eve-pro-prod-bm-7.0.1-21-full-upgrade.run),详见上文 V6→V7 升级 FAQ。
社区版(CE 6.2.0-4)说明:社区版已停止更新,新特性仅在 PRO V7 上提供。建议迁移到 PRO 7.0.1-21 并启用 Freemium 模式免费使用。
更新前请务必:
备份所有重要数据(镜像、实验室、模板)
在 VMware 中创建快照
停止所有运行的实验室
V6→V7 大版本升级需预留至少 40GB 磁盘空间
直接覆盖更新可能损坏系统,若更新后节点无法启动,唯一解决方案是全新安装后恢复备份。
更新完成后清除浏览器缓存(Ctrl+Shift+Delete),防止旧版 VueJS 前端缓存导致显示异常。
该警告表示运行的实验室请求的 CPU 资源略微超过宿主机实际可用资源,属于正常现象。这并无危害,节点仍会正常运行,只是性能可能略有下降。
若希望消除这些警告消息:
echo "options kvm ignore_msrs=1 report_ignored_msrs=0" >/etc/modprobe.d/kvm.confreboot若 CPU 持续 100% 满载,考虑:
- 减少同时运行的节点数量
- 降低单个节点的 CPU 分配
- 升级宿主机硬件(更多核心)
未找到相关问题
网络与连接
需要配置 Wireshark wrapper 的 root 密码:
- 找到 Wireshark wrapper 配置文件:
# Windows 客户端路径C:\Program Files\EVE-NG\wireshark_wrapper.bat- 编辑文件,将默认密码
eve替换为你的 EVE root 密码:
:: EVE-NG Wireshark Wrapper@echo offset EVEPASS=your_actual_password...- 保存文件后重新尝试抓包
抓包原理:
EVE 的 Wireshark 集成通过 SSH 连接到节点,使用 tcpdump 抓取流量并回传显示。本地 Wireshark 仅作为显示工具。
EVE-NG 支持通过 WireGuard VPN 实现云端互联,本地计算机可通过加密隧道访问云端 EVE。
通用配置流程:
- 在云端 EVE 主机部署 WireGuard 服务,分配本地网段(如
10.10.10.1/24) - 在云端控制台下载客户端配置文件(
.conf) - 本地安装 WireGuard 客户端(Windows: https://www.wireguard.com/install/)
- 导入
.conf文件,点击「连接」,状态变为「已连接」 - 在浏览器输入 EVE 的内网 IP 地址访问控制台
注意事项:
- WireGuard 使用 UDP 协议,确保云端防火墙已放行
51820端口 - 客户端配置文件包含服务端公钥与本地预共享密钥,切勿泄露
- 部分云厂商需在安全组规则中放行 WireGuard 端口
如使用第三方云桌面平台部署 EVE-NG,平台通常会提供图形化的「云端互联」入口,原理一致。
VMware Workstation 桥接配置:
- 在 VMware 中编辑 → 虚拟网络编辑器
- 选择 VMnet0(桥接模式)
- 桥接到宿主机实际网卡(而非自动)
- 在 EVE 虚拟机设置中确保网络适配器为桥接模式
EVE 内部桥接配置:
- 在 EVE Web 界面创建实验室
- 添加一个「Cloud」节点(不是普通的 Network)
- Cloud 节点代表物理网络,选择连接到的物理网卡
- 将其他节点连接到 Cloud,实现与物理网络互通
需要从 EVE 内的虚拟机访问互联网时,使用 NAT 模式;需要 EVE 内虚拟机与物理局域网其他设备互通时,使用桥接模式。
未找到相关问题
PRO 版本与集群
PRO 集群允许将多台 EVE-NG 服务器组成一个资源池,实验室节点可根据负载分布到不同服务器上运行。
集群架构:
- 至少 2 台 PRO 版本服务器
- 所有服务器位于同一局域网
- 共享镜像存储(推荐 NFS)
- 主节点负责调度
部署步骤:
-
在所有服务器安装 EVE-NG PRO 并激活许可证
-
在主节点配置:
# 添加集群节点ClusterManagement --add-node 192.168.1.101ClusterManagement --add-node 192.168.1.102# 验证集群状态ClusterManagement --status- 配置共享存储(所有节点访问同一镜像目录):
# 在 NFS 服务器上apt install nfs-kernel-serverecho '/opt/unetlab/addons *(rw,sync,no_subtree_check)' >> /etc/exportsexportfs -a# 在各 EVE 节点挂载mount nfs-server:/opt/unetlab/addons /opt/unetlab/addons- 在 Web 界面创建集群实验室,节点会自动分配到负载最低的服务器上运行
UKSM(User-space KVM Switching Manager)用于优化多 CSR(Cloud Services Router)1000v 节点的资源分配。
作用:当运行超过 10 个 CSR 时,UKSM 会调整 KVM 调度策略,避免 CPU 过载。
警告含义: 当你启动第 11 个及以上的 CSR 时,系统提示启用 UKSM,这是正常提示,不需要处理。
禁用 UKSM(如需): 如果你想运行超过 10 个 CSR 但希望禁用 UKSM:
# 编辑 KVM 配置vi /etc/modprobe.d/kvm.conf# 添加或修改为options kvm amber=0# 重启 kvm-intel 模块modprobe -r kvm-intelmodprobe kvm-intel禁用 UKSM 后运行大量 CSR 可能导致 CPU 过载,请根据宿主机硬件能力酌情处理。
PRO 版本提供完整的 REST API,可用于自动化实验室管理、节点控制等。
API 基础配置:
- 在 EVE-PRO 设置中启用 API:
# Web 界面:System → Management → API# 启用 API 并设置 API Key- API 基础 URL:
https://eve-ip/api/常用 API 端点:
# 获取实验室列表GET /labs# 获取指定实验室信息GET /labs/{lab_name}# 启动实验室POST /labs/{lab_name}/start# 停止实验室POST /labs/{lab_name}/stop# 获取节点状态GET /labs/{lab_name}/nodes/{node_id}# 控制节点(启动/停止/重启)POST /labs/{lab_name}/nodes/{node_id}/actionPython 调用示例:
import requestsapi_url = "https://192.168.1.100/api/"headers = {"Authorization": "Bearer YOUR_API_KEY"}# 获取实验室列表response = requests.get(f"{api_url}labs", headers=headers, verify=False)print(response.json())未找到相关问题
工具与集成
监控工具集成示例(LibreNMS):
-
在 EVE 中部署 LibreNMS 虚拟机(使用 QEMU 镜像)
-
配置 SNMP:
# 在网络设备上配置 SNMPsnmp-server community public rosnmp-server location Labsnmp-server contact admin@example.com- 在 LibreNMS 中添加设备:
# Web 界面:Add Device# 输入 EVE 内设备的 IP 和 SNMP CommunityWireshark 分布式抓包:
PRO 版本支持在 Docker 容器中运行 Wireshark,实现跨节点的分布式抓包:
# 启用 Docker 支持apt install eve-ng-dockers# 部署 Wireshark 容器eve-ng-docker run -d --name wireshark wireshark/wireshark:latest查看版本:
# PRO 版dpkg -l eve-ng-pro# 显示示例ii eve-ng-pro 7.0.1-21 amd64 EVE-NG Professional查看 EVE-NG 自定义内核版本:
uname -r# 输出示例:5.17.8-eve-ng-uksm-wg+ (v6)# v7 起:7.1.x-eve-ng-xxx查看底层系统:
cat /etc/lsb-release# v7 输出:Ubuntu 24.04 LTS Noble查看系统信息:
# CPU/内存free -mcat /proc/cpuinfo | grep 'model name' | head -1# 磁盘空间df -h# 运行时间uptime# 已加载镜像ls -la /opt/unetlab/addons/qemu/ls -la /opt/unetlab/addons/iol/bin/命令行界面(CLI):
用户名: root密码: eve网页界面(WEB):
用户名: admin密码: eve默认密码应尽快修改以防止未授权访问。使用 passwd root 和 passwd admin 分别修改 CLI 和 WEB 密码。
未找到相关问题