30
2022
11
15:11:21

EVE-NG模拟器教程——常用镜像导入和使用



推荐点击下面图片,通过本站淘宝优惠价购买:

image.png

https://blog.csdn.net/liuhuayeyu/article/details/124082469

       

 网络模拟器的镜像文件是指一个模拟真实设备功能和特性的操作系统,我们可以通过在模拟器上导入并启动一个镜像系统,来体验真实网络设备的部分功能和特性。这些镜像文件有些是由设备厂商(官方)开发和发布,有些则是有一些第三方组织开发和发布,用来供感兴趣的人研究学习。镜像是模拟器的核心,所有组网实验及设备的功能特性都依赖于对应的镜像,模拟器是否强大也取决于其对不同类型镜像的支持程度。EVE-NG模拟器安装好之后,默认不带任何镜像文件,需要的镜像文件都需要自行导入。


        本篇教程就带大家来学习一下 EVE-NG模拟器支持的镜像类型和常用镜像的导入和使用方法。


目录


一、EVE-NG模拟器支持的镜像类型简介


1、Dynamips类型镜像


2、IOL/IOU类型镜像


3、Qemu类型镜像


二、常用镜像文件的导入和使用


1、Dynamips模拟器镜像导入和使用


1)、准备镜像文件                


 2)、登录EVS-NG服务器


3)、上传镜像文件


4)、修正镜像文件权限


*5)、计算镜像文件的IDLE值


6)、镜像测试


2、IOL/IOU镜像导入和使用


1)、准备镜像文件


2)、上传镜像文件


3)、计算镜像文件License序列号


4)、修正镜像文件权限


5)、镜像测试




3、Qemu镜像导入和使用


1)、准备镜像文件


2)、导入镜像文件


3)、修改镜像文件名


4)、修正镜像文件权限


5)、镜像测试


结语


一、EVE-NG模拟器支持的镜像类型简介

        EVE-NG支持目前市面上的绝大多数镜像类型(Dynamips、IOL/IOU以及QEMU),其支持的镜像类型和版本信息,均可以在官网上查询到,如下图所示:

107b8f07b59299f2c40bdd27dfcf8271_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png



        目前几种主流的镜像类型如下:


1、Dynamips类型镜像

        Dynamips是由法国UTC大学的Christophe Fillot于2005年发布的一款基于虚拟化技术的模拟器,主要用于在普通PC上模拟Cisco的路由器,它可以运行标准的IOS镜像,目前已经可以支持1700、2600、3700、7200等系列的路由器,但支持的IOS版本相对较老(12.X),很多新的命令敲不了,使用体验不太好,能不用就不用。


         EVE-NG模拟器支持的 Dynamips镜像:c1700、c3700、c7200三个系列

image.png



2、IOL/IOU类型镜像

        IOL为IOS on Linux(也叫IOU,IOS on Unix)的简写,可以运行在基于x86平台的任意Linux发行版系统中,IOL支持较新版本的IOS(为15.X的新版本IOS),基本完全支持思科设备的2、3层功能,可以用来模拟基于新版本IOS的思科二层交换机、三层交换机和路由器,相比传统的Dynamips模拟器有占用资源更少,启动快等优点,一般在可以使用IOL的条件下,最好使用IOL代替Dynamips镜像进行组网实验。


        EVE-NG模拟器支持的IOL镜像(以下是推荐的版本,其它同系列新版版本也支持):


        i86bi_linux_l2-adventerprisek9-ms.SSA.high_iron_20190423.bin(二层)


        i86bi_LinuxL3-AdvEnterpriseK9-M2_157_3_May_2018.bin(三层)


        L3-ADVENTERPRISEK9-M-15.4-2T.bin(三层)

image.png



3、Qemu类型镜像

        Qemu是一套由法布里斯·贝拉(Fabrice Bellard)所编写的以GPL许可证分发源码的模拟处理器,Qemu可以帮助EVE-NG运行更多基于KVM的虚拟设备,越来越多的设备商开始开发并释放出适配KVM环境的系统,绝大多数网络设备(交换机、防火墙、路由器、负载均衡等)的操作系统和Linux系统、Windows系统等都可以制作出相应的Qemu镜像,在EVE-NG上进行使用,通常Qemu镜像的后缀名为qcow2,该文件本质是一个操作系统的虚拟硬盘文件。


        EVE-NG模拟器支持的 QEMU镜像:所有QEMU格式封装的镜像,Cisco、Juniper、Huawei、PaloAlto、Aruba、F5、Radware、Windows、Linux、VMware、Citrix等常见的操作系统都有覆盖,此外还支持自定制的QEMU镜像。

