2008年12月25日 星期四

Dynamips+Dynagen建構For CCNA

~此文是一年前發於vlab的文~

這是一篇給像我一樣要準備CCNA練CLI的人看的^^
最近準備CCNA,剛看完INTRO,要去翻ICND1時發現要有地方練練指令才行,不然光看實在看嘸啦~還好有這個地方讓我學習^^今天下午可以在自已的電腦上打指令真是爽!!分享我建製的過程,希望對跟我一樣入門的人有所幫助,同時也請各前輩指正!!謝謝~

Step 1.環境: (請先備妥下面前菜,應該不難,要花時間抓一下)
。WinXP SP2 (我跑的系統)
。WinPcap (用來讓模擬伺服器跟你的Windows可以溝通的東東,作用於layer2)http://www.winpcap.org/install/default.htm
。Dynagen /Dynamips (記得下載Windows XP installer版呀!Dynamips是模擬環境的伺服器;Dynagen是其前端設定,也是未來要改東改西的地方)http://sourceforge.net/project/showfiles.php?group_id=160317
。IOS (Goolge找"IOSHunter"就可以找到解決方法了^^)
(CCNA用2610, 2611, 2620, 2621,2691,3620,3640找個喜歡的下載吧,不要亂抓不然Dynamip/Dynamips不支援也是白抓,建議抓取:c3640-ik9o3sw6-mz-122-8T.bin.bin,因為IOSHunter抓的到,也能模擬Switch)

Step 2.安裝:
1.裝WinPcap: 直接執行就ok了!裝一次未來就免疫了,不用理這玩意了^^
2.裝Dynagen/Dynamips: 直接執行完會生出三個檔-
(1)NetworkDeviceList-讓模擬環境與你的網卡相接的,會產生NIO碼,可以用來更改網路檔的。
(2)Dynamips Server-只要開啟它就開始了Dynamips伺服器環境了。
(3)DynagenSampleLabs-這個資料夾放了我們未來要改東改西的Dynagen XXX.net網路檔,我們也要靠這個網路檔來模擬Router。
3.IOS放定位: 把抓來的IOS放到C:\Program Files\Dynamips\images\裡面。

Step 3. 更改Dynagen網路檔:我抓下來的Dynamips/Dynamips預設是給7200用的(不知道幾年後才會學到那邊)。我們接下來要做的就是讓它能跑我們要模擬較低階的Router,我用3640為例(建議用範例的IOS-c3640-ik9o3sw6-mz-122-8T.bin.bin):
1.至C:\Program Files\Dynamips\sample_labs\simple2\下(或桌面的DynagenSampleLabs進去,到\simple2是一樣的。當然你也可以更改\simple1\也是一樣的),右鍵用Notepad開啟simple2.net。
2.下面是我的設定檔,可以直接copy過去,或自已更改想要的設定:(我用3640模擬三顆Router,R1,R2是SerialPort相連介面,R3模擬16PortSwitch)("#"字之後都是我的廢話)

[localhost:7200] #localhost是主機名稱;而7200則是登入server的PortNumber
[[3640]]
#這裡先定義3640的環境,未來不管要幾顆3640,只要呼叫一下就ok了! image = \Program
Files\Dynamips\images\c3640-ik9o3sw6-mz-122-8T.bin.bin #你放IOS的地方,檔名要打對呀!
ghostios = true #讓所有Router共用同一個IOSimage,可以節省很多空間

[[ROUTER R1]]
#R1是我自已取的,請自行命名想變更的Router名稱方便你自已辨識,記得不要與其它Router重覆就好;另一點要說明的是這個雙括號不要拿掉,沒有多也沒有少!它的概念可以想成它是上面localhost單括號下的子目錄。
model=3640 #這裡就是呼叫上面3640裡的參數 s0/0 = R2 s0/0 #讓s0/0介面與R2 s0/0介面相連
[[router R2]] #這裡用小寫的router,結果都是一樣的^^

model=3640 #如果不想每顆都3640,參考一下備註一,再去更改你要的IOS吧~ f1/0 = SW1 f0/15 #這就是連到switch要做Encapsulation喔

[[ROUTER SW1]] #這裡將router取名Switch方便辨識
model=3640 slot0 = NM-16ESW
#這裡使用網路模組,讓這顆Router模擬16portSwtich,f0/0~14可當vlan,f0/15是trunkPort喔!



註一、model = 3640 的IOS編號只能用下面這幾個: 2610, 2611, 2620, 2621, 2610XM, 2620XM, 2621XM, 2650XM, 2651XM, 2691, 3620, 3640, 3660, 3725, 3745, or 7200,代表目前只能用這些來模擬,夠用了吧~~

Step 4. 執行:
1.開啟桌面的Dynamips Server,放在背景跑就ok啦~
2.直接開啟剛改好的simple2.net檔(你也可以取不同的名稱)
3.輸入"list"看各Router是否正常運作
4.輸入"telnet R1"(R1為你設定的Router名稱),就會進到Router了!!
5.進入Router後,它會問你"Would you like to enter the initial configuration dialog? [yes/no]",未來只要看到這些字都直接打"no"吧!所有設定等我們進Router後再手動設,如此才能打好基礎^^
6.再回到Dynagen畫面,輸入"telnet R2"Enter,與"telnet SW1"Enter,一樣進到兩顆Router內,直到輸入no後沒動作為止。

Step 5. 更改idlepc值:(這個步驟可以讓你邊練CLI邊聽歌、邊抓A系列影片,避逸系統CPU滿載)
1.當三個telnet畫面都出現"Press RETURN to get started"時;或已經不動時,不要作任何動作!
2.回到Dynagen畫面打這個指令"idlepc get R1"(R1是你替Router取的名稱請自行更換)
3.我出現的畫面如下:
* 1: 0x604535ac [54] 2: 0x604265e0 [60]
請自行比較最後括號內哪個值最大,我們要的就是值最大那個的前面16進碼。例子中我的是[60]前的0x604265e0,把這個碼複制起來!
4.把telnet、Dynagen、DanamipsServer三個視窗都關掉,待會要重開!
5.把C:\Program Files\Dynamips\sample_labs\simple2\下面除了simple2.net的檔案全部刪掉!(這些是我們未設定完全前產生的設定檔)
6.用Notepad開啟你的Dynagen設定檔(simple2.net那個),在 [[3640]] 下面任何地方放入這些字
idlepc = 0x604265e0
就是我們剛抓的16進碼,如果你要用多種IOS,請各別抓取idlepc值,並放入該IOS定義下。
7.用step4的方法進到telnet後就可以開始練CLI了!加油!
希望以上對大家有幫助,祝大家考試順利呀^^也請各位前輩指正,讓更多人更容易上手,多謝指教^^

最後,如果英文不錯,想更進一步了解更多,請看看這些說明:1.Dynamips所有設定選項說明C:\Program Files\Dynamips\sample_labs\all_config_options.txt
Dynamips/Dynagen的說明C:\Program Files\Dynamips\docs\tutorial.html

對Dynagen設定搞不懂,可以看看這篇:
http://www.vlab.com.tw/vlabforums/viewtopic.php?t=11695&sid=d44a2c3571d7caef4c607ab40b0ec077

PS.文章出於http://www.vlab.com.tw/

沒有留言: