一、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
eve-ng系统登录用户名是root密码eve
web登录用户名是admin密码eve
2.设置CPU虚拟化增强支持
导入eve后先不急着开机,设置一下这里,提高性能
这里再啰嗦一下,网络选择桥接,其他的应该也可以,可能需要进一步的设置,说实话virtualbox我也是刚玩没多久,这些先选桥接吧
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 aptinstallfilezilla
5.安装asbru-cm
相当于windows下的secureCRT,换了环境,所有软件得重新熟悉了
有小伙伴注意到了为啥要先安装这个curl,是因为ubuntu默认是没有装这个命令
aptinstallcurl curl-1sLf'https://dl.cloudsmith.io/public/asbru-cm/release/cfg/setup/bash.deb.sh'|sudo-Ebash sudoaptinstallasbru-cm
6.ubuntu安装EVE-NG Integration集成包
ubuntu安装EVE-NG Integration,这个是eve-ng的集成包,作用是可以用软件来管理里面的网络设备,还可以抓包,里面内置的wireshark抓包工具
sudoadd-apt-repositoryppa:smartfinn/eve-ng-integration sudoapt-getupdate sudoapt-getinstalleve-ng-integration
安装过程中会出现类图形界面
should non-superusers be able to capture packets?
选择“是”
7.在eve-ng中使用wireshark抓包工具
8.使用wireshark抓包提示权限不够
couldn’t run /usr/bin/dumpcap in child process:权限不够
将当前用户添加到wireshark组
cat/etc/group|grepwire#查看组名称 whoami#在普通用户模式下,查看当前登录用户名 usermod-a-Gwiresharkchb#chb是我的用户名,你的需要改成你自己的
做完记得重启
9.安装完eve-ng集成包的效果
其实上传完Dynamips的思科3725镜像,就已经可以开始玩了,web首页选择html5 console,就可以通过网页的方式管理eve-ng里面的网络设备了,但是用的肯定不爽,而且没办法抓包,所以eve-ng集成包是一定要安装的,windows下也有对应的eve-ng集成包,感觉功能更加强大,还可以用secureCRT去管理,ubuntu下安装完这个集成包,只是变成ubuntu自带的命令行终端管理,抓包倒没啥区别
二、eve-ng的web界面功能介绍
eve-ng创建目录及试验
一个目录里面可能包含多个试验
eve-ng创建的目录位置
root@localhost:~#find/-namedemo1 /opt/unetlab/labs/demo1
eve-ng查看设备运行情况
这里主要是看磁盘空间,因为导入镜像多了,空间可能不够用
eve-ng导出及导入试验
注意可以导出目录也可以导出试验,这里直接导出目录,之前就说过,一个目录里面可以包含多个试验
eve-ng添加思科路由器
这个是我们之前上传的那个Dynamips的思科3725镜像,只有上传的对应的设备镜像,才能使用,之前也说过了
eve-ng添加集线器、桥接云、区域、文字
这里为啥没有最重要的路由器,主要是太明显了,觉得没必要
eve-ng保存设备配置及擦除配置
eve-ng里面设备的配置,直接通过命令保存配置,如思科的是write ,即使你重启你的物理机配置也是不会丢失的,非常的给力。
擦除配置需要在设备关机的情况下,右键点Wipe
eve-ng导出设备配置及删除导出的配置
说实话我都不想说这部分的内容,感觉没必要搞的那么复杂,能够保存配置和擦除配置就足够了,
既然有这个功能,还是说一下吧,而且这个玩意有点绕。一旦你选择了导出设备配置,即使你点了擦除配置也没有用。必须点删除导出的配置然后再擦除才行,另外需要特别说明的是,这个删除导出的配置的操作,必须是用鼠标框选,然后再右键设备才能看的到。
三、eve-ng添加IOL路由器及交换机
上传IOL思科镜像文件到/opt/unetlab/addons/iol/bin
上传CiscoIOUKeygen.py文件到/opt/unetlab/addons/iol/bin
这里说明一下因为IOL本身是思科内部用的,不对外开放,所以这个Python脚本是做什么用的,你懂的吧。
在/opt/unetlab/addons/iol/bin目录下执行以下命令生成iourc文件
python3 CiscoIOUKeygen.py | grep -A 1 'license' > iourc
在/opt/unetlab/addons/iol/bin目录下执行以下命令设置权限
chmod -R 777 *
eve-ng添加IOL设备
如果你是用Native Console方式管理设备的话,会弹出这个提示按ctrl+回车即可进入
四、eve-ng添加qemu路由器
在目录/opt/unetlab/addons/qemu/中新建目录vios-xxx
注意必须按照这个格式命名,后面的xxx是自定义的
上传镜像到/opt/unetlab/addons/qemu/vios-15.5.3M
设置镜像权限chmod -R 777 *
eve-ng添加qemu路由器
五、eve-ng添加linux镜像
在目录/opt/unetlab/addons/qemu/中新建目录linux-xxx
注意必须按照这个格式命名,后面的xxx是自定义的
上传镜像到/opt/unetlab/addons/qemu/linux-centos7.1
设置镜像读写执行权限
eve-ng添加linux
linux用户名root密码eve@123
这个是别人做好镜像,当然你也可以自己定制属于你自己的镜像
六、eve-ng搭建试验使用VPC并抓包
添加VPC
搭建拓扑
VPC相关命令
VPCS>ip10.1.1.2/2410.1.1.1#设置IP地址及网关 VPCS>ipdhcp#设置DHCP自动获取 VPCS>ipdns114.114.114.114#设置DNS VPCS>showip#查看IP及网关DNS VPCS>save#保存配置 VPCS>ping10.1.1.2 VPCS>setdumpdetailall#抓取所有数据包 VPCS>setdumpoff#停止抓取
R2路由器配置
Router>enable Router#configureterminal Router(config)#hostnameR2 R2(config)#interfaceethernet0/0 R2(config-if)#ipaddress10.1.1.1255.255.255.0 R2(config-if)#noshutdown R2(config)#interfaceethernet0/1 R2(config-if)#ipaddress10.1.2.1255.255.255.0 R2(config-if)#noshutdown R2(config-if)#exit R2(config)#iproute0.0.0.00.0.0.010.1.2.2 R2#write
R3路由器配置
Router>enable Router#configterminal Router(config)#hostnameR3 R3(config)#interfacegigabitEthernet0/0 R3(config-if)#ipaddress10.1.2.2255.255.255.0 R3(config-if)#noshutdown R3(config-if)#exit R3(config)#interfacegigabitEthernet0/1 R3(config-if)#ipaddress10.1.3.1255.255.255.0 R3(config-if)#noshutdown R3(config-if)#exit R3(config)#iproute0.0.0.00.0.0.010.1.2.1 R3#write
linux使用nmtui设置IP
nmtui命令打开类图形界面设置IP
进入该项
星号表示启用
查看IP
抓取数据包
先相互ping通
七、eve-ng添加非官方列表设备h3c防火墙
在/opt/unetlab/html/templates/amd目录下复制linux.yml并改名为h3c.yml
需注意因为我的cpu是amd的所以目录是amd,如果你的是Intel则进入Intel目录
cd/opt/unetlab/html/templates/amd/ cplinux.ymlh3c.yml
修改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:-machinetype=pc,accel=kvm-vgastd-usbdevicetablet-bootorder=cd
制作一个图标并上传到/opt/unetlab/html/images/icons
上传镜像到/opt/unetlab/addons/qemu/h3c-2000
注意目录名称必须是h3c开头,需要和之前修改的配置一致
设置镜像读写执行权限
cd/opt/unetlab/addons/qemu chmod-R777*
添加H3C防火墙
此时节点列表就会多出一个我们自定义添加的h3c
八、eve-ng添加自制qcow2镜像
ubuntu安装KVM
qemu-kvm为KVM管理程序提供硬件仿真的软件。
libvirt-daemon-system 将libvirt守护程序作为系统服务运行的配置文件。
libvirt-clients 用于管理虚拟化平台的软件。
bridge-utils一组用于配置以太网桥的命令行工具。
virtinst一组用于创建虚拟机的命令行工具。
virt-manager 一个易于使用的GUI界面和支持命令行工具,用于通过libvirt管理虚拟机。
#安装 aptinstall-yqemuqemu-kvmlibvirt-daemonlibvirt-clientsbridge-utilsvirt-manager #查看组名称 cat/etc/group|greplibvirt #查看当前登录的用户名 whoami #将当前用户chb添加到libvirt组 usermod-a-Glibvirtchb #查看libvirtd服务状态 systemctlstatuslibvirtd
使用virt-manager图形化新建虚拟机
详细步骤请看我的其他教程,毕竟这里主要是讲eve-ng的
我这里安装的是centos7带图形界面的
此时我们已经得到了centos7的qcow2镜像了,先复制一份到其他目录,注意这里不要直接上传,先压缩后再上传到eve-ng
压缩qcow2镜像
#将centos7.qcow2压缩为hda.qcow2 qemu-imgconvert-c-p-Oqcow2centos7.qcow2hda.qcow2
剩下的步骤和之前一样,上传镜像,然后设置权限即可使用了
用户root 密码chb
审核编辑:刘清