加入收藏 设为首页 联系站长
首页 | 虚拟动态 | Cisco模拟 | Juniper仿真 | 虚拟机 | 网络仿真 | 软件路由 | 技术专题 | 相关软件 | 交流论坛
>首页 -> Cisco模拟 -> Dynamips

TOP

Ubuntu(Debian)平台 Dynamips + Dynagen的安装使用
[ 录入者:admin | 时间:2007-10-27 15:00:48 | 作者: | 来源: | 浏览:517次 ]
1. dynamips是个什么东西?干嘛用的?
当然是路由模拟器拉,512m内存大约能模拟出三台(CPU1 G以上),稳定后CPU的使用率非常低 ,而且dynamips模拟出来的router可以和真实机器相连。这意味着什么?你可以搭一个庞大的IE级别的拓朴,你可以用sniffer抓包来分析,这一切都可以靠你一个人去完成 ,不用拿了一根console线这儿插那儿插,你需要的只是一台内存足够大的PC。

2. 为什么我要在Linux 平台安装Dynamips 而不是Windows?
当我在windows下用记事本打开readme看到格式很乱,可是当我在linux中用gedit或者leafpad打开是我立刻意识到作者的工作环境是linux,只有在盗版大行起道的中国人们才会习惯于在不用钱的Win下使用不用钱的Office来编辑文档 。如果你平时用得一直是Windows,你应该没有必要看这篇文章,这里讲得不是Win下的安装使用。、 Window平台是一个非常易用的平台,他的简单带给了它的辉煌,但也带来很多的不足。电脑病毒,磁盘碎片,耗费空间......诸如此类,这让我想到TCP/IP协议栈 我希望我在不玩游戏的时候可以安安心心听歌 看文档 逛论坛,所以我选择了Linux,现在我用的是Ubuntu Edgy,它是基于Bebian的。当我在Ubuntu上start /all 开启 12 台Cisco 7200 Router 的时候 那是非常振奋的。 Whatever, If U use Linux,keep it!


3.我需要多大的硬盘空间?
实话告诉你 你需要的安装空间是很小的, 5M is enough 但是至于IOS 多大 运行时会释放多少空间 那才是你应该关心的

4.安装Dynamips 和 Dynagen我需要准备些什么?

我推荐大家安装的是两者的Debian包,所以有些东西是安装Debian包所需要的, 如果你是Fedora Core 或是 Suse之类 那么还是用Yum的RPM包或者是作者官方出的包安装 你可以在 http://www.ipflow.utc.fr/ http://sourceforge.net/project得到帮助 我在debian论坛上也看到有人发了他的ftp做源 有兴趣的可以试试看有没有问题 英文不算差的话也可以进去逛逛 sudo vi /etc/apt/sources.list 加入 deb http://packages.netcorex.org/feisty/ ./ 同时导入相应的Key: wget http://packages.netcorex.org/sergio_rubio.asc -O - sudo apt-key add -
我们开始吧


