學 CCPN 必備工具 Dynamips / Dynagen

介紹:

學習 router , 而又沒有 router 在手,

總是有力不從心的感覺, 而每一 IOS 的指令都留於空話

在網上我們可以找到不少 router emulator ,

它們可以用來 "模擬" 部份 cisco ios 的指令,

用來學習 CCNA 還可以, 但 CCNP 就 ..................

既然要學, 而又買不起真實的 router, 那如何是好呢 ??

我們雖然沒有真實的 router , 不過我們可以找到真實router的 OS

它就是 Cisco IOS

既然有 Cisco IOS 在手, 為何仍用 emulator 軟伴呢 ??

何不用它來模擬真實的 Router 呢 ??


 

<<目錄>>

Step1: 尋找 IOS
Step2: 基本的 config
Step3: 運行
Step4: 正確的 idlepc
Step5: 進階 config
Step6: config "on the fly"
資料: Cisco Router 3620 的資料


 

Dynamips 它是模擬器來, 只要我們有合適的 IOS 就可以模擬出 Cisco Router
( 它只支援 1700, 2600, 3600, 3700, and 7200 hardware platforms )

 

原理圖:

 

提外話:

mips 是一種行 RISC 指令的 CPU 來, 而我所學習的 Cisco 3620 是用
80 MHz IDT RISC Processor (R4700) .
官方數據它是 Process: 2000pps, Fast: 20,000-40,000 pps, 剛好是 3640 的一半 !

另外 Dynagen 是 Dynamips 的 front-end 來, 它可以大大方便我們建立 Labs
( xxx.net 就是實驗檔來)

Cisco_3620圖片:

 

Dynagen 主頁

Dynamips 主頁

如果有時間的話, 絕對強烈建議拜讀 Dynamips 的原文教學, 看後定必有收穫 !!!


 

Step1: 尋找 IOS

IOS得手的方法我不詳談了, 因此我信大家應該有能力得到的 = , =

而落手的 IOS 我們記得要測試才保留.

經驗所知, 不是個個 IOS 都可以拿來模擬的.

IOS 有一個就足夠了, 多大家都未必同到.

 


 

Step2: 安裝

首先在 Dynagen 的官網下載傻瓜包
Dynagen 0.11.0 and Dynamips 0.2.8-RC2 Windows XP installer .exe

之後在 WinPcap 下載 Window 上的 packet capture library
WinPcap_4_1_2.exe

安裝完全無難度 ...


 

Step3: 基本的 config

如果是 M$ 系統的話, Dynagen 的 configure file 是在

C:\Program Files\Dynamips\dynagen.ini

不修改它亦可 ~

dynagen.ini 內容
======================================
telnet = start E:\program\admin\putty.exe -telnet %h %p
=======================================
我選用了比 M$ 內置的 telnet 強千倍的 Client ^^

其次就是 Lab 的設定檔, 它是用來設定要模擬多少台 Router, 以及
定義它們的連接方式

 

# MyLab.net
#----------------------------------------------------------------------------
#

autostart = false
# double click MyLab.net 後不會自動啟動虛擬路由器
# 它必須是 MyLab.net 的第一句來 !!!

[localhost]
# 在本機運行 Dynamips
#
workingdir = C:\cisco_iso\workingdir
# 在那裡建立臨時檔案

model = 3620
#
ghostios = True
# 每個模擬的 Router 都會被載入 RAM 裡, 以三個 60mb 的 ISO 為例
# 就要成 180mb, 以上設定是指載入一份就可以, 但必須要是同型號
# 的 Router ISO
#
sparsemem = True
# 虛擬 Router 實用多少 RAM 才分配多少 RAM 就它 (沒有了 virtual memory )
# 它符加了 no memory mapping will occur (mmap = false)

[[3620]]
#image = C:\cisco_iso\unzip-c3620-i-mz.122-37.image
image = C:\cisco_iso\c3620-i-mz.122-37.zip
ram = 64
# 每一台虛擬 Router 有多少 RAM
#idlepc = 0x60452110
# 重要, 但是不是必要的設定值來. 它的值在每 IOS 都不同
# 它是用來除去 IOS 的 idle loop 的

