在 Linux Ubuntu 下安装 Cisco 7200 dynamips 模拟器

0

1.在Ubuntu平台安装libpcap(前3个编译器已经在前面安装完了,所以可以不用安装)

安装gcc编译器
sudo apt-get install gcc

安装flex编译器
sudo apt-get install flex

安装bison编译器
sudo apt-get install bison

解压数据包“libpcap-0.9.8.tar.gz”
tar -zxvf libpcap-0.9.8.tar.gz

另外Ubuntu不支持rpm安装文件,rpm是Red Hat操作系统的标准安装文件格式,可以采用alien将rpm包转换为deb包。
安装alien:sudo apt-get install alien
alien使用:alien XXX.rpm  这样就生成Ubuntu支持的XXX.deb
安装deb文件包:sudo dpkg -i XXX.deb  或双击安装

编译
./configure
make
make install

移动文件夹:mv
删除文件夹:rm -rf XXX

2.下载dynamips源代码“dynamips-0.2.8-RC2-amd64.bin”
http://www.ipflow.utc.fr/blog/

3.下载dynagen源代码“dynagen-0.11.0.tar.gz”

http://dynagen.org/

4.拷贝“dynamips-0.2.8-RC2-amd64.bin”到opt下
cp dynamips-0.2.8-RC2-amd64.bin /opt/dynamips
ln -s /opt/dynamips/dynamips-0.2.8-RC2-amd64.bin dynamips
这条命令是建立一个快捷键dynamips,快捷键指向“dynamips-0.2.8-RC2-amd64.bin”,此时程序的路径需要是绝对路径。

5.解压复制dynagen
tar -zxvf dynagen-0.11.0.tar.gz
mv dynagen-0.11.0 /opt
ln -s /opt/dynagen-0.11.0/dynagen dynagen

6.把ios和.net文件
把他们放入自定意的文件夹中,ios的位置无所谓,可以在.net中用绝对路径指定
“image = /opt/ios/c7200-js-mz.123-8.T11.extracted.bin”

7.启动dynampis
网上都用“nice dynampis -H 7200”来启动, 其中这个7200是端口,但我测试是不行:
frank@frank-laptop:/opt# nice dynamips -H 7200
nice: dynamips: 没有该文件或目录

权限都已经更改过了,最后没有什么办法,索性不用nice了,直接执行:
frank@frank-laptop:/opt/dynampis$ sudo ./dynamips -H 7200
Cisco Router Simulation Platform (version 0.2.8-RC2-amd64)
Copyright (c) 2005-2007 Christophe Fillot.
Build date: Oct 14 2007 10:46:52

ILT: loaded table “mips64j” from cache.
ILT: loaded table “mips64e” from cache.
ILT: loaded table “ppc32j” from cache.
ILT: loaded table “ppc32e” from cache.
Hypervisor TCP control server started (port 7200).

这时再开启一个终端并启动dynagen
frank@frank-laptop:/opt/dynampis$ sudo ./dynagen self-Mpls.net
[sudo] password for frank:
Dynagen management console for Dynamips and Pemuwrapper 0.11.0
Copyright (c) 2005-2007 Greg Anuzelli, contributions Pavel Skovajsa

=> ?

Documented commands (type help <topic>):
========================================
capture  confreg  cpuinfo  export  hist    list  py      save   show   suspend
clear    console  end      filter  idlepc  no    reload  send   start  telnet
conf     copy     exit     help    import  push  resume  shell  stop   ver

剩下的事就跟windowns一样了:)

在64bit的ubuntu环境运行dynamips(注意要设置Idlepc值)效果比Windows强很多,6台7200,12.3的,在没有配置的情况下只占用cpu 18% ~ 28%(windows下最少也要70%左右),此处Linux的优点就体现出来了。

11月14日更新:在linux下直接用脚本文件(sh)运行dynampis
由于需要跑大环境,所以需要更节约资源,所以寻求不用dynagen,直接用dynamips的方法。但研究了2天后发现,这种方法没有提升什么效果,网上这方面的内容写的很模糊,所以写出来供大家参考:

1. 安装libpcap,此处不用多讲。

2. 下载dynamips-0.2.8-RC2-amd64.bin

3. 写脚本,帖出一个经过测试的、完成的脚本供大家参考,在linux中sh脚本需要注意文件的路径:

#!/bin/sh   —>>>必须写
mkdir Router1
cd Router1
../dynamips-0.2.8-RC2-amd64.bin -T 3001 -f ../FRSWITCH -P 3600 -r 96 -t 3640 -c 0x2102 -p 0:NM-1E -p 1:NM-1E -p 2:NM-4T -s 0:0:udp:11100:127.0.0.1:21001 -s 1:0:udp:11110:127.0.0.1:22001 -s 2:0:udp:11120:127.0.0.1:61101 ../c3640-jsx-mz.123-8.T11.bin –idle-pc=0x6055d42c

4. 更改脚本权限,使其成为可执行文件,执行
frank@frank-laptop:/opt/dynampis-sh$ sudo chmod 777 router1.sh
frank@frank-laptop:/opt/dynampis-sh$ sudo ./router1.sh
Cisco Router Simulation Platform (version 0.2.8-RC2-amd64)
Copyright (c) 2005-2007 Christophe Fillot.
Build date: Oct 14 2007 10:46:52

Virtual RAM size set to 96 MB.
Config. Register set to 0x2102.
Idle PC set to 0x6055d42c.
IOS image file: ../c3640-jsx-mz.123-8.T11.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   : 96 Mb
NVRAM size : 128 Kb
Chassis    : 3640
IOS image  : ../c3640-jsx-mz.123-8.T11.bin

Loading ELF file ‘../c3640-jsx-mz.123-8.T11.bin’…
ELF entry point: 0x80008000

C3600 ‘default’: starting simulation (CPU0 PC=0xffffffffbfc00000), JIT enabled.

5. OK了^_^

2009-7-25更新:关于在linux设置环回口并绑定dynamips的内容,请参考《Linux Ubuntu dynamips bundle Loopback Port

本文出自 Frank's Blog

版权声明:


本文链接:在 Linux Ubuntu 下安装 Cisco 7200 dynamips 模拟器
版权声明:本文为原创文章,仅代表个人观点,版权归 Frank Zhao 所有,转载时请注明本文出处及文章链接
你可以留言,或者trackback 从你的网站

留言哦

blonde teen swallows load.xxx videos