- 论坛徽章:
- 0
|
windows xp上的dynamips使用指南
(本文以bat命令行方式使用模拟器,和unix下面的使用非常类似)
一,概念
cisco路由器和pc机类似,硬盘对应路由器的flash, 操作系统对应路由器的ios,内存ram的概念一致。
不同的ios,对路由器 flash ,ram 的容量要求不同,模拟器上只需要满足ram。
cisco设备上模块插槽和端口都是从0开始计数。
cisco 路由器的配置分两种,一种是当前在内存中的,成为running-config, 另外一种存储在非易失性内存nvram中start-config,
路由器开机引导后,由nvram中的配置载入到内存中形成running-config, 在路由器上每输入一个命令就进入running-config 并 立即生效,
如果要把新命令保存到nvram中,输入命令write mem,或者 copy running start。
二,准备工作
1,下载dynamips:
http://www.ipflow.utc.fr/blog/
,
最新版本为 0.2.7-RC3 release
解开到任意目录,我用了d:\dm目录,真正需要的是:dynamips-wxp.exe,README-0.2.7.txt,cygwin1.dll,三个文件。
我把dynamips-wxp.exe改名了,改称dm.exe, 因为文件名太长不好打。
readme0.2.7.txt 也需要,因为要查看模拟器支持的模块和参数
cygwin1.dll 模拟nix环境。
这样d:\dm就是工作目录。工作目录下面目前只有这三个文件。
2,下载 cisco ios,最好用 3660的IOS,因为模拟器这个型号可选模块多。
如果做atm试验,还需要7200的IOS。
3660为例,建立初始环境,假设下载了ios文件为c3660nnn.bin,放在:d:\dm工作目录下
假设这个ios运行需要128M ram。
将c3660nnn.bin改扩展名为rar, 然后用winrar解开成 c3660nnn-ex.bin,文件名随意。
解开后原来的c3660nnn.rar 也就是c3660nnn.bin 就不再需要了,删除都没关系。
这样得到解压缩的 c3660nnn-ex.bin是为了提高模拟器启动过程,因为他每次启动时候不用再自动解压缩了。
三,初始工作
1,建立ghost文件,这是因为要节省空间,比如要用到6个路由器,启动每个模拟实例,都会在硬盘上形成映像空间。
通过建立ghost文件,使这6个相同型号的模拟路由器共用一段映像空间存放启动代码。
进入dm目录,执行命令:
dm -P 3600 -t 3660 -r 128 -g c3660_ghost c3660nnn-ex.bin
命令中-P 3600 -t 3660 指定模拟3660路由器
-r 128 指定需要128M 内存
-g c3660_ghost 产生一个名为 c3660_ghost的 ghost文件(共用启动映像)
2,确定 --idle-pc值,这是为了解决模拟器独占cpu,利用率达到100%问题。
在dm目录下,执行命令:
dm -P 3600 -t 3660 -r 128 -G c3660_ghost c3660nnn-ex.bin
这次是大写的G。
由于还没有配制,路由器会提问是否要进入初始配置对话框:
would you like to enter the initial configuration dialog? [yes/no]:
输入 n ,按回车出现:
press return to get started!
官方说明这个时候按下" ctrl + ]" 组合键,
我发现最好还是直接按回车,出现路由器提示符 router>,然后按下" ctrl + ]" 组合键,然后按下 i
稍等,会出现几个数值,如: 0x60529644。。。如果你懒得纪录,就把屏幕拷贝下来。
关闭这个dos窗口。
3,在dm目录下,执行命令:
dm -P 3600 -t 3660 -r 128 --idle-pc 0x60529644 -G c3660_ghost c3660nnn-ex.bin
等待路由器启动完成,看cpu利用率在10%以下,ok完成任务。
否则,换一个0x6052xxxx值,用上述命令继续启动路由器测试cpu利用率。
4,至此,得到idle-pc值,在dm目录下建立第一个路由器的工作目录 R1 ,
在dm目录下为R1 建立启动批处理命令R1.bat
title R1
@echo off
cd R1
D:\dm\dm.exe -P 3600 -t 3660 -r 128 -i 1 --idle-pc 0x60529644 -G c3660_ghost c3660nnn-ex.bin
参数 -i 1 表示这是序号为1的模拟器运行实例,因为不会只运行一个模拟器,会有多个同时运行 -i 值应该不同。
5 重复步骤4可以建立多个路由器。
比如建立第二个路由器R2
在dm目录下建立第一个路由器的工作目录 R2 ,
在dm目录下为R2 建立启动批处理命令R1.bat
title R2
@echo off
cd R2
D:\dm\dm.exe -P 3600 -t 3660 -r 128 -i 2 --idle-pc 0x60529644 -G c3660_ghost c3660nnn-ex.bin
6 现在在dm目录下,除了原先的三个文件,还有3660的一个ios解压缩bin文件,一个ghost虚拟启动文件,其他文件都是临时文件,
可以删除,以后用 bat启动每个路由实例都有各自的工作目录,不会再在dm下面形成临时文件。
对应的R1,R2,R3。。。。。目录下保存了每个路由器工作环境和配置保存。
四 dynamips-xp.exe 命令参数
通过步骤三,建立了工作环境。但还只是建立了各路由器的启动命令。对于不同的连接方式,需要用到 -p -s这两个重要参数。
-p :
用来指定模拟路由器的已经安装的模块,以上文的3660为例,可以有6个插槽位,从0开始计数分别为0,1,2,3,4,5。
3660模拟器缺省在slot0带两个快速以太网接口,f0/0 f0/1。
如果要在插槽1,就是第二个插槽位安装NM-4T模块:-p 1:NM-4T , 这样就有了4个串口,分别是s1/0 ,s1/1,s1/2,s1/3。
s 代表串口, 1为 插槽位,后面 0-3 为此模块上4个串口的标号。
在 readme-0.2.7.txt中有可选的模块列表。
-p 决定了单个路由器的物理组成。
-s 用来指定绑定路由器上的端口,-s 决定了路由器之间,路由-交换机,路由-pc之间的物理连接。
可以把路由器的端口绑定到pc机上真实的物理网卡上,这样pc机的网卡就和路由器的这一接口桥接起来。
使用gen_eth参数,-s 0:0:gen_eth:"\Device\NPF_{5FCDCEE4-1549-4F50-AFD1-467021AF1075}"
第一个0代表模块,第一个模块; 第二个0代表此模块上的端口号,第一个模块上的第一个端口。
后面:"\Device\NPF_{5FCDCEE4-1549-4F50-AFD1-467021AF1075}"这是通过dynamips-xp -e 命令得到的pc机的网卡名。
另外一个用处最广的是udp参数,实例:
-s 0:1:udp:11002:127.0.0.1:21115
第一个模块上的第二个端口,使用udp 11002端口,和远端udp21115端口联接。可以想象对端那个设备应该是有
-s ?:?:udp:21115:127.0.0.1:11002 ,?表示不能确定对端的模块和端口号。
多个设备连接的时候,制定规则就非常重要,不然udp端口就会很混乱。
我是这么制定规则的,以供参考
-s n:n:udp:abcde:127.0.0.1:abcde
a 代表被模拟对象的类别 --- 1 路由器 2 以太网交换机 3 模拟主机 4 帧中继 5 atm
b 表示设备序号,因为有多个同类型设备:路由器(交换机,模拟主机) --- 第几个 路由器(交换机,模拟主机)
c 代表模块号,
de 两位用来表示端口号,因为模块上的端口数目可能大于10
note: 使用不同的拓扑只要使用不同的批处理,
我的第一个第二个路由器的启动命令.
r1.bat:
title R1
@echo off
cd R1
D:\dynamips\dm\dm.exe -P 3600 -t 3660 -r 96 -i 1 -p 1:NM-4T -p 2:NM-4T -p 3:NM-4T -s 0:0:gen_eth:"\Device\NPF_{5FCDCEE4-1549-4F50-AFD1-467021AF1075}" -s 0:1:udp:11002:127.0.0.1:12002 --idle-pc 0x60529644 -G ..\ghost_3660 ..\c3660-jk9o3s-mz_123-22.bin
r2.bat:
title R2
@echo off
cd R2
D:\dynamips\dm\dm.exe -P 3600 -t 3660 -r 96 -i 2 -p 1:NM-4T -p 2:NM-4T -p 3:NM-4T -s 0:1:udp:12002:127.0.0.1:11002 --idle-pc 0x60529644 -G ..\ghost_3660 ..\c3660-jk9o3s-mz_123-22.bin
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/19694/showart_310127.html |
|