6243cc29ad4df58918bc0b1ee5a21447_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png

         具体QEMU镜像的可用性取决于对应厂商发布的QEMU镜像的可用性。


二、常用镜像文件的导入和使用

        本次选取的实验镜像文件列表如下:


Dynamips测试镜像:

c1710-bk9no3r2sy-mz.124-23.bin(思科c1700系列路由器镜像)

c3725-adventerprisek9-mz.124-15.T14.bin(思科c3725系列路由器镜像)

c7200-adventerprisek9-mz.152-4.M7.bin(思科c7200系列路由器镜像)

IOL/IOU测试镜像:

i86bi-linux-l2-adventerprisek9-15.2d(思科IOS 15.x版本二层镜像)

i86bi-linux-l3-adventerprisek9-15.4.2T.bin(思科IOS 15.X版本三层镜像)

L3-ADVENTERPRISEK9-M-15.4-2T.bin(思科IOS 15.X版本三层镜像)

Qemu测试镜像:

asav-941-200.qcow2(思科ASA防火墙镜像)

vsrx-vmdisk-15.1X49-D150.2.qcow2(Juniper SRX系列防火墙镜像)

centos7.1.qcow2(centos系统镜像)

windows7.qcow2(win7系统镜像)

镜像链接:https://pan.baidu.com/s/15dqPTgoo93zpNvTDAYXefQ   提取码:u2y4


1、Dynamips模拟器镜像导入和使用

1)、准备镜像文件                

        首先,准备好要测试的 Dynamips 镜像文件,我们这里就从EVE支持的三个系列的Dynamips镜像中各挑了一个,Dynamips镜像文件是二进制类型,默认后缀的 .bin,而EVE-NG下可识别的Dynamips镜像后缀为 .image,所以这里将其后缀均改为 .image(文件内容不会发生变化),如下:


250a8206e0b66154d127385d0bccf7f9_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_19,color_FFFFFF,t_70,g_se,x_16.png

2847b97bb2f8a418f22dc432bfeea982_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png



 2)、登录EVS-NG服务器

        接下来我们需要登录到EVE-NG服务器后台去操作,EVE-NG服务器默认开启了SSH服务,可以直接在SecureCRT上通过SSH来登录EVE-NG,登录地址与Web登录的地址是同一个,账号就是默认的账号 root/eve,首次登录过程如下(可以保存会话和登录密码,下次就可以直接登录了):


bf6db7e4af7e8f235b58a9f83cd6b7f0_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_11,color_FFFFFF,t_70,g_se,x_16.png

2fdb542fda0af8fae4a07dac2660d494_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png

3ef4780dc3f68efa16d9d9516e2e5cdb_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_10,color_FFFFFF,t_70,g_se,x_16.png


 


        登录后系统界面如下:


df651717aed69d14861100c6edb0466e_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png


3)、上传镜像文件

        EVE-NG系服务器中的镜像文件都存放在 /opt/unetlab/addons/ 目录下,Dynamips镜像文件的存放目录为 /opt/unetlab/addons/dynamips/ ,这里我们可以借助 SecureCRT 的SFTP服务来把本地的镜像文件上传到服务器的对应目录下(如果用的超级终端是Xshell可以借助配套的XFTP工具进行传输)。SecureCRT的SFTP服务用法如下:


        首先要确保当前主机已经与EVE-NG服务器建立了SSH连接,然后直接点击SecureCRT的 File->Connect SFTP Session 或使用快捷键 Alt + P 来创建一个SFTP会话

7587dfb98c286eaa8c22cd38a5f040e7_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_18,color_FFFFFF,t_70,g_se,x_16.png



        SecureCRT的SFTP会话常用操作命令如下:


help    //查看命令帮助

cd      //切换服务器目录

lcd     //切换本地目录

ls      //查看服务器当前目录下的文件列表

lls     //查看本地当前目录下的文件列表 

pwd     //查看服务器当前所在目录

lpwd    //查看本地当前所在目录

put <filename>    //上传本地的文件到服务器目录

get <filename>    //下载服务器的文件到本地目录

        参考以上命令,我们将本地的三个镜像文件依次上传到EVS-NG服务器对应镜像目录下(目录和文件路径可以使用Tab键自动补全):