5. 我需要准备什么么?
是的,你需要装好依赖包。我把我在Debian.org上面以及sourceforge.net 上面找到的相关文字说明放在pdf 文档里面想了解的可以看看( http://www.ipflow.utc.fr/ 里面的bin文件我下了直接可以用的,没有什么依赖环境) 把所有的依赖包放在一起python, python-support (>= 0.2), python-configobj (>= 4.3.2) libc6 (>= 2.5-0ubuntu1), libelf1, libpcap0.8 (>= 0.9.3-1) cdbs (>= 0.4.25-1), dpatch (>= 2.0.20), debhelper (>= 5.0), libpcap0.8-dev (>= 0.9.0), libelf-dev 不要被吓到事实上这些包很多默认都已经在你的系统里面了 你需要安装的很少 一个最新的Python环境+libpcap应该就好了 libpcap 是对应 win下 winpap的 别忘了装 有需要什么包的你可以在debian网站上下载到 我把我认为有用的几个包传到了 ftp://ciscobbs.njut.edu.cn/中 有需要的可以去下载 安装不用说了吧 到目录下 sudo dpkg -i 包名 或者直接双击安装 一切都是那么简单 装完之后你发现你可以直接"叫男人" man dynamips man dynagen


6. 然后呢,这样就可以了么 ?再做什么?

下载相应的IOS版本 解压缩相应的IOS ftp://ciscobbs.njut.edu.cn/ 上面有unzip后的包 这个你也可以把window下的直接cp过来


7. 可是ios放在哪里呢?
这是我的ios目录 /opt/dynamips下 workingdir topo sample ios /opt在linux中定义是用户自己想安装的比较大的程序的 我认为ios已经足够称的上大了

8 如何让模拟器跑起来?

终端中首先sudo -i root 权限登录(我用sudo加命令的时候 不能正常执行 ) nice dynamips -H 7200 & (这个是官方文档上面写的 实际应用中可以任意别的参数 我没有加什么别的参数开启服务就可以) 剩下的就是dynagen来启动一个网络环境 载入相应的.net文件 例如我的 dynagen /opt/dynamips/sample/sample1.net

9 我用了dynagen载入之后出错,怎么办?

首先确认你有没有那个拓朴文件 路径错了没有 文件确实存在的话就是需要修改拓扑文件了

10 我可以把window下的拓朴文件直接放在linux下面用么?
可以,但是需要做一些修改 下面是关于window平台.net文件移接到linux平台的几个注意点1 路径问题 2 网卡参数问题 3 斜杠问题 可以看下面


11 我应该如何修改拓朴(.net)文件?
讲到这个首先要讲到 工大瑞普的改进版http://ciscobbs.njut.edu.cn/bbs/index.php 这个版本的好处是为你搭好的拓朴 至于那些bat文件其实都是一些方便初学者的东西 无味的广告 简单的脚本 没有什么意义 譬如那个 ccnp_mini 其实就是 分配给每台router的ram改小而已,所以我的Window下的Dynamips用的工大包的拓朴和ios 然后 下了新的Dynamips 把不需要的IOS 删掉 不要的bat 删掉 去除广告条目 就剩下对我有用的而已 ~~~
好,我们打开一个.net文件sudo gedit sample.net 我们可以看到
autostart = false(不自动读取模拟路由器)
[localhost]
[[7200]]image = /opt/dynamips/ios/c7200-jk9o3s-mz.124-7a.image (这是完全路径,可以用相对路径,虽然作者文档中推荐绝对路径,但是我还是用的相对路径)
npe = npe-400 (这个可以看作者文档 npe类型 但是不要尝试NPE-G1 因为它的硬件环境不是一般PC可以模你拟的 )
ram = 160 (这个是根据IOS版本来设置的)
[[ROUTER R1]]( 我一直不明白这里的双括号是什么意义 看了作者的说明后知道其实就是个嵌套关系而已说明他是在[localhost]下的)
F1/0 = S1 1 (定义F1/0和交换机S1的port 1相连)
[[router R2]]
F1/0 = S1 2 (定义F1/0和交换机S1的port 2相连)
[[router R3]]
F1/0 = S1 3 (定义F1/0和交换机S1的trunk port 3相连)
[[S1]]
1 = access 1 (port 1是一个 access port属于Vlan 1)
2 = access 20 (port 2是一个 access port属于Vlan 20)
3 = dot1q 1 (Port 3 是一个 trunk port)
4 = dot1q 1 NIO_linux_eth:eth0加入 NIO_linux_eth:eth0 是为了和真实环境通信


12 我开启了一台router 提示没有idlepc。什么是idlepc?

原文:The “idle PC” feature allows you to run a router instance without having a 100% CPU load. This implies that you can run a larger number of instances per real machine.翻译:idle pc功能允充许你运行一个路由器实例,不会出现100%的CPU占用率,意味着每个真实的机器可以运行大量的路由器实例

13 我应该如何来获取idlepc值?


原文:To determine the “idle PC”, start normally the emulator with your Cisco IOS image, and a totally IOS empty configuration (although not mandatory, this will give better results). When the image is fully booted, wait for the prompt to be ready, do a “write memory” and then press “Ctrl-] + i” sequence key after some seconds. Some statistics will be gathered during 10 seconds. At the end, the emulator will display a list of possible values to pass to the “–idle-pc” option. You may have to try some values before finding the good one. To check if the idle PC value is good, just boot the Cisco IOS image, and check your CPU load when the console prompt is available. If it is low, you have found a good value, keep it preciously.
翻译:要确定"idle pc",手动开始模拟器和一个完全空的IOS配置(尽管不是强制的,这样做可以获得最好的结果)。在image完全启动后,等到prompt出现,进入 router#模式,执行“write memory”,几秒钟后按下"Ctrl+]+i"。10秒内一些统计资料将被收集。最终,模拟器会显示出可能的数值列表。为了找出一个好的值可能要尝试一些数值(列表里面的),要检查idle pc值是不是好的,可用的,起动Cisco IOS镜像,当console prompt可见以后,看看你的CPU占用率,如果是低的,就说明值是正确的,把这个值保留好,以备以后实验使用。note:每个IOS镜像的idle pc值都是不一样的。下面有些值是从国外的论坛里面收集到的。
IOS version idle pc value
c7200-ik9o3s-mz.123-17a.bin 0×60729c0c
c7200-ik9o3s-mz.124-3.bin 0×60940e94
c7200-p-mz.121-27b.bin 0×60541950
c7200-is-mz.123-10d.bin 0×607f145c
c7200-is-mz.121-27b.bin 0×605787d8
c7200-is-mz.123-16.bin 0×60809504
c7200-jk9o3s-mz.123-15.bin 0×60663630
c7200-jk9o3s-mz.124-1a.bin 0×60835cc4
c7200-jk9o3s-mz.124-3.bin 0×6084142c
c7200-jk9s-mz.122-15.T17.bin 0×607080c0
c7200-js-mz.122-11.T.bin 0×60598ff8
c7200-js-mz.124-3.bin 0×60830f2c
c7200-js-mz.124-7.bin 0c60708f5c
c7200-adventerprisek9-mz.124-2.T5.bin 0×60255bac


当然这个是老的方法 新的Dynagen 中你可以开启一台路由 然后idlepc get Rx 然后选择带有星号的指 然后 idlepc save Rx db 你也可以为不同的路由保存不同的idlepc 具体可以在Dyangen中 --help


OK! 讲到这里差不多了 实验环境可以正常使用了 Dynagui我没有怎么用 我更乐于直接修改topo文件 ghost 特性这个版本不知道有没有支持 我再琢磨琢磨 有新的信息我会发在我的blog上 alphajay.blogspot.com 我的QQ是38398141 有问题的可以和我联系 Peace & Love !


Ubuntu(Debian)平台 Dynamips + Dynagen
http://pickup.mofile.com/4914906121311241

dynamips + Dynagen tutorial.pdf
http://pickup.mofile.com/5435424275810873



http://www.netemu.cn/bbs/thread-42-1-2.html
[上一篇]dynamips 0.2.8 支持的模块 [下一篇]不用dynagen也可以在linux下使用d..
※相关文章
 

评论

称  呼:
内  容:

相关栏目

最新文章

热门文章

推荐文章

赞助商链接