EVE-NG镜像添加技巧(以思科虚拟化产品为例)

in 运维 with 0 comment

EVE-NG 目录结构

eve-ng目录结构.png

EVE-NG平台可以使用 Dynamics(从GNS3继承)、IOL(从WebIOU继承)、QEMU 镜像等。镜像在部署时需要严格遵守目录和命名规则,后文会按照镜像的类别记录添加技巧。

为确保部署的设备可以正常运行,修复权限必不可少,添加任何类型的镜像后运行下面的命令即可修复镜像权限:

/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

如果您使用 EVE-NG-PRO,建议支持正版。临时测试可以使用这个tookit工具,适用于2.0.4-20/21:eve-ng-toolkit.tar.gz

''' 上传并 cd 到目录下 '''
tar zxf eve-ng-toolkit.tar.gz -C /usr/share
ln -sf /usr/share/eve-ng-toolkit/eve-ng-toolkit /usr/bin/eve-ng-toolkit
rm -rf ./eve-ng-toolkit.tar.gz
rm -rf ./install
eve-ng-toolkit

安装 KVM 镜像管理工具(包含 guestfish 等)

apt-get update
apt-get install libguestfs-tools

添加 QEMU 镜像

QEMU 镜像都需要放到/opt/unetlab/addons/qemu/目录下,添加设备之前要建立对应的目录,且目录名称需要使用指定的前缀开头,目录下的镜像文件名称也必须用官方指定的名称。收集了常用虚拟设备的目录及镜像命名规范如下:

Vendor Qemu folder name EVE Qemu image .qcow2 name
A10-vthunder a10- hda
ACS acs- hda
ASA ported asa- hda
ASAv asav- virtioa
Ampcloud Private ampcloud- hda, hdb, hdc
Radware alteon- virtioa
Barracuda FW barracuda- hda
F5 bigip- hda, hdb
Brocade brocadevadx- hda
Cisco CDA cda- hda
Cisco IPS cips- hda, hdb
Aruba ClearPass clearpass- hda, hdb
Aruba Virtual Mobility Controller aruba- hda, hdb
Cisco WSA coeus coeus- virtioa
Cisco ESA phoebe- virtioa
Checkpoint cpsg- hda
Cisco CSR v1000 csr1000v- virtioa
Cisco CSR v1000 Denali & Everest csr1000vng- virtioa
Cisco Prime Infra prime- virtioa
Cisco CUCM cucm- virtioa
Cumulus cumulus- hda
ExtremeOS extremexos- hda
Cisco FirePower 5.4 NGIPS firepower- scsia
Cisco FirePower 5.4 FMC firepower- scsia
Cisco FirePower 6.x NGIPS firepower6- scsia
Cisco FirePower 6.x FMC firepower6- hda
Cisco FirePower 6.x FTD firepower6- hda
Fortinet FW fortinet- virtioa
Fortinet SGT fortinet- virtioa
Fortinet mail fortinet- virtioa, virtiob
Fortinet manager fortinet- virtioa
HP virt router hpvsr- hda
Huawei USG6000v huaweiusg6kv- hda
Cisco ISE 1.x ise- hda
Cisco ISE 2.x ise- virtioa
Junos Space jspace- hda
Infoblox infoblox- virtioa
Juniper vRR junipervrr- virtioa
any linux linux- hda
Mikrotik router mikrotik- hda
Citrix Netscaler nsvpx- virtioa
Cisco NX9K Nexus ( SATA best perf) nxosv9k- sataa
Juniper olive- hda
Ostinato traffic generator ostinato- hda
Apple OSX osx- hda + kernel.img
PaloAlto FW paloalto- virtioa
pFsense FW pfsense- hda
vRiverbed riverbed- virtioa, virtiob
DELL FW Sonicwall sonicwall- hda
Sourcefire NGIPS sourcefire- scsia
S-terra VPN sterra- hda
S-terra Gate sterra- virtioa
Alcatel Lucent Timos timos- hda
Cisco NXOS Titanium titanium- virtioa
Arista SW veos- hda, cdrom.iso
Cisco L3 vIOS Router vios- virtioa
Cisco L2 vIOS SW viosl2- virtioa
Viptela vBond vtbond- hda
Viptela vEdge vtedge- hda
Viptela vSmart vtsmart- hda
Viptela vManage vtmanage- hda, hdb
Juniper vMX router vmx- hda
Juniper vMX-VCP vmxvcp- hda, hdb, hdc
Juniper vMX-VFP vmxvfp- hda
Cisco VNAM vnam- hda
Juniper vQFX-PFE vqfxpfe- hda
Juniper vQFX-RE vqfxre- hda
vSRX 12.1 Juniper FW/router vsrx- virtioa
vSRX v15.x Juniper FW/router vsrxng- virtioa
Cisco WAAS vwaas- virtioa,virtiob,virtioc
Cisco vWLC WiFi controller vwlc- megasasa
VYOS vyos- virtioa
Windows Hosts (Not Server Editions) win- hda or virtioa(using driver)
Windows Server Editions winserver- hda or virtioa(using driver)
Cisco XRv router xrv- hda
Cisco XRv 9000 router xrv9k- virtioa