e27553d384a4459c2d7b964a5a4136d7_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png



         返回SSH会话,也可以看到对应镜像文件已经成功上传到指定的目录:

5f2d99fa622b6b5c80d8003b3f1991d2_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png



4)、修正镜像文件权限

        导入镜像文件后,还需要授予EVE-NG系统读取这些镜像的权限,以便对这些镜像进行正常操作和管理,直接在EVE-NG服务器上执行命令 /opt/unetlab/wrappers/unl_wrapper -a fixpermissions  (这条命令执行完毕后没有输出,等待其执行完毕即可)即可完成授权操作,如下,完成授权后就可以在EVE-NG Lab 平台正常使用镜像了:


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


*5)、计算镜像文件的IDLE值

        Dynamips要在x86平台下模拟思科的CPU,运行时需要将虚拟的CPU指令翻译成可在x86下执行的指令,而idle值用来记录虚拟CPU何时不工作,这样就可以在它空闲时停止翻译,从而可以降低模拟器的CPU占用率,如果没有计算idle值,运行模拟器时CPU占用率会很高。


        现在很多流传的Dynamips镜像是已经计算好最优idle值的,加载镜像时会自动填入计算好的idle值,就不需要自己去计算了,我这里的镜像也是已经计算好idle值的,不过这里还是演示一下EVE-NG系统中计算Dynamips镜像idle值的方法,感兴趣的可以了解,如果没兴趣就可以直接跳过。


        在EVE-NG服务器上执行以下命令即可加载和运行指定镜像:    


dynamips -P <platform> [-t <model>] /opt/unetlab/addons/dynamips/镜像文件名

     其中-P用来指定大的版本号,如1700,3725或7200,-t用来指定具体的型号,如1710,3725,7206等,也可以只指定大版本号,不指定具体的型号。


        这里以3725镜像为例进行演示,首先加载运行对应镜像文件,跟交换机系统正常启动是一样的:

4dd793e4a3c53a3f1f3fbcb0f75c4659_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png



        加载过程中任意时刻,先按下ctrl ],松手后再按下 i 键就会开始计算idle值,这时会显示Please wait while gathering statistics,稍等几秒后,在后续信息中会给出提示信息Suggested idling PC,后边即为计算出的多个建议idle值,结果如下图所示,一共给出了10个建议的idle值,每一行数值中间的f不算,前边的0x加后边8开始的数字组成了idle值,如第一行idle值为0x8000b1dc:


eb1e90b1d86a92d8b84b84ebc5ffc5c3_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png


        之后记录好计算出来的idle值,先按下ctrl ],松开后再按 q 即可结束镜像运行(如果按得慢的话,镜像可能已经加载完毕并进入IOS系统,这时就不能使用这种方法退出了,可以输入enable进入特权模式后,执行命令reload即可退出IOS系统回到EVE-NG系统界面)。


b3ff90cccc28040fbcf114d76647ed02_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png

3587b6ad17fce26070055ef018b15ee4_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_18,color_FFFFFF,t_70,g_se,x_16.png



        接下来的任务要从计算出的idle值中挑选一个使镜像运行时CPU占用率最小的值,具体方法是再次加载运行该镜像,但这时要添加 --idle-pc=<idle-value> 参数指定运行时的idle值,如这里先使用第一个idle值再次运行镜像:


c5217594d1ed0746719b3e022083b65b_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png

image.png



         待镜像加载结束进入IOS系统后,复制一个会话,使用 top命令查看 dynamips 进程的CPU占用率,可以看到这里CPU占用率为101%,占用了一个核(分配了4个CPU核),消耗资源还是挺多的:

image.png

        记录下稳定后的CPU利用率,然后退出IOS系统(通常这个时候镜像已经加载完毕并进入IOS系统了,需进入特权模式使用reload命令才能退出),然后选择第二个idle值来运行该镜像,同样通过top命令中查看dynamips进程的CPU占用率,与之前的进行比较,如此反复使用计算出的所有idle值运行一次镜像并记录其CPU占用率,选择一个CPU占用率最小的idle值记录下来备用,这里就不再演示了(其实几个建议的idle值差别不是很大,一般来说从中选一个直接用就行了,也不用这么费力气去比较,如果发现设备确实运行比较卡或CPU资源不是很充足,可以考虑计算一下最优idle值)。


        上边可以看到启动一个dynamips镜像就占用了一个核,实际上启动多个dynamips镜像后也不会占用多个核,只有第一个进程占用比较多,如我们这里把三个镜像都启动了,可以3个dynamips进程的CPU利用率如下,可以后边启动的进程CPU占用率就比较小了:


