linux服务器运行dyna,dynamips分布式实现详解
实现原理:
1>测试实验端(本本)用dynagen实现各PC上的dynamips服务的分配调用。
2>各PC设备运行dynamips服务。
3>dynagen运行后将调用命令分配给运行相应的dynamips的服务PC,使其启动并配置相应的ios。
4>测试实验端shell将命令传递给dynamips服务PC。
5>dynamips服务端PC将运行结果返回给测试实验端的shell显示。
以下引用两篇文章做解释,完整的实验过程以后发布。
文章一:
[ 转载于:[url]http://www.pppei.cn/blog/read.php?34[/url] ]
我们舍宿四台电脑,通过四口的傻瓜路由相连。不详细说了,充份发挥一下拓朴的优势!
下面以 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
===========================================================================
文章二:
[ 转载于:[url]http://www.eguodu.com/bbs/viewthread.php?tid=5107&[/url]
highlight=%E5%88%86%E5%B8%83%E5%BC%8F%2B%E7%BD%91%E7%BB%9C%E5%88%80%E5%AE%A2 ]
在一台PC上运行dynamips的路由器个数是很有限的,如果你有很多PC,那么你就可以做一个
分布式的网络,每个PC上都运行几个路由器,这样一来就可以做一个很大的网络拓扑了。呵呵。 今天测试了linux做服务器的情况,share出来,大家一同分享。 服务器: linux fc5, ip=192.168.0.1 运行dynamips: /usr/dynamip 需要ios: /usr/dynamips/ios.bin 客户端:winXP 运行dynagen。 在服务器上必须得有dynamips.bin这个没什么好说的,如果用linux系统的话,大家可以到网上去下载。如果服务器是winxp的话,用论坛里面提供的dynamips就可以了。 当然服务器上必须得有ios,否则无法运行。呵呵。两个条件缺一不可。 /usr/dynamips: dynamips -H 7200 客户机: dynagen s1.net 关于s1.net的写法如下,不过idlepc的值需要自己根据情况来调整: autostart = false [192.168.0.1] port = 7200 workingdir = /usr/dynamips [[7200]] image = /usr/dynamips/ios.bin npe = npe-400 exec_area = 128 idlepc = 0x613096c0 [[ROUTER R1]] exec_area = 128 idlepc = 0x613096c0 s1/0 = R2 s1/0 f0/0 = H1 f0/0 [[router R2]] exec_area = 128 idlepc = 0x613096c0 f0/0 = H2 f0/0 [[ROUTER H1]] exec_area = 128 idlepc = 0x613096c0 [[ROUTER H2]] exec_area = 128 idlepc = 0x613096c0
linux服务器运行dyna,dynamips分布式实现详解相关推荐
- Linux服务器,服务管理--systemctl命令详解,设置开机自启动
Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了. 摘要: syst ...
- Linux 服务器集群系统实现方案详解
一.集群的基本概念 有一种常见的方法可以大幅提高服务器的安全性,这就是集群. Cluster集群技术可如下定义:一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理.此单一系统为客 ...
- linux如何挂载硬盘linux服务器上挂载磁盘(图文详解)
博主最近在研究服务器运维,由于Linux服务器相对比较困难,所以博主对她情有独钟.而window服务器几乎跟我们平常使用的电脑一样,相对简单感觉索然无味.下面正式进入主题教大家linux如何挂载硬盘. ...
- Linux后台运行Java项目世上最详解
目录 生成jar包并导入Linux中 前台启动 后台启动 jobs命令和 fg /bg命令: 查看进程 前台进程的终止 后台进程的终止 生成jar包并导入Linux中 进入D:\Java\Dubbo\ ...
- linux服务器网卡重启后会还原,详解CentOS重启后resolv.conf被重置的解决方案
近期在修改一台CentOS服务器的dns时发现只要重启服务器DNS就会被强制还原,解决方案如下: 1.首先在网卡设置中修改NM_CONTROLLED的值: 修改文件/etc/sysconfig/net ...
- 小程序 测试环境 linux,Linux服务器环境 微信小程序 配置详解
http://www.wxapp-union.com/forum.php?mod=viewthread&tid=394&highlight=tomcat http://www.jb51 ...
- linux getenv函数 get,linux之getenv putenv setenv和unsetenv详解
1.getenv函数 头文件:#include 函数原型: char * getenv(const char* name); 函数说明:getenv()用来取得参数name环境变量的内容. 函数参数: ...
- linux服务器运行matlab文件报错
linux服务器运行matlab文件报错 在linux服务器上安装matlab之后,如果想要运行matlab程序,通常的做法是先cd到matlab文件所在的文件夹,然后输入指令 % 假定matlab文 ...
- dns日志级别 linux,linux下DNS服务器视图view及日志系统详解
linux下DNS服务器视图view及日志系统详解DNS服务器ACL:在named.conf文件中定义ACL功能如同bash当中定义变量,便于后续引用 ACL格式: acl ACL名称 { IP地址1 ...
- 在Linux服务器运行jar包并一直处于后台执行
在Linux服务器运行jar包并一直处于后台执行: 一.一般情况 jar包在linux的目录为 /jarmanager/xxx.jar 使用在/jarmanager目录下使用 java -jar xx ...
最新文章
- JGG:遗传发育所白洋组和曹晓风组-水稻组蛋白甲基化调控根系核心菌群
- mysql登录不了_登录不了MySQL的解决方法
- 【线段树】Frog Traveler(CF751D)
- 最大和 -- 最大子矩阵
- OpenStack推出最新版本Newton,显著提升单一云平台 对虚拟化、裸机和容器的管理...
- 自动秒收录导航php源码
- MySQL之Index(索引)
- iOS - 正则表达式判断邮箱、身份证..是否正确
- memcached SASL验证状态安全绕过漏洞
- Delphi 法简介
- c++14:std::quoted
- 搭建dubbo监控中心
- 阿里云Quick BI学习之报表制作
- 啥都不说了,今天就是要送书!
- MyEclipse6.5下载地址(含注册码)
- Dotaer vs Loler
- 【Unity】Avatar与AvatarMask系统介绍(TPS.番外篇)
- Nelder-Mead(simplex,“单纯形”)算法
- ICO和IPO的区别
- 提示The import XXX cannot be resolved
热门文章
- perl语言linux培训,一文了解Perl语言
- Java基础教程汇总
- windows 验证tftp服务器,细说Windows tftp服务器配置
- hasLayout与Block Formatting Context(块格式化上下文)
- php 生成xls解决乱码,怎么解决php导出excel文件乱码问题
- linux操作系统关闭防火墙,linux操作系统关闭防火墙的方法
- Android 科大讯飞离线语音识别
- 【转】java对音频文件的频谱分析
- 2019传智+黑马程序员web前端开发+项目开发等视频教程
- 廖雪峰python3复习总结——day12-1