pnet模拟器导入dynamips(pnet模拟器导入华为设备)

小编:圣子 更新时间:2022-05-04

一、镜像(镜像介绍内容来自网络)

PNET支持多种镜像,比如dynamips、IOL、QEMU等。正常IOL、dynamips的镜像一般L2、L3的网络设备镜像,而QEMU格式的镜像就显得非常的多了。比如思科的ASAv、ESA、WSA、N9K、ISE、CSR、StealthWatch等网络设备镜像,华为的USG6000v、WAF5000、AR1000等网络设备镜像,H3C的vAC、vBRAS、vFW、vLB、vSR等网络设备镜像,还包括了国外的Check Point、F5、Juniper等著名厂商设备镜像。

上传镜像自然需要调用到CLI登录进服务器,将镜像上传至指定目录,不同的镜像需要上传至不同的目录,才能够被PNET所识别。

连接到PNET所在的服务器,需要用到类似XSHELL(配套XFTP)、secure-CRT、putty、WSL等终端连接工具,下面推荐一款。

secure-CRT

SecureFX

1、dynamips镜像介绍

Dynamips用于模拟思科设备的模拟器,能够模拟1700、2600、3600、3700、7200平台。因为它能运行标准的IOS镜像,尽管模拟器陈旧,但是很多人还是喜欢用。

目前常用的就是C3725和C7200镜像

2、IOL镜像介绍

IOL(IOS on LINUX)是思科路由器和交换机的OS,可以运行在x86平台的任意LINUX发行版系统之上。IOL具备支持交换机的高级特性、占用系统资源更少、启动更快等特点。

缺点就是BUG较多,部分高级特性(比如PVLAN、链路聚合)只有指定版本支持,一般使用IOL的L2、L3层镜像

3、QEMU镜像介绍

QEMU使得EVE-NG拥有更加强大的虚拟能力。随着KVM与QEMU越来越容易使用,很多设备厂商也都开发了能够在KVM环境下运行的镜像,甚至能适配openstack环境。QEMU类型的镜像种类众多,不仅仅支持网络设备,连操作系统都支持。所以QEMU类型的镜像相比dynamips和IOL更为复杂,涉及目录和镜像文件的名字也必须和官方给定的名字。

二、上传Dynamips镜像

Dynamips镜像格式以.image为后缀名,Dynamips镜像上传至/opt/unetlab/addons/dynamips/目录下。

上传dynamips全过程:

  1. 上传至pnet服务器 /opt/unetlab/addons/dynamips/目录下
  2. 权限修正:/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

修正权限的作用主要是保证dynamips对于这个IOS镜像有读取的权限。

1、计算idle值

Dynamips是个模拟器,它会在x86的平台下模拟cisco的CPU,所以dynamips需要实时地将虚拟地CPU的指令翻译成在x86下可执行的指令。Idle-pc(idle pointer counter)就是空闲计数器,这里简称idle值,用来记录虚拟CPU何时不工作,从而可以在它不工作时停止翻译工作,这样就能降低dynamips的CPU占用率。如果使用了错误的idle值将会导致dynamips的CPU占用率过高,所以需要计算出合适的idle值以降低CPU占用率。计算idle值需要用到dynamips命令,那么先来看一下dynamips的命令。格式:dynamips -P

本例以3725平台为例,镜像名为c3725-adventerprisek9-mz.124-15.T14.image

1、加载镜像:dynamips -P 3725 /opt/unetlab/addons/dynamips/c3725-adventerprisek9-mz.124-15.T14.image

2、计算idle值:同时按住ctrl + ] ,大约15s左右,快速放开按i,即可开始计算idle值。记住idle值 --idle-pc=0x60c09aa0



pnet模拟器导入dynamips(pnet模拟器导入华为设备)

3、退出,同时按住ctrl + ],也是相同时间,快速放开按q,即可退出

4、使用计算的idle值来启动dynamips镜像:dynamips -P 3725 /opt/unetlab/addons/dynamips/c3725-adventerprisek9-mz.124-15.T14.image --idle-pc=0x60c09aa0

不管是计算idle还是退出,都有点反人类设计,很容易就不能成功,所以多试几次,把握时间精度,