31a079676bc576b56b61cfe8e8d2ae71_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png


6)、镜像测试

        完成Dynamips镜像导入后,就可以在EVE-NG Lab平台进行使用了,浏览器中打开 EVE-NG Web界面,新建一个实验拓扑,右键新增节点,在模板列表中可以看到Cisco 1710、3725和7206三个模板已经变成了蓝色,表示对应模板下已经有可用的镜像文件:


7a4b2c15be8f874aa6afa47a42df2ec9_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png


        先来测试一下1710的镜像,点击Cisco IOS 1710模板,进入后可以对模板参数进行配置,如下图所示:


18df885e9b5dde055bdd27d91b7cd027_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_18,color_FFFFFF,t_70,g_se,x_16.png


        以下几个参数说明一下:


        Image:选择跟对应模板相符的镜像文件,同一个模板下存在多个镜像文件时,需要手动选择需要的镜像文件,我们这里只有一个c1710-bk9no3r2sy-mz.124-23,默认选择了该镜像文件


        NVRAM:指定为设备分配的NVRAM内存,设备存放配置文件的空间,这里一定不能设置为0,否则配置都无法正常进行


        RAM:指定为设备分配的RAM内存,存放镜像文件的空间,要保证至少可以存放一个镜像文件,否则系统无法启动


        Startup configuration:指定要使用的启动配置文件,不指定就按照初始化配置文件启动


        Delay:设置启动延时,就是点击start后等待delay指定的时延后再启动,当多个设备批量启动时可以通过该值来防止设备集中在同一时间启动造成资源抢占


        Left和Top:新增节点在拓扑中的位置坐标,默认在左上角(0,0),这个无所谓,新增之后可以直接拖拽


        这里建议直接使用模板默认的参数即可,参数配置完成点击 Save 即可成功添加设备,之后可以在拓扑中看到新增的节点设备,没启动前设备图标默认是灰色,右键设备可以对设备进行管理,我们点击 Start 启动设备,成功启动后会在右上角 Notification 栏里会输出started 日志,如果启动失败也会提示失败信息(如果启动失败检查镜像导入步骤是否有误,没有执行修正权限操作或分配内存太少会导致设备无法正常启动),启动成功后设备图标变成蓝色。



image.png

         image.png


         启动后,需要登录设备进行配置,有两种登录设备的方式,一种是直接点击设备图标,首次连接时浏览器会提示选择打开telnet连接的工具,Chrome浏览器中则默认只能将telnet连接关联到SecureCRT,Firefox浏览器中也可以选择使用Xshell进行连接,这里选择使用SecureCRT,设置完成后勾选下边两个选项,下次连接就不会有提示了),之后就会自动通过telnet连接到设备上,如下图所示,可以看到IOS系统正在进行初始化:


619ef5f76e7dd5009f3e4d44947ff76e_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png

c1e0602474ac879dbd2734d80c33fe1c_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png

63c5f2a4a0dcf259dc90e0716d743a07_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png




       另一种方式是将光标移动到设备上时,拓扑左下角会显示设备的连接信息,通常使用EVE-NG服务器的地址和一个330xx的端口进行telnet连接,这里左下方显示的IP和端口号为 10.100.100.13:32769,可以直接通过该IP和端口号telnet到该设备上,如下图所示:


image.png


        我们这里在SecureCRT上新建一个telnet会话,输入对应IP地址和端口号,即可建立连接,登录到设备上进行操作:


109901f0e4b39ee308ae81cd34211311_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_19,color_FFFFFF,t_70,g_se,x_16.png


        能正常进入配置模式说明该镜像已经可以正常使用了,可以看到1710镜像默认只有一个10M以太网接口和一个100M以太网接口(不支持2层交换功能):

85952de627fc811c215f6af57d28856e_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png



       再添加一个3725设备,配置其模板参数,与1710不同的是,3725模板中有两个扩展模块插槽,可以支持两种类型的扩展模块,一种是NM-1FE-TX,可提供一个额外的3层百兆以太网接口(3725默认只有2个3层百兆以太网接口),一种是NM-16ESW,可以提供16个2层百兆以太网接口(添加该模块可以实现部分二层交换功能),可以根据需要选择扩展模块,如这里添加一个NM-1FE-TX和一个NM-16ESW模块:


