环境 : centos5.2
软件: dynamic.cisco-ios
1: 下载dynamic bin文件 .
mv dynamips-0.2.6-RC4-x86.bin /usr/local/bin/dynamips
2: 安装 需要用到的 libs.
编译安装:
./configure --enable-gnu-names
make -j7 DEPSHALIBS="-lc"
make install
cp -r  /usr/local/lib/libelf.so.0 /usr/lib/
cp  -r /usr/local/lib/libelf-0.8.10.so /usr/lib/
3:下载 ios文件. 这里我以3640路由做例子: (其他ios 就自己去下了. 根据dynamics版本来看他所支持的ios)
4:开始启动dynamips,并初始化路由:
用法如下:
dynamips -P <需要模拟的路由类型> -p 槽号:模块名 <对应路由的ISO文件名>
路由的类型,目前可以是7200、3600、2691、3725或3745,缺省是7200。
-p后面跟的是槽号:模块名,表示那个端口模块插在那个物理槽位(从0开始)中,具体的命令用法请查看官方文档。
下面我们来模拟一台Cisco 3640,其中slot0接了一个快速以太网板,slot1接了一个4端口的E1。
dynamips -P 3600 -p:NM-1FE-TX -p 1:NM-4T c3640-i-mz.122-13.T1.bin
Cisco 7200 Simulation Platform (version 0.2.6-RC4-x86)
Copyright (c) 2005,2006 Christophe Fillot.
Build date: Nov 15 2006 23:05:16
IOS image file: c3640-i-mz.122-13.T1.bin
CPU0: carved JIT exec zone of 64 Mb into 2048 pages of 32 Kb.
NVRAM is empty, setting config register to 0x2142
C3600 instance 'default' (id 0):
VM Status  : 0
RAM size   : 128 Mb
NVRAM size : 128 Kb
Chassis    : 3640
IOS image  : c3640-i-mz.122-13.T1.bin
Loading ELF file 'c3640-i-mz.122-13.T1.bin'...
ELF entry point: 0x80008000
C3600 'default': starting simulation (CPU0 PC=0xffffffffbfc00000), JIT enabled.
ROMMON emulation microcode.
Launching IOS image at 0x80008000...
Self decompressing the image : #################################################  ###################### [OK]
Invalid iomem value in ROM (5). Smart-init will
now run to compute a valid value
iomem percentage may need to be reset manually
Smart Init is enabled
smart init is sizing iomem
ID            MEMORY_REQ                 TYPE
000044          0X0004FE00 Single Port Fast Ethernet
000054          0X0004E480 4T Mueslix Serial
0X000F3BB0 public buffer pools
0X00211000 public particle pools
TOTAL:          0X003A2E30
If any of the above Memory Requirements are
"UNKNOWN", you may be using an unsupported
configuration or there is a software problem and
system operation may be compromised.
Rounded IOMEM up to: 4Mb.
Using 3 percent iomem. [4Mb/128Mb]
Restricted Rights Legend
Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.
cisco Systems, Inc.
170 West Tasman Drive
San Jose, California 95134-1706
Cisco Internetwork Operating System Software
IOS (tm) 3600 Software (C3640-I-M), Version 12.2(13)T1,  RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2003 by cisco Systems, Inc.
Compiled Fri 03-Jan-03 15:10 by ccai
Image text-base: 0x60008930, data-base: 0x60C1A000
cisco 3640 (R4700) processor (revision 0xFF) with 126976K/4096K bytes of memory.
Processor board ID 00000000
R4700 CPU at 100Mhz, Implementation 33, Rev 1.2
Bridging software.
X.25 software, Version 3.0.0.
1 FastEthernet/IEEE 802.3 interface(s)
4 Serial network interface(s)
DRAM configuration is 64 bits wide with parity enabled.
125K bytes of non-volatile configuration memory.
8192K bytes of processor board System flash (Read/Write)
--- System Configuration Dialog ---
Would you like to enter the initial configuration dialog? [yes/no]: y
At any point you may enter a question mark '?' for help.
Use ctrl-c to abort configuration dialog at any prompt.
Default settings are in square brackets '[]'.
Basic management setup configures only enough connectivity
for management of the system, extended setup will ask you
to configure each interface on the system
Would you like to enter basic management setup? [yes/no]: n
First, would you like to see the current interface summary? [yes]: y
Any interface listed with OK? value "NO" does not have a valid configuration
Interface                  IP-Address      OK? Method Status                Prot  ocol
FastEthernet0/0            unassigned      NO  unset  up                    up
Serial1/0                  unassigned      NO  unset  up                    down
Serial1/1                  unassigned      NO  unset  up                    down
Serial1/2                  unassigned      NO  unset  up                    down
Serial1/3                  unassigned      NO  unset  up                    down
Configuring global parameters:
Configuring global parameters:
Enter host name [Router]: croutera3640
The enable secret is a password used to protect access to
privileged EXEC and configuration modes. This password, after
entered, becomes encrypted in the configuration.
Enter enable secret: aaa
The enable password is used when you do not specify an
enable secret password, with some older software versions, and
some boot images.
Enter enable password: aaa1
The virtual terminal password is used to protect
access to the router over a network interface.
Enter virtual terminal password: aaa2
Configure SNMP Network Management? [yes]: n
Configure IP? [yes]: y
Configure IGRP routing? [yes]: n
Configure RIP routing? [no]: n
Configure bridging? [no]: n
Async lines accept incoming modems calls. If you will have
users dialing in via modems, configure these lines.
Configure Async lines? [yes]: n
Configuring interface parameters:
Do you want to configure FastEthernet0/0  interface? [yes]: y
Use the 100 Base-TX (RJ-45) connector? [yes]: y
Operate in full-duplex mode? [no]: y
Configure IP on this interface? [yes]: 216.16.16.77
% Please answer 'yes' or 'no'.
Configure IP on this interface? [yes]: y
IP address for this interface: 216.16.16.77
Subnet mask for this interface [255.255.255.0] : 255.255.255.0
Class C network is 216.16.16.0, 24 subnet bits; mask is /24
Do you want to configure Serial1/0  interface? [yes]: y
Configure IP on this interface? [yes]: y
Configure IP unnumbered on this interface? [no]: n
IP address for this interface: 172.16.0.5
Subnet mask for this interface [255.255.0.0] : 255.255.255.252
Class B network is 172.16.0.0, 30 subnet bits; mask is /30
Do you want to configure Serial1/1  interface? [yes]: n
Do you want to configure Serial1/2  interface? [yes]: n
Do you want to configure Serial1/3  interface? [yes]: n
The following configuration command script was created:
hostname croutera3640
enable secret 5 $1$23Hu$R4Fvrz7dFHw.sJesE4kww.
enable password aaa1
line vty 0 4
password aaa2
no snmp-server
!
ip routing
no bridge 1
!
interface FastEthernet0/0
media-type 100BaseX
full-duplex
ip address 216.16.16.77 255.255.255.0
!
interface Serial1/0
ip address 172.16.0.5 255.255.255.252
!
interface Serial1/1
shutdown
no ip address
!
interface Serial1/2
shutdown
no ip address
!
interface Serial1/3
shutdown
no ip address
dialer-list 1 protocol ip permit
dialer-list 1 protocol ipx permit
!
end
[0] Go to the IOS command prompt without saving this config.
[1] Return back to the setup without saving this config.
[2] Save this configuration to nvram and exit.
Enter your selection [2]: 2
media-type 100BaseX
^
% Invalid input detected at '^' marker.
Building configuration...
Use the enabled mode 'configure' command to modify this configuration.
Press RETURN to get started!
*Mar  1 00:00:03.767: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed sta
*Mar  1 00:00:03.771: %LINK-3-UPDOWN: Interface Serial1/0, changed state to
*Mar  1 00:00:03.775: %LINK-3-UPDOWN: Interface Serial1/1, changed state to
*Mar  1 00:00:03.779: %LINK-3-UPDOWN: Interface Serial1/2, changed state to
*Mar  1 00:00:03.783: %LINK-3-UPDOWN: Interface Serial1/3, changed state to
*Mar  1 00:00:04.767: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEt
*Mar  1 00:00:04.771: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial
*Mar  1 00:00:04.775: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial
*Mar  1 00:00:04.779: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial
*Mar  1 00:00:04.783: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial
*Mar  1 00:00:32.399: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial
*Mar  1 00:00:32.471: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial
*Mar  1 00:00:32.535: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial
*Mar  1 00:00:32.615: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial
*Mar  1 00:25:41.063: %LINK-5-CHANGED: Interface Serial1/1, changed state to
*Mar  1 00:25:41.267: %LINK-5-CHANGED: Interface Serial1/2, changed state to
*Mar  1 00:25:41.271: %LINK-5-CHANGED: Interface Serial1/3, changed state to
*Mar  1 00:25:45.547: %SYS-5-RESTART: System restarted --
Cisco Internetwork Operating System Software
IOS (tm) 3600 Software (C3640-I-M), Version 12.2(13)T1,  RELEASE SOFTWARE (f
Copyright (c) 1986-2003 by cisco Systems, Inc.
Compiled Fri 03-Jan-03 15:10 by ccai
*Mar  1 00:25:45.575: %SNMP-5-COLDSTART: SNMP agent on host croutera3640 is
croutera3640>en
Password:
Password:
Password:
% Bad secrets
croutera3640>en
Password:
croutera3640#sh run
Building configuration...
Current configuration : 804 bytes
!
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname croutera3640
!
enable secret 5 $1$23Hu$R4Fvrz7dFHw.sJesE4kww.
enable password aaa1
!
ip subnet-zero
!
!
!
!
!
!
!
interface FastEthernet0/0
ip address 216.16.16.77 255.255.255.0
croutera3640#exit
其他模拟训练,就可以自己去找教材看了, 这个就是一个 3640的路由器了, 如果要结束 模拟器, 可以另外开一个终端,然后 killall dynamips
注:  你的Linux环境必须要有make,gcc,libpcap等,可以用 yum install mak gcc libpcap*来安装.