一、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 apt install filezilla
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
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抓包工具
8.使用wireshark抓包提示权限不够
couldn’t run /usr/bin/dumpcap in child process:权限不够
将当前用户添加到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自带的命令行终端管理,抓包倒没啥区别
二、eve-ng的web界面功能介绍
eve-ng创建目录及试验
一个目录里面可能包含多个试验
eve-ng创建的目录位置
root@localhost:~# find / -name demo1 /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> 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 #停止抓取
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
进入该项
星号表示启用
查看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/ cp linux.yml h3c.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: -machine type=pc,accel=kvm -vga std -usbdevice tablet -boot order=cd
制作一个图标并上传到/opt/unetlab/html/images/icons
上传镜像到/opt/unetlab/addons/qemu/h3c-2000
注意目录名称必须是h3c开头,需要和之前修改的配置一致
设置镜像读写执行权限
cd /opt/unetlab/addons/qemu chmod -R 777 *
添加H3C防火墙
此时节点列表就会多出一个我们自定义添加的h3c
八、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图形化新建虚拟机
详细步骤请看我的其他教程,毕竟这里主要是讲eve-ng的
我这里安装的是centos7带图形界面的
此时我们已经得到了centos7的qcow2镜像了,先复制一份到其他目录,注意这里不要直接上传,先压缩后再上传到eve-ng
压缩qcow2镜像
#将centos7.qcow2压缩为hda.qcow2 qemu-img convert -c -p -O qcow2 centos7.qcow2 hda.qcow2
剩下的步骤和之前一样,上传镜像,然后设置权限即可使用了
用户root 密码chb
评论
查看更多