4563affe8f97933f08fa72e116666708_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_16,color_FFFFFF,t_70,g_se,x_16.png


        添加好设备后,右键启动,点击设备图标,登录到设备上,待设备启动流程结束后,可以进入配置模式,使用 show ip int brief 命令可以看到多了一个3层以太网接口(f1/0),并增加了16个2层接口(f2/0-f2/15),可以当做二层交换机使用,说明3725的镜像文件也可以正常使用:

00a2c283f966a97224329d4688987af4_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png

        最后新增一个7200节点,配置其模板参数, 可以7200模板中多了6个扩展模块插槽,其它参数与1710无差,7200的扩展插槽可以支持三种类型的扩展接口模块,一种是PA-4E,可以提供4个10M以太网接口,PA-8E可以提供8个10M以太网接口,PA-FE-TX可以提供一个百兆以太网接口,7200镜像默认只有一个3层百兆以太网接口(f0/0),可以根据需要选择不同的扩展模块:

026355592f3020fa2ff3a570225d335e_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_14,color_FFFFFF,t_70,g_se,x_16.png



        配置好模板参数后,点击Save添加节点设备,然后启动设备,点击设备进行登录,待设备正常启动,可以看到其多了2个百兆以太网接口(f1/0、f2/0)和12个10M以太网接口(e3/0-e3/4,e4/0-e4/7),说明7200镜像也可以正常使用了:

cbe1523b9c125a57b47e3bbb658d1f47_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png



       3个节点都启动的情况下,看下资源占用情况,可以看到剩余CPU和内存资源还是比较足的(这里给EVE-NG服务器分配的是4核8G),这个配置估计一共能起10个节点左右吧,测试完毕后记得停止设备:


6c96c3ec4c73801e64c4563a2c1812f9_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png


        好了3款Dynamips镜像导入和测试就到这儿了,之后大家就可以直接使用他们进行组网实验了,具体设备的网络配置就不在此次教程的范畴之内了,大家可以自己去玩一下。

b9369a2ee48b1eecee45b35773aa6fab_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_14,color_FFFFFF,t_70,g_se,x_16.png



2、IOL/IOU镜像导入和使用

1)、准备镜像文件

        首先准备好EVE-NG支持的IOL/IOU镜像文件如下(网上流传的版本有很多,命名也不太一样,名字或小版本有区别不影响的),后缀名通常为.bin,不需要进行修改,此外运行IOL还需要一个以iourc为名的license文件,iourc的lic中有一段license序列号,这段序列号会随着EVE-NG的hostname变动,hostname不同,计算出的结果也不同,这里借助一个python脚本CiscoIOUKeygen.py 来根据当前环境重新生成license文件中的序列号信息,使IOL/IOU镜像文件可以在EVE-NG平台上正常使用,iourc文件也可以在系统中自行创建,只是一个普通的文本文件,只要填入对应的序列号信息即可。

image.png



2)、上传镜像文件

        同样在SecureCRT通过SSH远程登录到EVE-NG服务器,然后创建一个SFTP会话,将本地准备好的IOL/IOU镜像文件上传到服务器对应镜像目录下,EVE-NG服务器上IOL/IOU镜像文件的默认存放目录为 /opt/unetlab/addons/iol/bin/,上传步骤如下(前一节已经讲解过,这里就不细说了):

image.png



         传输完成后,返回到SSH会话,使用 ls 命令验证镜像文件是否成功上传到服务器上对应目录:

3e81b1a2aee92879ad28514be50d96e4_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png



3)、计算镜像文件License序列号

        接下来需要搞一下IOL镜像的序列号,登录服务器,在 /opt/unetlab/addons/iol/bin/ 目录下使用执行 python CiscoIOUKeygen.py 来运行脚本(EVE-NG服务器中已经默认安装了python,不需要自行安装),然后用计算出的[license]下的序列号 972f30267ef51616 (如果你没有自己改evs-ng服务器的主机名的话,直接用这个就可以)代替 iourc文件中的序列号(使用vi命令编辑文件iourc,i键进行编辑,编辑完成后,按Esc键退出编辑,再按冒号键,输入x回车保存退出)即可:

e39597cfa816335e229909b3fe134ec1_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png