以目录名 “asa-9.1.5-16” 为例,第一个“-”之前的部分表示这是一台 “asa” 模拟器(根据前缀进行分类),之后的部分为人为备注。创建设备时看到的镜像名同这个目录名。目录下的 “hda.qcow2” 为官方或者社区维护 QEMU 镜像时使用的虚拟硬盘名称。

使用虚拟设备时的默认密码可以查询这份文件:EVE-NG-Pro Qemu Images List.pdf

思科的 n9kv、csr1000v、xrv、xrv9k、asav 等虚拟化产品,建议直接到思科官网下载。

以官网下载的 9.12.3-2 版本为例,建立 asav- 开头的文件夹,例如 “asav-9.12.3-2”,然后将镜像上传到该目录,并修改名称为 virtioa.qcow2。默认情况下,设备只有 vnc console,而没有telnet console,导致无法启动。

''' 使用镜像管理工具 guestfish '''
cd /opt/unetlab/addons/qemu/asav-9.12.3-2
guestfish -a virtioa.qcow2 
...
><fs> run 
...
$<2>\ 100% [############################ 耐心等待刷完 ##############################] 00:00
...
><fs> mount /dev/sda2 /    <<< 把分区挂接在本地,可以对镜像文件进行增删改(touch/rm/edit)
><fs> touch /use_ttyS0
><fs> umount /
><fs> exit

较新的版本的 xrv9k、csr1000v 等镜像会遇到和 asav 类似的问题,以 "fullk9-6.4.1" 版本为例:

cd /opt/unetlab/addons/qemu/xrv9k-fullk9-6.4.1
guestfish -a virtioa.qcow2
...
><fs> run 
...
><fs> list-filesystems    <<< 查看镜像中的文件系统,找到挂载点
/dev/sda1: ext4
/dev/sda2: unknown
/dev/app_vol_grp/app_lv0: ext4
/dev/panini_vol_grp/calvados_data_lv0: unknown
/dev/panini_vol_grp/calvados_lv0: unknown
/dev/panini_vol_grp/host_data_config_lv0: ext4
/dev/panini_vol_grp/host_data_log_lv0: ext4
/dev/panini_vol_grp/host_data_scratch_lv0: ext4
/dev/panini_vol_grp/host_lv0: ext4
/dev/panini_vol_grp/ssd_disk1_calvados_1: ext4
/dev/panini_vol_grp/ssd_disk1_calvados_swtam_1: ext4
/dev/panini_vol_grp/ssd_disk1_xr_1: ext4
><fs> 
><fs> mount /dev/sda1 /
><fs> touch /use_ttyS0
><fs> umount /
><fs> exit

... 待整理 ... 停止更新了,不折腾了


添加 IOL 镜像

IOL 镜像需要上传到/opt/unetlab/addons/iol/bin目录下,同时需要运行 iour.py 计算License,输出到iourc文件。

python3 CiscoIOUKeygen.py  | grep -A 1 "license" > iourc

添加 Dynamics 镜像

Dynamics 镜像需要上传到/opt/unetlab/addons/dynamips目录下,最后修复权限即可。

Comments are closed.