分类: 系统运维
2011-09-08 14:08:07
gns3下,跑30台c3640-ik9o3s-mz.124-10,cpu45-80%,稳定在65%,没优化的情况下就这样了。
iou(非iol),下跑20台,cpu35%左右,就是有蛋疼的几个bug不爽,,,再多没测试过。
网上有很多跑虚机里的vmdk,cdlinux,andlinux,简单的就没啥好说的了
要效率高些些的,建议还是linux下直接挂wrapper-linux跑。
==========================================================
一、简介
CiscoIOU 全称是Cisco IOS on Unix ,最早的版本是运行于Solaris ,后来出现了iMAC 和UNIX 版本。
IOU 包含以下:
i86bi_linux-adventerprisek9-ms // 带有IOS 高级特性的IOU
i86bi_linux-ipbase-ms // 带有基本IP 路由功能的IOU
i86bi_linux-tpgen+ipbase-ms.PAGENT.4.7.0 // 带有基本IP 路由功能和流量生成工具的IOU
iourc // 就目前来说功能就是lisence
NETMAP // 类似GNS3 中NET 文件,用于构成网络TOP
wrapper-linux //IOU 的管理控制器
crack.py //破解文件
i86bi_linuxl2-upk9-ms.M //L2IOU的ios
然后自己再写个start脚本。。。。。
关于那些getkey,host,iou2net,show,changeL2.py等脚本有能力的可以改改,也不是很难。 都是现成的东东,蛮好玩的。
二、使用方法
安装相应的包:
For Debian/Ubuntu 32bit
apt-get -y install libgcrypt11 libgcrypt11-dev
For Debian/Ubuntu 64bit
apt-get -y install libgcrypt11 libgcrypt11-dev ia32-libs
For CentOS/Redhat 32bit
yum -y install openssl-devel
For Centos/Redhat 64bit
yum -y install openssl-devel glibc
安装完相应的包后执行 :
ln -s /usr/lib32/libcrypto.so.0.9.8 /usr/lib32/libcrypto.so.4 // 不执行会提示动态库找不到
我的ubuntu路径为ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.4
三、 IOU 用法
对于以 i86bi 开头的文件,以下参数是通用的
Usage:
Options:
-e
-s
-n
-b
-c
-d Generate debug information
-t Netio message trace
-q Suppress informational messages
-h Display this help
-C Turn off use of host clock
-m
-L Disable local console, use remote console 关闭本地CONSOLE ,使用远程Console
-u
-R Ignore options from the IOURC file 忽略IOURC 文件
-U Disable unix: file system location
-W Disable watchdog timer
-N Ignore the NETMAP file 忽略NETMAP 文件
举例:启动一个路由器,并且Ethnetnet 模块数为4 ,Serial 模块为4, 默认内存为128M ,路由器的进程名为1
./i86bi_linux-adventerprisek9-ms -e 4 -s 4 2
-e 4 //4 个ethernet 模块,每个模块4 个,从0-3
-s 4 //4 个Serial 模块,每个模块4 个接口,接口从0-3
2 // 路由器的进程名
在此例中
Ethernet 的接口16 个,从Ethernet0/0----Ethernet3/3
Serial 的接口16 个,从Serial4/0----Serial7/3
接口的规律大家仔细看看就知道了
这样启动一个路由器默认是用本地CONSOLE 控制的,终止该路由器可以使用Ctrl+C 。
四、使用NETMAP 建立网络TOP ,并用wrapper-linux 管理器启动一个或多个路由器实例
使用i86bi 开头的IOU 来启动路由器实例是很不方便的事,所以可以使用wrapper-linux 与NETMAP 结合的方式启动多个路由器实例并组建更复杂的TOP
wrapper-linux 用法:
./wrapper-linux [-v] -m
where
all options after the '--' are passed to iou
[-v] Display version
-m :指定iou image
-p :指定用于telnet 的端口,端口范围是1024-65550
-- :用于传递iou 参数
举例:
./wrapper-linux -m ./i86bi_linux-adventerprisek9-ms -p 2000 -- -e 4 -s 4 1
iou image 为 i86bi_linux-adventerprisek9-ms
telnet 端口为2000
指定该路由器实例有4 个Ethernet 模块和4 个Serial 模块
1 代表此路由器实例的名字
NETMAP 文件的书写格式:
路由器实例名: 插槽号: 该插槽上的接口号
1:0/0 2:0/0
1:3/0 2:3/0
第一行意思路由器实例1 的e0/0 连接路由器实例2 的e0/0
第二行意思路由器实例1 的s3/0 连接路由器实例2 的s3/0
如果ethernet 模块数为n ,则serial 的起始插槽号为(n+1 )
IOU 启动的时候不加-e -s 参数的话默认都是2 ,所以Serial 接口的起始插槽号是2+1,s3/0 代表该Serial 接口位于第三插槽的第一个接口
NETMAP 文件中的路由器实例名要与IOU 启动参数中的路由器实例名要一致!!!
PS: 思科设备的接口表示方法:接口类型 插槽号/ 该插槽上的接口号
根据TOP 书写NETMAP 文件
NETMAP 文件内容:
1:0/0 2:0/0
1:0/1 3:0/0
2:3/0 3:3/0
start文件脚本:
启动三个路由器
./wrapper-linux -m ./i86bi_linux-adventerprisek9-ms -p 2000 -- -e 4 -s 4 1 &
./wrapper-linux -m ./i86bi_linux-adventerprisek9-ms -p 2001 -- -e 4 -s 4 2 &
./wrapper-linux -m ./i86bi_linux-adventerprisek9-ms -p 2002 -- -e 4 -s 4 3 &
每条命令后都有& ,这个代表后台运行此程序