4)、修正镜像文件权限

        最后一步还是使用 /opt/unetlab/wrappers/unl_wrapper -a fixpermissions 命令完成镜像文件授权,授权完成后就可以正常使用镜像文件了:


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

5)、镜像测试

        接下来登录 EVE-NG Web界面,新建一个实验拓扑,右键新增节点,在模板列表中可以看到Cisco IOL模板已经变成了蓝色,表示对应模板下已经有可用的镜像文件:

image.png


        这时我们选择Cisco IOL模板,进入模板配置界面,与Dynamips模板的配置参数大同小异,右边 Image 里可以选择当前模板下可用的镜像文件,我们一共上传了3个,这里先选择第一个 i86bi-linux-l2-adventerprisek9-15.2d 二层镜像,为了方便辨识,将其设备名改为Switch,设备图标选择一个交换机的图标,NVRAM默认1MB即可,RAM默认是1GB,太多了,我们改成256MB,该镜像支持添加两种类型的端口,Ethernet portgroups(以太网端口组,1组4个10M以太网端口)和Serial portgroups(串行链路端口组,1组4个),可以根据需要自行增加,这里默认添加一个以太网端口组,之后选择 Save 保存,就会在拓扑上新增一个二层交换机了:

7951dbf56964de34cc49322bc4b22d68_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_18,color_FFFFFF,t_70,g_se,x_16.png



        添加好之后在拓扑图上右键设备,点击 start 启动设备,待设备由灰色变成蓝色就说明启动成功了,右上角notification栏里显示成功启动日志(如果启动失败检查镜像导入步骤是否有误,没有计算license值和没有执行修正权限操作、或配置RAM太小都可能会导致设备无法正常启动),如下图所示:


image.png


        点击设备进行登录,待系统初始化完成后,可以看到镜像可以正常使用,有4个以太网端口可以当做二层端口使用,15.X版本的很多新命令也可以用,可以用这个镜像来做一些二层交换机的配置实验:

2e07673c2e98ae12a8f803c531c86e02_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png

         接下同样的方法,添加一个3层镜像的节点,模板是同一个,只要添加节点时 Image 里选择对应的3层镜像文件 i86bi-linux-l3-adventerprisek9-15.4.2T 即可,将其设备名改为Router,设备图标选择一个路由器的图标,RAM可以多给一点,改成512MB,这里也添加一个以太网端口组,其它默认,之后选择 Save 保存,就会在拓扑上新增一个三层路由器了:    


d72a7f4ed32c7f43e92f33aad52e4a22_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_18,color_FFFFFF,t_70,g_se,x_16.png

f1d23f10c782f388325e20844fee4d43_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_13,color_FFFFFF,t_70,g_se,x_16.png



         启动设备后点击登录,可以看到4个以太网接口可以直接当做三层端口配置使用,可以用这个镜像来做一些三层交换机或路由器的配置实验:


image.png


         这样IOl/IOU的镜像就导入完毕了,操作其实很简单,有了IOL/IOU镜像,Dynamips镜像就可以靠边站了,主要IOS版本比较新,不会碰到很多命令敲不了的情况,基本上常见的二层和三层网络技术的实验都可以实现,大家就自由发挥吧。

3e2d842ff52384f73e9e676e9afcd69a_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_13,color_FFFFFF,t_70,g_se,x_16.png



3、Qemu镜像导入和使用

1)、准备镜像文件

        这里挑了4个测试的Qemu镜像文件(后缀一般为.qcow2),1个Cisco的ASA防火墙、1个是Juniper的SRX防火墙、1个Linux和1个Windows系统:

image.png



        QEMU镜像类型很多,但导入方法都一样,大家可以根据自己需要选择不同的镜像


2)、导入镜像文件

        接下来还是一样,通过SSH登录EVS-NG服务器,将准备好的镜像文件导入EVE服务器上保存Qemu镜像文件的目录下  /opt/unetlab/addons/qemu/ ,导入步骤如下图所示(这几个镜像文件稍微有点大,需要点时间):


ed6a822e28c9080d827955fe5b5e7d56_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png


3)、修改镜像文件名

        接下来需要给上传好的镜像文件重新命名,EVE-NG对Qemu镜像文件的目录和文件名有严格要求,每个导入 /opt/unetlab/addons/qemu/ 目录下的qemu镜像必须放在一个父目录下,其父目录名称和镜像名称都要按照官方给定的规则进行命名,如果不符合规则会导致对应镜像无法与相应的模板匹配,从而无法被EVS-NG识别。


        我们可以从官网进行查询https://www.eve-ng.net/index.php/documentation/qemu-image-namings/  到其支持的所有QEMU镜像的命名规范,不同镜像系统的命名格式不一样,导入前去查一下就行,如我们这里4个镜像的命名规范如下:  

