pnet模擬器導入dynamips(pnet模擬器導入華為設備)
一、鏡像(鏡像介紹內容來自網絡)
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全過程:
上傳至pnet服務器 /opt/unetlab/addons/dynamips/目錄下
權限修正:/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
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占用量
可以看到dynamips進程占用了CPU資源的100%
使用了計算的idle值CPU占用量
可以看到dynamips進程占用CPU資源的2%
但是你會發現,每次運行都要使用idle值很麻煩,進入/opt/unetlab/html/templates/目錄,查看到所有的yml文件,其中部分文件就是修改idle值的關鍵。
我們通過修改/opt/unetlab/html/templates/下的dynamips設備文件,比如c3725.yml,將計算的idle值填入到idlepc字段,這樣下次啟動c3725時,就會以該idle值運行,占用CPU資源將非常的少。同理其他dynamips計算出的idle也可以對相應的yml文件進行修改!
刷新頁面
三、上傳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鏡像全過程:
上傳至pnet的/opt/unetlab/addons/iol/bin/目錄下
pnet安裝后CiscoIOUKeygen.py文件已經在目錄下
賦予可執行權限:chmod a+x CiscoIOUkeygen.py
執行CiscoIOUKeygen.py:./CiscoIOUkeygen.py
將執行的結果復制到新建名為iourc文件中
權限修正:/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
[license]
pnetlab = c833425160bc61ec;
L2開頭的文件為交換鏡像、L3開頭的文件為路由鏡像
四、上傳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
也就是說,鏡像目錄名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
到此鏡像就導入完畢可以做實驗了