ubuntu下使用virtualbox搭建eve-ng学习环境

嵌入式技术

1367人已加入

描述

一、ubuntu下使用virtualbox搭建eve-ng学习环境

为什么要学习eve-ng

像GNS3只能模拟思科的路由器,IOU只能模拟思科的路由器和交换机,eNSP只能模拟华为的网络设备,如果要搭建不同厂家的设备实验环境,只能桥接又桥接,很麻烦,或者说很不方便。

eve-ng是什么?

一个类ubuntu操作系统,可以模拟各种厂商的网络设备,路由器,交换机,防火墙等等甚至是win,linux
eve-ng怎么学习?既然是操作系统,当然可以直接安装在硬件上,不过一般的做法是用类似VMware或者VirtualBox,然后在virtualbox上运行eve-ng,这里为啥是virtualbox,主要是我现在学习的是ubuntu系统,和virtualbox比较搭配,仅此而已。
eve-ng为什么可以模拟,这么多不同厂商的网络设备,甚至包括win,linux等操作系统?
这里就是说到eve-ng支持的三大组件,Dynamips,IOL,QEMU。

eve-ng支持的三大组件,Dynamips,IOL,QEMU

Dynamips是用于模拟思科路由器的,基于它的模拟器有小凡,以及大名鼎鼎的GNS3,但它只能模拟路由,交换基本上都不行
IOL是将思科的ios运行在linux上,可以很好的支持交换功能,基于它的模拟器有web-iou
QEMU是一套开源产品,是用纯软件实现的模拟器,几乎可以模拟任何硬件设备,这也是为什么eve-ng能模拟win,linux以及其他厂商的网络设备的原因

1.下载eve-ng并导入virtualbox中

我这里用的是Free EVE Community Edition这个是社区版是免费的
我当前用的版本是Free EVE Community Edition Version 5.0.1-13
Ubuntu
eve-ng系统登录用户名是root密码eve
web登录用户名是admin密码eve

2.设置CPU虚拟化增强支持

导入eve后先不急着开机,设置一下这里,提高性能
这里再啰嗦一下,网络选择桥接,其他的应该也可以,可能需要进一步的设置,说实话virtualbox我也是刚玩没多久,这些先选桥接吧
Ubuntu

3.上传Dynamips的思科3725镜像到eve-ng

此时的eve-ng还是个空壳,啥也玩不了,所以先导入一个Dynamips的思科3725镜像
将Dynamips镜像传到eve-ng的/opt/unetlab/addons/dynamips/
修改镜像文件的读写执行权限 chmod -R 777 *

4.安装filezilla

之前我是windows环境下使用VMware玩的eve-ng,windows下可以使用winscp,ubuntu只能用filezilla来上传镜像到eve-ng中

 

#安装filezilla
apt install filezilla
Ubuntu

 

5.安装asbru-cm

相当于windows下的secureCRT,换了环境,所有软件得重新熟悉了

asbru-cm网站
https://www.asbru-cm.net/

有小伙伴注意到了为啥要先安装这个curl,是因为ubuntu默认是没有装这个命令

 

apt install curl
curl -1sLf 'https://dl.cloudsmith.io/public/asbru-cm/release/cfg/setup/bash.deb.sh' | sudo -E bash
sudo apt install asbru-cm
Ubuntu

 

6.ubuntu安装EVE-NG Integration集成包

ubuntu安装EVE-NG Integration,这个是eve-ng的集成包,作用是可以用软件来管理里面的网络设备,还可以抓包,里面内置的wireshark抓包工具

 

sudo add-apt-repository ppa:smartfinn/eve-ng-integration
sudo apt-get update
sudo apt-get install eve-ng-integration

 

安装过程中会出现类图形界面
should non-superusers be able to capture packets?
选择“是”

7.在eve-ng中使用wireshark抓包工具

Ubuntu

8.使用wireshark抓包提示权限不够

couldn’t run /usr/bin/dumpcap in child process:权限不够

Ubuntu

将当前用户添加到wireshark组

 

cat /etc/group | grep wire  #查看组名称

whoami   #在普通用户模式下,查看当前登录用户名

usermod -a -G wireshark chb      #chb是我的用户名,你的需要改成你自己的

 

做完记得重启

9.安装完eve-ng集成包的效果