83d0bbb043e29e019117f4dba0761845_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png

        官方给定的表格中第一列指定该类型镜像的父目录的前半部分名称(一般为镜像类型名称的一部分简写加-,后半部分用户可以自定义,一般加对应镜像的版本号),第二列为镜像类型或厂商,第三列指定该类型镜像文件的文件名(不包含后缀.qcow)。 


        根据上述规范,我们需要为 /opt/unetlab/addons/qemu/ 目录下上传的每个镜像文件做三步操作:


       1.创建一个父目录,名称格式为:EVE为该镜像类型预定义的模板名-XXX

       2.将镜像文件移动到其父目录下       

       3.将镜像文件重命名,名称格式为:EVE为该镜像类型预定义的镜像名.qcow2


       所以我们对上传的4个镜像文件处理如下:     


       对于asav-941-200.qcow2镜像,需要先为其在 /opt/unetlab/addons/qemu/ 目录下创建一个名为 asav-xxx 的父目录,然后将对应镜像移动到 asav-xxx 目录下,同时将其镜像文件重命名为 virtioa.qcow2


       如对于vsrx-vmdisk-15.1X49-D150.2.qcow2镜像,需要先为其创建一个名为 vsrxng-xxx 的父目录,然后将对应镜像移动到 vsrxng-xxx 目录下,同时将其镜像文件重命名为virtioa.qcow2


        对于centos7.1.qcow2镜像(linux镜像的一种),需要为其创建一个名为 linux-xxx 的父目录,然后将对应镜像移动到 linux-xxx 目录下,同时将其镜像文件重命名为 virtioa.qcow2


        对于windows7.qcow2 镜像,需要为其创建一个名为 win-xxx 的父目录,然后将对应镜像移动到 win-xxx 目录下,同时将其镜像文件重命名为 virtioa.qcow2 或 hda


        具体操作参考下图(mkdir命令创建父目录,mv命令把镜像文件移到父目录下,同时将其重命名):

49873e9ff94eb28f946422821bbf7e3d_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_19,color_FFFFFF,t_70,g_se,x_16.png



        点击模板创建节点,模板参数中已经自动识别了可用的镜像文件asav-941-200(可以看到这里的镜像文件名为镜像文件的父目录名,由此可见EVE模板中的QEMU镜像文件名实际上是通过镜像文件的父目录名进行识别的,而不是镜像文件本身的名称),Cisco ASAv模板默认有8个以太网接口,如需要增加可在模板参数中自行修改,下边多了一个console口的登录方式可选 telnet、vnc、rdp三种方式,但这里防火墙不支持后两种方式,我们默认选择 telnet 即可,其它参数保持默认即可:


8ee37f65b3fa436ad547e19895048b9c_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_12,color_FFFFFF,t_70,g_se,x_16.png


       创建好节点后,同样右键点击 start 开启设备,如果右上角显示started则表示启动成功,如下图所示:


dbfaf123c4d6949913de0b58a2ef45fa_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_8,color_FFFFFF,t_70,g_se,x_16.png


        设备启动成功后,同样单击设备即可通过默认的连接工具telnet到该设备的控制台,防火墙初始化比较慢,待设备启动流程结束后,即可进入配置界面进行配置,默认特权模式密码为空,如下图所示,可以看到其版本号和端口信息,说明asav镜像已经成功导入并且可以正常使用了:


819a55bb55db3dd7b29230ad2a125c0b_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png


        接下来就测试一下 Juniper的vSRX NG镜像,右键添加节点,可以看到 Juniper vSRX NextGen 的模板也变成可用状态:

716a5193828e0cdaaf43532fee1f844b_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_15,color_FFFFFF,t_70,g_se,x_16.png



        点击模板,进行配置,可以看到模板已经自动识别了可用的镜像文件vsrxng-15.1X49-D150.2,默认以太网端口有4个,如要增加可自行修改,这里RAM至少要4GB,否则无法启动,其它参数跟ASAv模板的基本一致,这里都保持默认即可:


