一、常用命令

# 刷新权限
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
# 提交镜像
/opt/qemu/bin/qemu-img commit virtioa.qcow2
# 虚拟硬盘格式转换
qemu-img convert -f vmdk -O qcow2 source-name.vmdk target-name.qcow2
# 镜像转换&压缩
qemu-img convert -c -f vmdk -O qcow2 source-name.vmdk target-name.qcow2
# 查看当前镜像信息
qemu-img info virtioa.qcow2	
# 创建新磁盘
/opt/qemu/bin/qemu-img create -f qcow2 virtioa.qcow2 100G
# 镜像扩容
qemu-img resize virtioa.qcow2 +xG(需要增加的容量)
# 压缩镜像
qemu-img convert -O qcow2 -c virtioa.qcow2  newvirtioa.qcow2

二、搭建

①、裸机安装

  1. 以root用户身份登录:
sudo su
  1. 更改root密码:

这个密码更改选项只是为了达到目的,当然你可以选择你自己的root密码,但不要忘记它会被用在Wireshark包装文件中!

sudo passwd root 
root @ eve-ng:~# sudo passwd root 
输入新的UNIX密码:eve 
重新输入新的UNIX密码:eve 
passwd:密码更新成功
  1. 为了方便使用EVE,安装NANO编辑器应用程序。
apt-get install nano
  1. 如果你在Ubuntu安装过程中没有设置主机名,改变它并且主机文件看起来如下,保存设置(ctrl + o,ctrl + x):
nano/etc/hostname 
eve-ng 
nano/etc/hosts                                                
127.0.0.1 localhost 
127.0.1.1 eve-ng.example.com eve-ng
  1. 允许使用root用户的ssh,编辑如下:
nano /etc/ssh/sshd_config
PermitRootLogin prohibit-password
to
PermitRootLogin yes
  1. 保存设置(Ctrl + O,Ctrl + X),然后重新启动SSH服务器:
systemctl restart sshd
  1. 复制/粘贴命令到终端:
sed -i -e 's/GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 noquiet"/' /etc/default/grub

update-grub
  1. 重要!为下面的文件添加必要的更改。它也可以是一个静态IP,遵循Linux Ubuntu如何为接口设置统计IP。下面的示例显示DHCP IP设置。GRUB更新后将接口名称更改为ethX,第一次启动后的原始名称将不起作用!!!!! 你必须编辑下面的接口,并重新启动!将原始接口名称更改为eth0
vim /etc/network/interfaces
# 该文件描述了系统上可用的网络接口 #以及如何激活它们。有关更多信息,请参阅接口(5)。
# 环回网络接口
auto lo 
if inet loopback 

auto eth0
iface eth0 inet dhcp

# 仅适用于10Gb接口!不需要将其安装在常规服务器上。Broadcom接口NetXtreme II 10Gb,对于常规服务器不是必需的:
apt-get install firmware-bnx2x
  1. 保存ctrl + o,ctrl + x设置并重启:

重启

  1. 从服务器下载密钥:
wget -O  - http://192.168.2.9/www.eve-ng.net/repo/eczema@ecze.com.gpg.key | apt-key add  -
  1. 添加EVE-NG服务器源:
#这里要说一下要用add-apt-repository,需要安装python-software-properties、software-properties-common安装命令
apt-get -y install python-software-properties 
apt-get -y install software-properties-common

再执行下面的命令

apt-get update
sudo add-apt-repository "deb [arch=amd64]  http://192.168.2.9/www.eve-ng.net/repo xenial main"
apt-get update

如果上面的失败了,我们可以用下面的命令添加源,反之忽略。。**

sed -i '1i\deb [arch=amd64]  http://www.eve-ng.net/repo xenial main' /etc/apt/sources.list

apt-get update

12.安装EVE:

DEBIAN_FRONTEND=noninteractive apt-get -y install eve-ng

13.复制Broadcom固件

cp -rp /lib/firmware/$(uname -r)/bnx2 /lib/firmware/

14.关闭你的会话并重新用root用户登录到EVE,然后按照设置向导:

<http://forum.eve-ng.cn/thread-6-1-1.html>

15.更新和升级EVE:

apt-get update 
apt-get upgrade
# Ubuntu国内apt源
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

# 提交docker镜像
docker commit -a "xkj" -m "eve" fe3eb6292c61 eve:v1

②、windows开机自动启动EVE-NG虚拟机

# 环境变量添加vmrun
	右击'我的电脑-属性-高级系统设置-高级-环境变量-系统变量-Path-编辑-新建',将vmware安装路径填进去

# 新建以.bat结尾的文件
	填入'vmrun -T ws start "D:\xnj\EVE-NG\EVE-NG.vmx" nogui'
	保存并测试能否启动(注意:虚拟机路径中不能有中文)
	
# 将启动脚本放入启动文件夹
	键盘按'win+R'
	填入'shell:startup'
	将.bat文件放入打开的文件夹中即可

③、windows关机自动关闭EVE虚拟机

# 环境变量添加vmrun
	右击'我的电脑-属性-高级系统设置-高级-环境变量-系统变量-Path-编辑-新建',将vmware安装路径填进去
	
