一、常用命令
# 刷新权限
/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
二、搭建
①、裸机安装
- 以root用户身份登录:
sudo su
- 更改root密码:
这个密码更改选项只是为了达到目的,当然你可以选择你自己的root密码,但不要忘记它会被用在Wireshark包装文件中!
sudo passwd root
root @ eve-ng:~# sudo passwd root
输入新的UNIX密码:eve
重新输入新的UNIX密码:eve
passwd:密码更新成功
- 为了方便使用EVE,安装NANO编辑器应用程序。
apt-get install nano
- 如果你在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
- 允许使用root用户的ssh,编辑如下:
nano /etc/ssh/sshd_config
PermitRootLogin prohibit-password
to
PermitRootLogin yes
- 保存设置(Ctrl + O,Ctrl + X),然后重新启动SSH服务器:
systemctl restart sshd
- 复制/粘贴命令到终端:
sed -i -e 's/GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 noquiet"/' /etc/default/grub
update-grub
- 重要!为下面的文件添加必要的更改。它也可以是一个静态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
- 保存ctrl + o,ctrl + x设置并重启:
重启
- 从服务器下载密钥:
wget -O - http://192.168.2.9/www.eve-ng.net/repo/eczema@ecze.com.gpg.key | apt-key add -
- 添加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