2、使用计算的idle值前后比较

未使用计算的idle值CPU占用量


pnet模拟器导入dynamips(pnet模拟器导入华为设备)

可以看到dynamips进程占用了CPU资源的100%

使用了计算的idle值CPU占用量


pnet模拟器导入dynamips(pnet模拟器导入华为设备)

可以看到dynamips进程占用CPU资源的2%

但是你会发现,每次运行都要使用idle值很麻烦,进入/opt/unetlab/html/templates/目录,查看到所有的yml文件,其中部分文件就是修改idle值的关键。


pnet模拟器导入dynamips(pnet模拟器导入华为设备)

我们通过修改/opt/unetlab/html/templates/下的dynamips设备文件,比如c3725.yml,将计算的idle值填入到idlepc字段,这样下次启动c3725时,就会以该idle值运行,占用CPU资源将非常的少。同理其他dynamips计算出的idle也可以对相应的yml文件进行修改!


pnet模拟器导入dynamips(pnet模拟器导入华为设备)

刷新页面

pnet模拟器导入dynamips(pnet模拟器导入华为设备)


pnet模拟器导入dynamips(pnet模拟器导入华为设备)

三、上传IOL镜像

IOL镜像格式一般以.bin为后缀名,IOL镜像需要上传至pnet的/opt/unetlab/addons/iol/bin/目录中。导入IOL镜像后,需要执行CiscoIOUKeygen.py的工具来生成license,然后将license导入进iourc中。

IOL镜像命名规则:

示例:i86bi_linux-adventerprisek9-ms.155-2.T.bin

  • i86bin:x86平台
  • linux:运行在linux系统上
  • l3:支持3层功能,如果是l2,则支持二层功能
  • adventerprisek9:IOS特性
  • 155.2.T:IOS版本
  • bin:文件名后缀

上传IOL镜像全过程:

  1. 上传至pnet的/opt/unetlab/addons/iol/bin/目录下
  2. pnet安装后CiscoIOUKeygen.py文件已经在目录下
  3. 赋予可执行权限:chmod a+x CiscoIOUkeygen.py
  4. 执行CiscoIOUKeygen.py:./CiscoIOUkeygen.py
  5. 将执行的结果复制到新建名为iourc文件中
  6. 权限修正:/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

[license]

pnetlab = c833425160bc61ec;


pnet模拟器导入dynamips(pnet模拟器导入华为设备)
  • L2开头的文件为交换镜像、L3开头的文件为路由镜像
pnet模拟器导入dynamips(pnet模拟器导入华为设备)


pnet模拟器导入dynamips(pnet模拟器导入华为设备)

四、上传QEMU镜像

QEMU的镜像,官方对于该镜像的上传和识别有着相应的标准。就是QEMU的镜像需要放在符合命名规则的目录下面,这样才能够被识别和使用。

QEMU镜像格式一般以.qcow2为后缀的,QEMU镜像需要上传至pnet的/opt/unetlab/addons/qemu/xxxx/目录中,xxxx目录命名必须符合pnet官方给定的命名规则。

QEMU镜像目录命名

比如centos的镜像,上传至/opt/unetlab/addons/qemu/centos-8-minimal/virtioa.qcow2

  • centos-8-minimal镜像名:virtioa.qcow2
  • 存放镜像的镜像目录名(符合官方QEMU镜像目录命名):centos-8-minimal


pnet模拟器导入dynamips(pnet模拟器导入华为设备)

也就是说,镜像目录名centos-不能修改,"-"后面可以自定义,但是一般都是发行版本号。

1、上传镜像至pnet /opt/unetlab/addons/qemu/xxx/virtioa.qcow2

2、 上传模板至pnet /opt/unetlab/html/templates/centos.yml

3、 上传图标至pnet /opt/unetlab/html/images/icons/Server.png

4、. 权限修正:/opt/unetlab/wrappers/unl_wrapper -a fixpermissions


pnet模拟器导入dynamips(pnet模拟器导入华为设备)


pnet模拟器导入dynamips(pnet模拟器导入华为设备)


pnet模拟器导入dynamips(pnet模拟器导入华为设备)

到此镜像就导入完毕可以做实验了