5981b5f7d01ccb4d7fd494f951811d5d_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_12,color_FFFFFF,t_70,g_se,x_16.png


        创建好节点后,同样右键点击 start 开启设备,设备启动成功后单击设备即可通过默认的连接工具telnet到该设备的控制台,待设备启动流程结束后,即可进入配置界面进行配置,这个放到虚机里带不动,等后边鼓捣出来再补图吧。


        接下来测试一下Linux的镜像,右键添加Node,可以看到Linux镜像模板已经变成可用状态:

85c8b553e3d1e2cdc967a4151806ba23_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_13,color_FFFFFF,t_70,g_se,x_16.png



         点击模板,进行配置,可以看到模板已经自动识别了可用的镜像文件linux-centos7,默认以太网端口有1个,这里CPU默认是2核,RAM默认是4GB,太多了,改成1核2GB,console连接方式跟之前的有所不同,这里默认支持vnc,其它参数跟前边的基本一致,保持默认即可:

59f0323fb30c778a22cd251ac58d5c2a_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_12,color_FFFFFF,t_70,g_se,x_16.png



         确认配置后,添加并右键启动设备,这时点击设备发现无法使用vnc连接到该设备的控制台,因为浏览器不支持将vnc连接关联到对应的VNC客户端,这时就只能选择之前说的第二种连接方式了,把光标移到设备上,可以看到下边的VNC连接IP和端口号:


dcce0b81cdc86a83e9860e4285ece8e9_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_9,color_FFFFFF,t_70,g_se,x_16.png


        打开本地的VNC viewer客户端(没有的自行安装一个), 在上方输入框手动输入对应IP和端口号进行连接,信任连接后即可登录到Linux服务器上:


a3fb181da585c9c34c21573e6029d71e_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png


        登录上去后这个镜像系统启动失败,这个镜像几年前用过,可能不行了把,又换了一个启到一半卡住了,实惨,导入步骤是没问题的,等后边找到好的镜像重新补吧。


   最后测试的win7镜像也有问题,临时换了个winserver-2008的镜像,在/opt/unetlab/addons/qemu目录下新建一个 winserver-2008的目录,把镜像上传到该目录下,并重命名为 hda.qcow2,添加完之后不要忘了修正权限:


627d67b0262338dfd54498a028a038dc_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_17,color_FFFFFF,t_70,g_se,x_16.png


        镜像导入完成后,新建节点,可以看到Windows Server的模板已经被点亮了:

image.png




         点击 Windows Server 模板创建节点,模板已经自动识别了可用的镜像文件winserver-2008,默认分配1核CPU,8GB内存,这里内存改成4GB,在Console连接方式中可以看到Windows系统默认也是通过VNC进行连接,这里我们就都保持默认参数,之后保存即可:


27f23f9a901d710a695e9bbaac3fdaf6_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_12,color_FFFFFF,t_70,g_se,x_16.png


         添加节点后,右键start启动设备,还是通过其vnc连接IP和端口号来进行登录:


9c4eef9c682d24142cf2fc37e611e9b5_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_10,color_FFFFFF,t_70,g_se,x_16.png


        打开 vnc viewer,地址框内输入其IP和端口号,之后弹出信任提示框后点击Continue信任即可进行连接:


b275fbd5cf246bbdf7e03ceecb9b43f8_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16.png


         启动比较慢,要稍微等1~2分钟,最后进入系统桌面后如下,说明这个镜像导入成功并且是可用的:

66300a97cd8ae7d94f60c05fb0fa2482_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55yL5pif5pif55qE5bCP546L5a2Q,size_19,color_FFFFFF,t_70,g_se,x_16.png



结语

        EVE-NG模拟器镜像常用镜像的导入和使用方法就介绍完毕了,导入步骤并不复杂,普通的路由交换实验用IOl/IOU镜像足矣,如果要做一些复杂的实验,涉及防火墙、负载均衡之类的就要用到QEMU镜像了,但把EVE-NG安装在自己PC的虚机里性能还是有限,一些大的系统镜像可能带不动,有条件的话,最好在物理服务器上安装EVE-NG,用起来更丝滑一点。对EVE-NG的使用有更多想要了解的,建议直接查阅官方的指导书,本文也有附上,里边有详细使用指南。

————————————————

版权声明:本文为CSDN博主「看星星的小王子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/liuhuayeyu/article/details/124082469


本文链接:http://www.hqyman.cn/post/3158.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:





休息一下,本站随机推荐观看栏目:


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您的IP地址是: