EVE-NG模拟器支持的镜像类型简介
EVE-NG支持目前的镜像有:Dynamips、IOL/IOU、QREMU,其支持的镜像和版本可具体去官网或论坛查询。
Dynamips镜像
- Dynamips是由法国UTC大学的Christophe Fillot于2005年发布的一款基于虚拟化技术的模拟器,主要用于在普通的PC上模拟Cisco的路由器,它可以运行标准的IOS镜像,目前可以支持1700、2600、3700、7200等系列的路由器,但支持的IOS版本相对较老(12.x),很多新的命令敲不了,且消耗的资源较多,使用体验不好,能不用就不用。
- EVE-NG模拟器支持的Dynamips镜像:c1700、c3700、c7200三个系列。
IOL/IOU镜像
- IOL为IOS on Linux(也叫IOU,IOS on Unix)的简写,可以运行在基于x86平台的任意Linux发行版系统中,IOL支持较新版本的IOS(为15.x的新版本IOS),基本完全支持思科设备的L2、L3功能,可以用来模拟基于新版本IOS的思科二层交换机、三层交换机和路由器,相比传统的Dynamips模拟器,优点是占用资源少、启动快!一般在可以使用IOL的条件下,最好使用IOL代替Dynamips镜像进行组网实验。
- EVE-NG模拟器支持的IOL镜像(以下是推荐的版本,其他同系列新版本也支持):
Qemu镜像
- Qemu是一套由法布里·贝拉(Fabric Bellard)所编写的以GPL许可证分发源码的模拟器处理器,Qemu可以帮助EVE-NG运行更多基于KVM的虚拟设备,越来越多的设备厂商开始开发并释放出适配KVM环境的系统,绝大多数网络设备(交换机、防火墙、路由器、负载均衡等)的操作系统和Linux系统、Windows系统等都可以制作出相应的Qemu镜像,在EVE-NG上进行使用,通常Qemu镜像的后缀名为qcow2,该文件本质是一个操作系统的硬盘文件。
- EVE-NG模拟器支持的Qemu镜像有:所有Qemu格式封装的镜像,Cisco、Juniper、Huawei、PaloAlto、Aruba、F5、Radware、Windows、Linux、VMware、Citrix等常见的操作系统,此外可以自己定制Qemu镜像。
常用镜像的导入和使用
Dynamips镜像导入和使用(支持较少不推荐)
- 准备镜像文件,前面提到,EVE-NG只支持思科c1700、c3700、c7200三个系列的路由器,Dynamips镜像文件是二进制文件,默认后缀为 .bin,而EVE可识别的Dynamips镜像的后缀为 .image,因此需要把后缀修改成 .image 。
- 远程登陆到EVE,默认用户名/密码是:root/eve,系统会提示。
- 上传镜像文件,EVE-NG服务器中的镜像文件都存放在 /opt/unetlab/addons/ 目录下,Dynamips镜像文件存放在 /opt/unbetlab/addons/dynamip ,借助SFTP工具把本地镜像文件上传到对应目录下。(可以使用的工具有secureCRT、xFTP、MobaXterm等带FTP/SFTP/TFTP功能的远程工具)。
- SecureCRT的SFTP会话常用命令如下:
- help //查看命令帮助
- lcd //切换本地目录
- lls //查看服务器当前目录下的文件列表
- lpwd //查看本地当前所在目录
- put <filename> //上传本地的文件到服务器目录
- get <filename> //下载服务器的文件到本地目录
- 修正文件权限:上传结束后,还需要授予EVE-NG系统读取这些镜像的权限,以便对这些镜像进行正常的操作和管理,直接在EVE-NG服务器上执行命令 /opt/unetlab/wrappers/unl_wrapper -a fixpermissions (这条命令执行完毕后没有输出,等待其执行完毕后就可以在EVE-NG Lab上使用该镜像)。
IOL/IOU镜像的导入和使用
- 准备镜像文件:首先准备好EVE-NG支持的IOL/IOU镜像文件(网上流传的版本很多,但大差不差),后缀名为 .bin,不需要修改后缀,此外运行IOL镜像还需要一个iourc为名的licence文件,iourc的lic中有一段license序列号,这段序列号会随着EVE-NG的hostname变动,hostname不同的话计算出来的结果也不同,这里借助一个python脚本 CiscoIOUKeygen.py 来根据当前环境重新生成license文件中的序列号信息,使用IOL/IOU镜像文件可以在EVE-NG平台上正常使用,iourc文件也可以在系统中自行创建,只是一个普通的文本文件,只要填入对应的序列号信息保存即可。
- 上传镜像文件:使用SecureCRT、xshell、MobaXterm等远程工具上传即可,目录为:/opt/unetlab/addons/iol/bin/。上传完毕后,检查一下。
- 计算镜像文件license序列号:在 /opt/unetlab/addons/iol/bin/ 目录下执行 python /CiscoOUKeygen.py 运行python脚本(EVE默认安装了python环境),然后使用计算出的license下的序列号代替iourc文件中的序列号。如果没有修改EVE-NG服务器的主机名,可以直接使用 972f30267ef51616 。
- 修正镜像文件授权:/opt/unetlab/warppers/unl_wapper -a fixpermitssions ,执行该命令后即可正常使用镜像文件。(如命令执行报错,检查虚拟机的虚拟化Intel VT-X/EPT或AMD-V/RVI(V)是否开启,未开启的话会报错。)
- 镜像测试:在Web界面使用。修改设备名,选择图标,NVRAM默认使用1MB即可,RAM默认是1GB改为256MB。
Qemu镜像导入和使用
- 准备镜像文件,Qemu镜像文件默认后缀名为 .qcow2 ,QEMU镜像类型很多,但导入方法都一样,大家可以根据自己需要选择不同的镜像。
- 导入镜像文件:过SSH登录EVS-NG服务器,将准备好的镜像文件夹(镜像必须在该文件夹下,且不能再嵌套文件夹,这是EVE系统的底层识别方式,和他的底层配置相关,虽然也可以修改但没必要。)导入EVE服务器上保存Qemu镜像文件的目录下 /opt/unetlab/addons/qemu/ ,导入步骤如下图所示(这几个镜像文件稍微有点大,需要点时间)。
- 修改镜像文件名:给上传好的镜像文件重新命名,EVE-NG对Qemu镜像文件的目录和文件名有严格要求,每个导入 /opt/unetlab/addons/qemu/ 目录下的qemu镜像必须放在一个父目录下,其父目录名称和镜像名称都要按照官方给定的规则进行命名,如果不符合规则会导致对应镜像无法与相应的模板匹配,从而无法被EVS-NG识别。我们可以从官网进行查询到其支持的所有QEMU镜像的命名规范,不同镜像系统的命名格式不一样,导入前去查一下就行,如我们这里4个镜像的命名规范如下:官方给定的表格中第一列指定该类型镜像的父目录的前半部分名称(一般为镜像类型名称的一部分简写加-,后半部分用户可以自定义,一般加对应镜像的版本号),第二列为镜像类型或厂商,第三列指定该类型镜像文件的文件名(不包含后缀.qcow)。
- 根据上述规范,我们需要为 /opt/unetlab/addons/qemu/ 目录下上传的每个镜像文件做三步操作:
创建一个父目录,名称格式为:EVE为该镜像类型预定义的模板名-XXX
将镜像文件移动到其父目录下
将镜像文件重命名,名称格式为:EVE为该镜像类型预定义的镜像名.qcow2
- 所以我们对上传的4个镜像文件处理如下:
- 对于asav-941-200.qcow2镜像,需要先为其在 /opt/unetlab/addons/qemu/ 目录下创建一个名为 asav-xxx 的父目录,然后将对应镜像移动到 asav-xxx 目录下,同时将其镜像文件重命名为 virtioa.qcow2。
- 如对于vsrx-vmdisk-15.1X49-D150.2.qcow2镜像,需要先为其创建一个名为 vsrxng-xxx 的父目录,然后将对应镜像移动到 vsrxng-xxx 目录下,同时将其镜像文件重命名为virtioa.qcow2。
- 修正镜像文件权限:完成镜像文件重命名后,跟之前一样。
- 根据上述规范,我们需要为 /opt/unetlab/addons/qemu/ 目录下上传的每个镜像文件做三步操作:
- 镜像测试:完成前边的步骤后,就可以在EVE-NG Lab平台上使用导入的镜像了。
常见问题:
重要目录或文件
yml文件:
- 位置:/opt/unetlab/html/templates/intel或amd
- 模板文件,可修改镜像相关的配置,如默认图标。
图标文件:
- 位置:/opt/unetlab/html/images/icons
- 图标存放配置,脚本调用。
客户端软件
- EVE-NG-Win-Client-Pack-2.0.exe
- 自己搜很容易找到,正常安装,本地有wireshark可以取消勾选,回头在客户端的目录中的wireshark脚本(.bat)修改路径即可
- 可能会遇到的问题是:plink访问拒绝
- 需要本地打开cmd用plink远程连接一次eve服务器,输入yes,目的是让plink生成和记住密钥,后续都能直接打开了。
- wireshark需要修改权限,允许用户修改和执行等操作。
- 导入注册表,修复Windows系统中的文件关联,执行win7_64bit_wireshark.reg文件即可。
- 完成上面三步基本就可以正常抓包了。
VNC连接Windows镜像后,无法点击里面的界面
- 导入注册表,修复Windows系统中的文件关联,执行.reg文件即可。
- 不行的话需重启eve服务器。
EVE-NG的web端不能热插拔问题
- 现象:开机后不能连线,需要关机才能连线,很不方便。
VPCS使用
在EVE-NG中配置PC的IP地址可以通过手动设置或使用DHCP获取。以下是详细步骤和示例。
设置主机名:
pcname + 名字
手动设置IP地址
可以使用以下命令手动设置IP地址、子网掩码和默认网关:
VPCS> ip 192.168.10.251 24 192.168.10.1
或者:
VPCS> ip 192.168.10.251 192.168.10.1 24
使用DHCP获取IP地址
首先,确保DHCP服务器已配置好,然后使用以下命令:
VPCS> ip dhcp
要查看当前的IP配置,可以使用以下命令:
VPCS> show ip all
释放IP地址:
VPCS> dhcp -x
续租IP地址:
VPCS> dhcp -r
show命令
show version
show ip
show ip all
show arp
history
save、load、clear
save命令用于保存配置,用法和网络设备一样。
save+文件名
clear命令仅支持清除ip地址、arp和历史命令
clear ip
clear arp
clear history
load命令,用于加载配置文件到内存中。
load + 文件名
set、ping、trace
略。
dump命令
主要用来设置抓包参数:
all:抓取所有流入流出的数据包。
detail:显示详细的协议信息。
file:设置抓取数据包保存为文件。
off:关闭抓包。
Mac:显示mac地址。
raw:抓取报文前40字节以二进制显示。
VPCS>set dump detail all //有数据经过就能抓取,没有可以ping一下。
VPCS>set dump detail all mac raw
VPCS>set dump off