網路這一塊是我進入資訊領域後一直沒機會深入研究的缺憾,離開TFN後,拋開每天維運的MS Backoffice系統,想想看日後10年IT領域中還有啥可以繼續『混口飯吃』,聽起來很沒志氣吧!剛好精誠資訊/恆逸教育訓練中心開了白天班的CISCO CCNP課程,我就去那邊混了。

所謂隔行如隔山,課堂上老師使出一身的氣力在台上SHOW到嘴角都是波,我還是聽的霧煞煞,每天六小時的強力放送,重點部份都和我擦身而過,三天兩頭的隨堂小考讓我們班的同學死掉不少腦細胞,BGP的【黑洞現象】在每個人的臉上浮現‧‧‧下課後,我們Team的都留在教室裡繼續做LAB,複習今天的課程與指令,但時間總是〝穌〞一下就過去了,晚上十點工讀生就撥放:『晚安~晚安~明天見!!!』靠!真想把這些Router  A回家繼續練習。

One day...好心同學分享給我 Bonson的模擬器(http://www.boson.com),我當然想好好利用它來狂K、苦練CISCO IOS CLI與Routing,很爭氣的它果然就是【模擬器】,遇到高階或是冷門少用的的指令,如OSPF之ABR設定,完全是做不成功,拿做不出來的問題去問老師,還被笑勒(PS.老師是笑那軟體爛啦!)。後來好心同學的好心進化了,給了我一版:工大瑞普http://ciscobbs.njut.edu.cn/bbs/forumdisplay.php?fid=28令我非常振奮,因為這款模擬器是載入CISCO IOS來執行的,所以CLI指令與CISCO硬體ROUTER的結果,保證一樣,所以與其說它是網路設備模擬器(Router Simulator)不如說是Virtual Machine更為貼切。無奈繁體中文的分享文章資源非常散亂,我就花了點時間整理一些資訊與心得,分享給需要的好友們。

迫切需要Cisco Router Simulator實在因為:
1.CISCO ROUTER/Switch 並不是每個人都可以隨意取得或是工作上直接接觸。
2.就算是工作上直接性的接觸,也不代表你可以隨意設定或是惡搞,除非你想領資遣費。
3.CCNA/CCNP/CCIE 考試非常強調實作能力,再多的理論若是沒有實作,保證一覺醒來全部忘光光。
4.一顆ROUTER動輒數萬元,想做成CCNP基本的LAB,少說三顆,若還要加上Smart Serial Cable或是 V.35 / ISDN等等章節,那花的錢就不用多說了!
5.坊間授課品質良好的CCNA+CCNP課程起跳20萬,已經先內傷了一筆,每一科認證考試要花費150元美金,更不用再說買設備自己做LAB了~

以上五點也導致CCNP/CCIE認證在IT領域中,總是【超級鉑金】波般的閃亮,反觀Windows 2003 MCSE認證,因為作業系統取得容易、安裝硬體規格不高的特性,市面上有如過江之鯽,雖然我也是那一條小鯃仔魚

 用GOOGLE大神可以找到非常多與 Dynagen、Dynamips 相關的資訊。Dynagen is a front-end for use with the Dynamips Cisco router emulator.當然也支援許多作業系統平台Windows/Linux/MAC OS都支援,Dynagen有推出Windows Install Packet (安裝套件) 與 DOS Console執行模式套件兩種,前者是直接下載安裝後即可使用,後者須下載後,手動放到HDD裡,在全部手動修改設定INI檔後才可以執行。我直接分享Windows安裝套件的方式,另外的工大瑞普DOS模式的說明我再找時間分享設定心得。

首先列出使用Dynagen的軟、硬體需求

→→硬體需求:
如果要做完所有CCIE LAB Topology試題,官方建議 AMD 64 X2 Dual Core 4400+ CPU / 2GB RAM / 2GB以上的硬碟使用空間;我是用一台超過4年的老PC:AMD 1800+ CPU / 1.5GB RAM 再加上80GB HDD與至少一片實體硬體的網路卡(LAN/WAN都可以)來跑CCNP的環境,還算順暢。

→→軟體需求:
1.WinXP/2003對記憶體的管理比較好,不然至少也要Win2000
2.Winpcap 4.0版 (
http://www.winpcap.org/install/bin/WinPcap_4_0_1.exe)
3.Dynagen-0.9.3+Dynamips-0.2.7
(
http://nchc.dl.sourceforge.net/sourceforge/dyna-gen/dynagen-0.9.3_dynamips-0.2.7_Win_XP_setup.exe)
4.CISCO Router7200 IOS : xxxx.bin (請尊重版權與智慧財產權,請各自想辦法取得,在此不雞婆提供)

→→Dynagen支援度:
Dynagen 0.2.7-RC1以後版本支援 7200 / 3600 / 2600 系列 Router
● 7200系列Router在這版本上,支援PA-2FE-TX (2 FastEthernet ports), PA-GE (1 GigabitEthernet port), C7200-I/O-2FE/E, C7200-I/O-GE+E
● 3600系列Router在這版本上已經支援
● 2600系列Router在這版本上已經支援,但是尚不支援NM-1E, NM-4E, NM-1FE-TX, NM-16ESW. NM-4T等擴充插卡

一切就緒後,我們就來安裝軟體吧!首先安裝Winpcap


然後安裝﹝dynagen-0.9.3_dynamips-0.2.7_Win_XP_setup.exe﹞


安裝完成後,桌面上便會產生三個ICON:

 
1.批次檔『Dynamips Server』:用來啟動後端Dynamips服務,執行模擬器前要先執行它
2.批次檔『Network device list』:將Dynagen模擬器與實體PC上的網路卡做串接(MAPPING),讓你可以PING到模擬器裡的 7200 ROUTER
3.目錄『Dynagen Sample Labs』:預設的網路執行範本,每一個目錄裡都是 xxxx.NET,可以用 記事本(Notepad)開啟並加以編輯。

●●●Dynagen簡單執行步驟●●●:

1.了解、建立與設定Router環境參數檔案xxxx.NET
xxxx.net檔案為Dynagen Router模擬器的環境參數檔案,安裝完成後系統會放置幾個範例檔案供使用者學習與編修,我們以程式提供之範例為講解,基本了解每一行參數的定義,方便日後自己設計LAB網路Router與Switch時,亂七八糟的『接線』
請使用NOTEPAD開啟或編輯
C:\Program Files\Dynamips\sample_labs\simple2\ simple2.NET 網路環境設定檔案:

# Another simple dynagen configuration file
# All the f0/0 interfaces are on VLAN 1 and the F1/0 interfaces are on VLAN 2

[localhost]

    [[7200]]
    image = ..Program Files\Dynamips\images\c7200-jk9o3s-mz.124-7a.image
    # On Linux / Unix use forward slashes:
    # image = /opt/7200-images/c7200-jk9o3s-mz.124-7a.image
    npe = npe-400
    ram = 160
   
    [[ROUTER Zapp]]
    console = 2001
    f0/0 = LAN 1
    f1/0 = LAN 2

    [[ROUTER Leela]]
    console = 2002
    f0/0 = LAN 1
    f1/0 = LAN 2
   
    [[ROUTER Kif]]
    console = 2003
    f0/0 = LAN 1
    f1/0 = LAN 2

#】設定檔案中所有#開頭的符號,均代表註解,執行時會Bypass
[localhost]】模擬器後端平台:Dynamips Server的host name,此值也可以變更使用 IP Address 但需寫在中括符裡;也可以善用2台以上不同的PC來分散執行負載前端Dynagen與後端Dynamips Server。
[ [7200] ]】首先注意:此為兩層中括符,寫錯程式將無法執行。此值代表兩個意義:一為向上延伸承接Localhost的所定義的程序系統,二為向下宣告定義後續所有建立的每一顆Router,都使用相同的7200 Router,這意味著不需重複載入IOS檔案,即使開10顆不同模組介面卡設定的7200 Router也僅需載入一次IOS即可。
image =】此行代表載入的 CISCO IOS路徑與檔案名稱。請注意:下載安裝的Dynamips/Dynagen Router模擬器,是沒有內含CISCO IOS xxxx.bin的,請自行取得,取得後的xxxx.bin建議先將檔案放至於『C:\ Program Files\Dynamips\IOS』目錄內,方便日後統一管理,當然您也可以放在其他位置,但路徑參數記得寫對,否則Dynagen無法正確讀到IOS檔案,會導致啟動Router程序失敗!
npe =】模擬與CISCO Router硬體一樣的CPU:NPE-400,此顆CPU為RISC 350MHZ,相關資料請看CISCO官方網站詳介(
http://www.cisco.com/univercd/cc/td/doc/product/core/7206/7206cfig/npense/10469o3.htm)
ram =】設定每開啟一顆7200 Router 執行環境,將由PC (Windows)分配160MB記憶體給NPE-400執行使用。請注意~記憶體分配出去是無法再動態調整的,而且還不包含後續NVRAM /DRAM/PCMCIA等等的使用,經小弟的測試每開啟一顆7200 Router 大約會耗用Windows 256MB記憶體,所以PC或是NB記憶體越大越好喔。
[[ROUTER Zapp]]】此行代表在Dynagen中的機器名稱,不是CISCO IOS啟動後的startup-config裡面的router hostname喔!請看下圖中紅色框框中的Name值(粉紅色為idle-pc的值,後續的進階使用會談到),這欄位名稱是可以改變的,我把Zapp改成Backbone 、P1R1、P1R2…等等比較符合我的LAB架構圖。 


console = 2001】【console = 3001】代表使用TCP Socket Port:3001來取代真實世界的Rollall Cable Console線!我使用WinXP的 Hypertermial並設定3001 Port來模擬Router上的Console Port,也因為改使用Socket Port,所以也不再需要設定9600,8,N,1的參數,請看下列圖檔示範: 




【f0/0 = LAN 1】這行定義Router:Zapp的FastEthernet 0/0 Port接在VLAN 1(NativeVLAN)上,你也可以改成【f0/0 = Leela f0/0】代表Zapp的FastEthernet 0/0 與Router:Leela FastEthernet 0/0 之間用 Crossover Cable對接,相關的對接設定我會在寫一篇進階的說明來詳述。

2.Dynagen啟動程序:

點擊2次執行桌面上Dynamips Server圖示,即可啟動Dynamips Server,執行後不要關閉此視窗,縮小視窗即可。

 
您也可以透過 Dynamips Server Console 視窗,看到前端 Dynagen 載入CISCO IOS的Runtime狀況與也可以透過此視窗來達到Show Error Message 進行簡單的DEBUG,下圖中可以看到Dynagen載入7200 Router IOS後在Dynamips Server上出現的即時狀態(Runtime),RAM使用了160MB、NVRAM使用128KB、JIT使用64MB等等訊息。

編輯好xxxx.NET檔案後直接點擊2次啟動Router並可以利用Telnet遠端登入Router
(雙點擊 C:\Program Files\Dynamips\sample_labs\simple2\ simple2.NET檔案)


下圖說明;緊接著我們可以輸入:【list】列出已啟動的 Router 清單。
粉紅色框框部分代表啟動時可能會出現的【Warning: Starting xxxx no Idle-pc Value】的錯誤訊息,這代表模擬器無法對映到實體PC的CPU 耗用參數,所以Dynagen預設值會耗掉接近100% CPU的資源,這會導致實體PC效能瞬間降低,但是不需擔心,後續進階使用中會詳細的說明如何調教Idle-pc Value。
紅色框框的部分Status為Running就是已經被啟動的 Router,本範例中一次啟動四顆Router,分別為〝Backbone〞、〝P1R1〞、〝P1R2〞與〝P1R3〞。

 


如果Dynagen 沒有自動啟動Router,可以以手動方式下指令【start  P1R1】將P1R1啟動。

3.登入Router的方式:
我們可以在 Dynagen 中直接輸入:【Telnet P1R1】直接 Telnet至P1R1這顆Router。好玩的是Dynagen所下的telnet指令其實是呼叫 Putty v0.53b Telnet工具程式。



也可以利用先前所提到的 HyperTerminal直接連接登入〝Console Port〞

 

在Dynamips中如果不知道指令如何使用,也可以打:【?】來尋求協助。

既然都已經成功登入Router了,那就好好開始練習IOS CLI指令吧!Bill與Travis老師會覺得你粉用功ㄟ~加油!加油!加油!

最後附記,我會花3天寫一篇這樣的淺顯的使用手冊,主要是希望後起之秀可以利用這簡單好用又免費軟體的學習高階的網路系統,二來是感謝Travis與Bill Lin老師帶領我們進入這一艱深的領域,讓我們在枯燥乏味的CLI之中,瞭解文明人類利用的溝通工具與歷史背景。


創作者介紹

HarlemHsu

HarlemHsu 發表在 痞客邦 PIXNET 留言(6) 人氣()


留言列表 (6)

發表留言
  • raymond
  • Dynamips setup

    我按照您的說明實作了Dynamips,但是我telnet到router就卡在這了─"Connected to Dynamips VM "R1"(ID 1, type c7200) - Consol",無法啟動ROUTER,請問是哪沒設定好嗎?
  • 小頑童
  • 好玩的是Dynagen所下的telnet指令其實是呼叫 Putty v0.53b Telnet工具程式。
    ======
    這邊有疑問,是不是您電腦裡面有裝 Putty v0.53b Telnet工具程式
    否則,為什麼我測試過執行後不是 Putty v0.53b Telnet工具程式...
  • 是阿,不過我現在都用 PuTTY 0.6版

    HarlemHsu 於 2009/06/28 21:20 回覆

  • 小頑童
  • 你好,我跟一樓的大大一樣,telnet到router就卡在這了─"Connected to Dynamips VM "R1"(ID 1, type c7200) - Consol"
    請問這是什麼問題,如何排除呢? 先謝謝你的撥控答覆!
  • 最主要的是您的CISCO IOS沒有解壓縮後再使用

    HarlemHsu 於 2009/07/06 12:03 回覆

  • 天野~
  • 大大請問 要如何從別台電腦用Telnet登入虛擬Router <Backbone>?
    照上面的設定已經順利連結到router了,但要如何對外做連結??
  • wanbiao wang
  • 大大 厲害唷~
    內容解說的圖文並茂
    雖然我已經在用了
    但很多其中的參數檔案我並沒有很清楚
    今天看過一遍後 才真正恍然大悟
    真是受用無窮阿
    謝謝你的無私分享 ^^
找更多相關文章與討論