############ 模擬 3 台 Router ###########
[[router r1]]
model = 3620
slot0 = NM-4E
slot1 = NM-4T

[[router r2]]
model = 3620
slot0 = NM-4E
slot1 = NM-4T

[[router r3]]
model = 3620
slot0 = NM-4E
slot1 = NM-4T
###################################

#----------------------------------------------------------------------------

 


 

Step3: 基本指令質運行

首先執行桌面的 Dynamips Server.bat 去啟動 Dynamips

之後我們 double click MyLab.net 檔啟動實驗

list
stop {/all | router1 [router2] ...}
start {/all | router1 [router2] ...}
reload
suspend and resume

console /all

 


Step4: 正確的 idlepc

idlepc get routername

pending


 

Step5: 進階 config

Dynamips as of version 0.2.5-pre22 is an integrated virtual Ethernet switch that supports VLANs with 802.1q encapsulation. f0/0 = LAN 1
f1/0 = LAN 2

pending

 


Step6: config "on the fly"

=> conf localhost

=>(config-localhost:7200)ethsw sw1

=>(config-localhost:7200)router r2

router <router_name> [model]
# creates a new router
# default model is 7200
# If router R1 already exists (as it does in this case) we are placed into the router config mode

Any option that has been previously set can be removed by using the "no" version of the command.

=>(config-localhost:7200-router r2)slot0 = NM-1FE-TX

=>(config-localhost:7200-router r2)fa0/0 = r1 fa0/

=> show run
# current lab in the NET file format

=> copy run start
After making your changes you can save it back into the .NET file

Documented commands (type help <topic>):
========================================
cnfg e f ghostsize idlemax iomem ram sparsemem
confreg end fa gi idlepc no s
disk0 et g help idlesleep nvram se
disk1 exit ghostios hist image py slot

 


 

Communicating with Real Networks

“Network Device List” shortcut:

F0/0 = NIO_gen_eth:\Device\NPF_{B00A38DD-F10B-43B4-99F4-B4A078484487}

 


Frame Relay Lab

[[ROUTER R1]]
s1/0 = F1 1

[[ROUTER R2]]
s1/0 = F1 2

[[ROUTER R3]]
s1/0 = F1 3

[[FRSW F1]]
1:102 = 2:201
1:103 = 3:301
2:203 = 3:302

Port:dlci = port:dlci
 


Ethernet Switch Lab

[[ROUTER R1]]
F1/0 = S1 1

[[ROUTER R2]]
F1/0 = S1 2

[[ROUTER R3]]
F1/0 = S1 3

Then, to configure these ports on the switch:

[[ETHSW S1]]
1 = access 1
2 = access 20
3 = dot1q 1
#4 = dot1q 1 NIO_gen_eth:eth0
4 = dot1q 1 NIO_gen_eth:\Device\NPF_{B00A38DD-F10B-43B4-99F4-B4A078484487}

Dynagen includes CLI commands to show and clear the MAC address tables of virtual Ethernet switches. Those commands are “show mac Ethernet_switch_name’ and “clear mac ethenet_switch_name”.
 


Packet Capture

capture r1 f0/0 r1.cap
# capturing traffic at r1’s f0/0 interface and to write it to the file “r1.cap”,

no capture r1 f0/0

FR (Frame-Relay), HDLC, or PPP
 

 

 

 


補充資料:

Cisco Router 的 Slots 數量:

Model Slots
3620 2
3640 4

 

Ciso 的插卡資料:

- NM-1E (Ethernet, 1 port)
- NM-4E (Ethernet, 4 ports)
- NM-1FE-TX (FastEthernet, 1 port)
- NM-16ESW (Ethernet switch module, 16 ports)
- NM-4T (Serial, 4 ports)

NM-4E 圖片:

NM-4T 圖片:

 

Creative Commons license icon Creative Commons license icon