其实上传完Dynamips的思科3725镜像,就已经可以开始玩了,web首页选择html5 console,就可以通过网页的方式管理eve-ng里面的网络设备了,但是用的肯定不爽,而且没办法抓包,所以eve-ng集成包是一定要安装的,windows下也有对应的eve-ng集成包,感觉功能更加强大,还可以用secureCRT去管理,ubuntu下安装完这个集成包,只是变成ubuntu自带的命令行终端管理,抓包倒没啥区别

Ubuntu
Ubuntu

二、eve-ng的web界面功能介绍

Ubuntu

eve-ng创建目录及试验

一个目录里面可能包含多个试验

Ubuntu

eve-ng创建的目录位置

 

root@localhost:~# find / -name demo1
/opt/unetlab/labs/demo1

 

eve-ng查看设备运行情况

这里主要是看磁盘空间,因为导入镜像多了,空间可能不够用

Ubuntu

eve-ng导出及导入试验

注意可以导出目录也可以导出试验,这里直接导出目录,之前就说过,一个目录里面可以包含多个试验

Ubuntu
Ubuntu

eve-ng添加思科路由器

这个是我们之前上传的那个Dynamips的思科3725镜像,只有上传的对应的设备镜像,才能使用,之前也说过了

Ubuntu
Ubuntu
Ubuntu

eve-ng添加集线器、桥接云、区域、文字

这里为啥没有最重要的路由器,主要是太明显了,觉得没必要

Ubuntu

eve-ng保存设备配置及擦除配置

eve-ng里面设备的配置,直接通过命令保存配置,如思科的是write ,即使你重启你的物理机配置也是不会丢失的,非常的给力。

擦除配置需要在设备关机的情况下,右键点Wipe

Ubuntu

eve-ng导出设备配置及删除导出的配置

说实话我都不想说这部分的内容,感觉没必要搞的那么复杂,能够保存配置和擦除配置就足够了,
既然有这个功能,还是说一下吧,而且这个玩意有点绕。一旦你选择了导出设备配置,即使你点了擦除配置也没有用。必须点删除导出的配置然后再擦除才行,另外需要特别说明的是,这个删除导出的配置的操作,必须是用鼠标框选,然后再右键设备才能看的到。

Ubuntu
Ubuntu
Ubuntu

三、eve-ng添加IOL路由器及交换机

上传IOL思科镜像文件到/opt/unetlab/addons/iol/bin

Ubuntu

上传CiscoIOUKeygen.py文件到/opt/unetlab/addons/iol/bin

这里说明一下因为IOL本身是思科内部用的,不对外开放,所以这个Python脚本是做什么用的,你懂的吧。

Ubuntu

在/opt/unetlab/addons/iol/bin目录下执行以下命令生成iourc文件

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

Ubuntu

在/opt/unetlab/addons/iol/bin目录下执行以下命令设置权限

chmod -R 777 *

eve-ng添加IOL设备

Ubuntu
Ubuntu
Ubuntu

如果你是用Native Console方式管理设备的话,会弹出这个提示按ctrl+回车即可进入
Ubuntu
Ubuntu

四、eve-ng添加qemu路由器

在目录/opt/unetlab/addons/qemu/中新建目录vios-xxx
注意必须按照这个格式命名,后面的xxx是自定义的

上传镜像到/opt/unetlab/addons/qemu/vios-15.5.3M

Ubuntu

设置镜像权限chmod -R 777 *

Ubuntu

eve-ng添加qemu路由器
Ubuntu
Ubuntu
Ubuntu

五、eve-ng添加linux镜像

在目录/opt/unetlab/addons/qemu/中新建目录linux-xxx
注意必须按照这个格式命名,后面的xxx是自定义的

上传镜像到/opt/unetlab/addons/qemu/linux-centos7.1

Ubuntu

设置镜像读写执行权限

Ubuntu

eve-ng添加linux

Ubuntu
Ubuntu

linux用户名root密码eve@123
这个是别人做好镜像,当然你也可以自己定制属于你自己的镜像
Ubuntu

六、eve-ng搭建试验使用VPC并抓包

添加VPC

Ubuntu

搭建拓扑

Ubuntu

VPC相关命令

 

VPCS> ip 10.1.1.2/24 10.1.1.1       #设置IP地址及网关

VPCS> ip dhcp       #设置DHCP自动获取

