TOP
|
分布式 dynamips+dyangen (更新于07.3.30) |
[ 录入者:admin | 时间:2007-10-27 15:11:35
| 作者: | 来源:
| 浏览:711次 ] |
更新内容: 很多网友都反映用此文方法行不通,现象为:分布在各计算机上的路由器能起来,但互联的端口是Down的,以至于ping 不通。在此特别感谢 flyxj 网友QQ联系到我才引起我的高度注视使问题得到解决,不会再给读者误导(本人能力是很有限的)。 原因经分析找到了,NET文件中有[localhost]一句,localhost 会被本地的hosts文件解析成127.0.0.1,想毕各位已经明白了吧,分布在各计算机上的路由器之间的连接是通过UDP=后边指定的端口通信的,由于127 和192不在同一子网,所以端口自然UP不起来了。 注意:笔者用最新的dynamips 0.2.7RC1和dynagen 0.90 实验不成功,有错误提示,google 了一下说是两个版本不匹配(晕)。请更新后仍不成功的朋友换本文推荐的版本试一下
dynamips 固然是个好东西,但其对内存苛刻的要求又让人头痛,虽说现在的内存比较便宜了,可对于像我这样的学生一族,又岂能承受的了。笔者01年买的电脑,一直也在升级,到现在才用上了512的内存。 那些有钱人新买来的电脑多是1G内存双核CPU,居然用来玩卡丁车,内存占用没上过500,这自然勾起我节约能源的爱国之心,用他们的电脑分担几台路由器,来完一大网络的模拟。“要学会花别人的钱”,嘿嘿,“要学会用别人的电脑”更恰当!于是笔者尝试了一下dynamips的分布式功能。
我们舍宿四台电脑,通过四口的傻瓜路由相连。不详细说了,充份发挥一下拓朴的优势!
下面以 dynamips for 工大瑞普full version 为蓝本实现如下的拓朴(老版本可能会存在问题)
要再每台电脑上安装上winpcap,并按如下结构复制文件。 e:\ ┠─dynamips ┃ ┣ ios ━ unzip-c3620-i-mz.122-37.bin ┃ ┣ dynamips ━┳cygwin1.dll ┃ ┗dynamips-wxp.exe ┣ workingdir //空目录 ┗ 启动虚拟服务.cmd //内容为:cd dynamips dynamips-wxp.exe -H 7200
本次实验笔者是在PC1上作的,前端程序dynagen要放到PC1上,所以要加入如下目录和文件: e:\ ┠─dynamips ┃ ┣ dynagen ━┳configspec ┃ ┣dynagen.exe ┃ ┣dynagen.ini ┃ ┗library.zip ┣ labini ━━━ test.net //内容见下 ┗实验控制台.cmd //内容为:cd dynagen dynagen.exe ..\labini\test.net
test.net 文件内容:
autostart = false
[192.168.1.101] port = 7200 udp = 10000 workingdir = ..\workingdir\ [[router R1]] image = ..\ios\unzip-c3620-i-mz.122-37.bin model = 3620 console = 3001 ram = 32 confreg = 0x2142 exec_area = 64 mmap = false slot0 = NM-1FE-TX slot1 = NM-4T s1/1 = R2 s1/0 s1/2 = R4 s1/0
[192.168.1.102] port = 7200 udp = 10000 workingdir = ..\workingdir\
[[router R2]] image = ..\ios\unzip-c3620-i-mz.122-37.bin model = 3620 console = 3002 ram = 32 confreg = 0x2142 exec_area = 64 mmap = false slot0 = NM-1FE-TX slot1 = NM-4T s1/1 = R3 S1/0 s1/2 = R4 s1/1
[192.168.1.103] port = 7200 udp = 10000 workingdir = ..\workingdir\
[[router R3]] image = ..\ios\unzip-c3620-i-mz.122-37.bin model = 3620 console = 3003 ram = 32 confreg = 0x2142 exec_area = 64 mmap = false slot0 = NM-1FE-TX slot1 = NM-4T s1/2 = R4 s1/2
[192.168.1.104] port = 7200 udp = 10000 workingdir = ..\workingdir\
[[router R4]] image = ..\ios\unzip-c3620-i-mz.122-37.bin model = 3620 console = 3004 ram = 32 confreg = 0x2142 exec_area = 64 mmap = false slot0 = NM-1FE-TX slot1 = NM-4T
此时在PC1上运行 实验控制台.cmd 启动虚拟服务.cmd PC2 3 4 上分别运行 启动虚拟服务.cmd ,这样就可以实验了。
总结: 其实原理很简单,dynagen作为前端,所以只需要在操作此实验的pc上有就行了,net文件也应在此pc上。而路由器是运行在各个服务器端的,所以dynamips要在每个PC上都有,ios也要放在服务器端。dynagen会将NET文件中的信息发送给各各服务器端,并实现各路由器之间的连接,有了这个思想就可以用更多的pc搭建更大的拓朴了。
此文章是回忆实验写的,有出错或不明白的请留言(推荐),或至email到:admin@pppei.cn |
|
|
|