GNS3全面詳解系列-GNS3的前世今生
前言:
我和“她”認識已經有十個春秋,3650個日起日落。5年前因為對她的“誤會”我們各奔東西,彼此擦肩而錯過;5年後由於個人發展原因再次與她重逢。最近由於工作項目上的需要,有了和她朝夕相處的機會,潛滋暗長,日久生情,於是開始萌芽了打算為她寫個自傳系列文章的念頭。
沒錯,“她”就叫GNS3!因為她的美,她的魅力,她的追隨者數不勝數,目前網絡大把關於她的文章,有一筆帶過的,也有不缺精華的文章,但是覺得對她的描述和贊美不夠,總覺的少點什麽!求人不如求己,說到不如做到,接下來就開始對GNS3寫個超級詳細的系列文章,也算是了了我一樁心願吧!
背景:
記得我自己最早用的網絡模擬器是思科的Packet Tracer,那一年是大一,大學選專業,在師兄的影響下果斷選了網絡專業,經過了洗腦,又果然報了CCNA培訓班,於是開始接觸了Packet Tracer。
其實Packet Tracer不是真正的模擬器(Emulateor)只能叫仿真器(Simulator),因為它不能運行真正的早期思科IOS,裏面的大部分命令都是用程序模擬出來的。後來經同學推薦認識了DynamipsGUI,中文版本的叫"小凡制作"相比純DOS下的Dynamips,小凡制作有了GUI圖像界面也能運行正真的IOS,操作和使用方便了很多!目前對小凡制作的記憶片段,就是圖形界面下的設備互聯會生成txt文本文檔的互連線圖和運行IOS後的黑底白字dos界面下的“”小凡“”字符界面,還有需要快槍手般的操作快捷鍵快速計算idle值,不然CPU直接奔到100%。
其實現在想想,那個年代覺得有了這些東西,對我們學網絡的學生而言那已經是很大的福音了,免去了跑學校實驗室機櫃上那排隊等著使用的“銳捷”設備的漫長等待。
在使用了“”小凡制作“”的一年後,印象中是09年吧!開始接觸了GNS3,那會對GNS3還比較陌生,當時試用它是沖著她的“美“-圖形界面去的,但是那會的GNS3特別占用內存和CPU,覺得徒有其表,使用了一段時間後果然放棄了……
光陰似箭,歲月如梭,冥冥之中,自由安排,5年後再次與她邂逅,此時的GNS3已經不是當年的她“”了,此一時,彼一時,就像此時的諾基亞不是當時的諾基亞一樣,此時的蘋果不是當時的蘋果,此時的女神不是彼此的女神一樣!此時的GNS3已經是名聲大噪,有口皆碑!要不是因為CCIE,估計可能我又會再一次和她擦肩而過……
現狀:
目前,全球數十萬網絡工程師使用GNS3來模擬、配置、測試和拍錯虛擬和真實的網絡環境。GNS3允許您運行在你的個人電腦上,或者在多個服務器上托管的設備上,甚至是托管在雲端的設備上。
GNS3可以幫助您準備諸如Cisco CCNA,CCNP之類的認證考試,也可以幫助您測試和驗證真實環境的部署。GNS3的原始開發人員eremy Grossman最初創建這個軟件的目的是為了幫助他學習CCNP認證。由於最初的工作,我們現在可以使用它來完成同樣的工作,而無需為昂貴的硬件付費。
GNS3允許網絡工程師對真實的硬件設備進行虛擬化超已經超過過10年了。正如我開篇說的,GNS3最初只是使用名為Dynamips的軟件來模擬Cisco IOS設備,現在已經發展並支持來自多個網絡供應商的許多設備,包括Cisco虛擬交換機、Cisco ASAs、Brocade vrouter、Cumulus Linux交換機、Docker實例、HPE VSRs、multiple Linux applicnces和許多其他設備。更多受支持的設備,可以點擊下面鏈接來查看目前可用的Appliances列表: https://gns3.com/marketplace/appliances
架構:
GNS3 包含兩個軟件組建:
The GNS3-all-in-one software (GUI)
The GNS3 virtual machine (VM)
GNS3-all-in-one:
這是GNS3中帶有圖像界面的的客戶端部分,你可以安裝該軟件在你的本地計算機中(Windows, MAC, Linux) 然後用它創建你的網絡拓撲,這也是你在網絡上見得最多的場景,盜用一張官方的圖,拓撲如下圖所示:
服務器選項:
當你用GNS3 all-in-one圖形客戶端創建拓撲後, GNS3所運行的設備(模擬或者仿真)需要依賴相應的服務端進程。對於此軟件的服務器端,我們有下面3個選項可以選擇:
本地GNS3服務器
本地GNS3虛擬機
遠端GNS3虛擬機
本地GNS3服務器模式:和GNS3 all-in-one圖像界面客戶端運行在同一臺物理機下;此外, 用於支持思科舊版本IOS的Dynamips也會運行在同一物理機上。此模式適合於設備不多,需要快速創建小型拓撲來測試或者驗證某些配置的場景。因為設備太多的話會占用太多的本地計算機資源,導致性能下降!
GNS3虛擬機模式:上面的後兩種都屬於虛擬機模式,無論虛擬機(VMware或者VirtualBOX)運行在本地或者遠端( VMware ESXi 主機或者雲端),都是比較推薦的模式,因為這種模式會在你的本地計算機上部署一臺虛擬機,然後所有模擬設備都是運行在這臺虛擬機上,虛擬機的物理配置你隨時可以調節,這樣的好處是:虛擬機的物理資源一旦確定下來,那麽占用你物理機的頂多就是分配給虛擬機的物理資源而不用擔心模擬設備會耗盡你的本地物理機資源。另外一個好處是,虛擬機對模擬設備的支持比較好,因為GNS3虛擬機是居於Linux內核的,而很多模擬設備也是居於Linxu內核的,這樣兼容性和性能會好很多。再者,就是受支持的模擬設備比較多,諸如Cisco VIRL(思科虛擬互聯網路由實驗室) 設備 (IOSvL2, IOSvL3, ASAv) 或者其他依賴於 Qemu模擬器的其他設備。
GNS3 Emulation(模擬器) 對比 Simulation(仿真器):
GNS3同時支持Emulation(模擬器)和Simulation(仿真器)設備,那麽,這這兩者有什麽區別呢?
Emulation(模擬器):就是GNS3利用模擬器虛擬設備的硬件,然後在這虛擬硬件上運行正真的系統或者軟件。例如Dynamipcs下運行的的思科IOS就是這種方式。
Simulation(仿真器): GNS3 模擬設備的功能和特性,例如交換機。運行在該仿真設備上的不是真實環境下的系統或者軟件,例如前面介紹到的思科Packet Tracer就是類似的仿真器,在GNS3上的VPC也是此類仿真器。
溫馨提醒:不用過於偏激或者糾結兩者之間的異同點,根據個人需要結合使用即可,使用的時候註意下面兩點的區別:
Dynamips 是一個模擬思科設備比較老的技術了,它使用真正的思科IOS系統。對於小型的實驗環境比較適合使用,但是它有一些自己的局限性,例如只能支持老版本的IOS(12.X以及之前的版本),而12.X的版本目前思科以及停止更新和支持了。
目前,GNS3推薦使用的思科鏡像軟件是VIRL (IOSv, IOSvL2,IOS-XRv, ASAv). 因為這些系統目前受思科支持和更新。目前支持的發布版本為 IOS (15.X) 。這些系統雖然比Dynamips要占用內存資源,但是很多新特性都得到支持,用戶體驗也好。
本小節就先告一段落,為了能夠盡量詳細的給大家多分享些關於GNS3的東西,請大家原諒我的啰嗦!下節開始,我們真刀×××的實戰,我們戰場上見!
GNS3全面詳解系列-GNS3的前世今生