VPCS> ip dns 114.114.114.114     #设置DNS

VPCS> show ip      #查看IP及网关DNS

VPCS> save      #保存配置

VPCS> ping 10.1.1.2

VPCS> set dump detail all    #抓取所有数据包

VPCS> set dump off      #停止抓取
Ubuntu

 

R2路由器配置

 

Router>enable 
Router#configure terminal 
Router(config)#hostname R2
R2(config)#interface ethernet 0/0
R2(config-if)#ip address 10.1.1.1 255.255.255.0
R2(config-if)#no shutdown
R2(config)#interface ethernet 0/1
R2(config-if)#ip address 10.1.2.1 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#ip route 0.0.0.0 0.0.0.0 10.1.2.2
R2#write

 

R3路由器配置

 

Router>enable
Router#config terminal 
Router(config)#hostname R3
R3(config)#interface gigabitEthernet 0/0
R3(config-if)#ip address 10.1.2.2 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#interface gigabitEthernet 0/1
R3(config-if)#ip address 10.1.3.1 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#ip route 0.0.0.0 0.0.0.0 10.1.2.1
R3#write

 

linux使用nmtui设置IP

nmtui命令打开类图形界面设置IP
Ubuntu

进入该项
Ubuntu

星号表示启用
Ubuntu

查看IP

Ubuntu

抓取数据包

先相互ping通
Ubuntu
Ubuntu
Ubuntu

七、eve-ng添加非官方列表设备h3c防火墙

在/opt/unetlab/html/templates/amd目录下复制linux.yml并改名为h3c.yml

需注意因为我的cpu是amd的所以目录是amd,如果你的是Intel则进入Intel目录

 

cd /opt/unetlab/html/templates/amd/
cp linux.yml h3c.yml
Ubuntu

 

修改h3c.yml文件

nano h3c.yml

 

type: qemu     #类型是qemu
description: h3c      #设备列表显示名称
name: h3c
cpulimit: 1
icon: h3c.png        #图标,现在没有后面要上传
cpu: 2
ram: 1024          #内存大小
ethernet: 4           #网口数量
console: vnc
shutdown: 1
qemu_arch: x86_64
qemu_nic: virtio-net-pci
qemu_options: -machine type=pc,accel=kvm -vga std -usbdevice tablet -boot order=cd
Ubuntu

 

制作一个图标并上传到/opt/unetlab/html/images/icons

Ubuntu

上传镜像到/opt/unetlab/addons/qemu/h3c-2000

注意目录名称必须是h3c开头,需要和之前修改的配置一致
Ubuntu

设置镜像读写执行权限

 

cd /opt/unetlab/addons/qemu
chmod -R 777 *

 

添加H3C防火墙

此时节点列表就会多出一个我们自定义添加的h3c

Ubuntu
Ubuntu
Ubuntu

八、eve-ng添加自制qcow2镜像

ubuntu安装KVM

qemu-kvm为KVM管理程序提供硬件仿真的软件。
libvirt-daemon-system 将libvirt守护程序作为系统服务运行的配置文件。
libvirt-clients 用于管理虚拟化平台的软件。
bridge-utils一组用于配置以太网桥的命令行工具。
virtinst一组用于创建虚拟机的命令行工具。
virt-manager 一个易于使用的GUI界面和支持命令行工具,用于通过libvirt管理虚拟机。

 

#安装
apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager

#查看组名称
cat /etc/group | grep libvirt

#查看当前登录的用户名
whoami

#将当前用户chb添加到libvirt组
usermod -a -G libvirt chb

#查看libvirtd服务状态
systemctl status libvirtd

 

使用virt-manager图形化新建虚拟机

Ubuntu

详细步骤请看我的其他教程,毕竟这里主要是讲eve-ng的

我这里安装的是centos7带图形界面的
此时我们已经得到了centos7的qcow2镜像了,先复制一份到其他目录,注意这里不要直接上传,先压缩后再上传到eve-ng

压缩qcow2镜像

 

#将centos7.qcow2压缩为hda.qcow2
qemu-img convert -c -p -O qcow2 centos7.qcow2 hda.qcow2
Ubuntu

 

剩下的步骤和之前一样,上传镜像,然后设置权限即可使用了
用户root 密码chb
Ubuntu

  审核编辑:汤梓红
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分