# 新建以.bat结尾的文件
	填入'vmrun -T ws stop "D:\xnj\EVE-NG\EVE-NG.vmx" nogui'
	保存并测试能否成功关闭(注意:虚拟机路径中不能有中文)
	
# 将关闭脚本设置为关机项
	键盘按'win+R'
	填入'gpedit.msc'
	依次点击'本地计算机策略-计算机配置-windows设置-脚本-关机-添加'
	选择对应的脚本,确定即可

三、上传镜像

①.定制ISO格式镜像

1.创建镜像目录并上传文件

root@eve-ng:~# mkdir /opt/unetlab/addons/qemu/linux-myiso    //目录名称务必按照官方文档格式,否则无法识别

目录创建完成后,将.iso格式镜像上传至此目录下

2.重命名镜像

root@eve-ng:~# cd /opt/unetlab/addons/qemu/linux-myiso
root@eve-ng:~# mv xxx.iso cdrom.iso

3.创建一块新硬盘

root@eve-ng:~# /opt/qemu/bin/qemu-img create -f qcow2 virtioa.qcow2 100G

-f:format,指定创建格式
xG:指定创建硬盘大小

Tips:如果初始创建过小可以通过以下方式查看及扩容

root@eve-ng:~# qemu-img info virtioa.qcow2		//查看当前镜像信息
root@eve-ng:~# qemu-img resize virtioa.qcow2 +xG(需要增加的容量)

4.刷新权限

root@eve-ng:~# /opt/unetlab/wrappers/unl_wrapper -a fixpermissions

5.配置node

试验台中新建节点选定linux-myiso,启动后通过VNC等待cdrom.iso加载完毕,按照定制化需求配置好node

6.删除或重命名镜像

root@eve-ng:~# rm -f cdrom.iso	或
root@eve-ng:~# mv cdrom.iso myiso.iso

tip:先关闭node再执行,此步骤为避免下次仍然从cdrom启动

7.提交修改至镜像(PNET支持界面直接commit)

root@eve-ng:~# cd /opt/unetlab/tmp/0/1ce5f35e-8f90-42d8-84af-f342a3661f91/9

POD  ID:0
LAB  ID:1ce5f35e-8f90-42d8-84af-f342a3661f91
NODE ID:9

root@eve-ng:~# /opt/qemu/bin/qemu-img commit virtioa.qcow2    //执行时需关闭所有该镜像node
	提交后需要先验证镜像能否使用

8.刷新权限

root@eve-ng:~# /opt/unetlab/wrappers/unl_wrapper -a fixpermissions

9.压缩镜像(选做)

shell> virt-sparsify --compress virtioa.qcow2  newvirtioa.qcow2

shell> mv virtioa.qcow2 oldvirtioa.qcow2

shell> mv newvirtioa.qcow2 virtioa.qcow2

10.镜像测试

tip:开机前需要wipe一次node,否则可能无法启动。

②.定制OVA格式镜像

1.解压OVA文件

shell> tar xvf myova.ova

2.格式转换

shell> /opt/qemu/bin/qemu-img convert -f vmdk -O qcow2 myvmdk.vmdk hda.qcow2

-f:format,指定源格式
-O:output,指定目格式

3.创建镜像目录

shell> mkdir /opt/unetlab/addons/qemu/linux-myova

4.创建额外一块硬盘(选做)

shell> /opt/qemu/bin/qemu-img create -f qcow2 hdb.qcow2 30G

-f:format,指定创建格式
xG:指定创建硬盘大小

5.将文件放置在镜像目录下

shell> mv hda.qcow2 hdb.qcow2 /opt/unetlab/addons/qemu/linux-myova

6.刷新权限

shell> /opt/unetlab/wrappers/unl_wrapper -a fixpermissions

7.镜像测试

tip:开机前需要wipe一次node,否则可能无法启动。

四、常见故障

①、whireshark抓包提示Connection abandoned.

# 这种状况是由于未进行plink认证导致
# 进入eve-ng-client安装位置,一般在C:\Program Files\EVE-NG,打开命令行,运行如下命令
.\plink.exe -ssh -l root -pw eve 地址
# 之后重新抓包即可

②、扩容swap

vgdisplay	# 查看空闲空间

lvextend   -L +3G /dev/ubuntu-vg/swap_1    (增加3G)

发现已经成功扩容,接下来重置交换分区显示最新大小

swapoff -a

mkswap /dev/ubuntu-vg/swap_1

sudo swapon -a

③、隐藏无设备的模板

cp /opt/unetlab/html/includes/config.php.distribution /opt/unetlab/html/includes/config.php

④、实验内部访问互联网

# 需要在路由器上配置默认路由
ip route 0.0.0.0 0.0.0.0 192.168.1.1
ip name-server 8.8.8.8

⑤、修改固定ip

# 修改配置文件/etc/network/interfaces
iface eth0 inet manual
auto pnet0
iface pnet0 inet static
    bridge_ports eth0
    bridge_stp off
    bridge_ageing 0
    address 192.168.2.8
    netmask 255.255.255.0
    gateway 192.168.2.1
    dns-nameservers 223.5.5.5