博客统计信息

用户名:wesleyou
文章数:4
评论数:13
访问量:4542
无忧币:22
博客积分:44
博客等级:1
注册日期:2011-06-07

我的技术圈(0)

更多>>
cisco IOU 迁移
2011-06-20 09:44:36
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://wesleyou.blog.51cto.com/3189109/591931

 

Cisco IOU迁移至RHEL 6.1

 

一、     IOU简介

Cisco IOU Cisco IOS On UnixIOU基于unix/linux环境,比之GNS3、小凡都要节省不少系统资源。

IOU包括以下文件:

i86bi_linux-adventerprisek9-ms                  // 带有IOS高级特性的IOU

i86bi_linux-ipbase-ms                          // 带有基本的IP路由功能的IOU

i86bi_linux-tpgen+ipbase-ms.PAGENT.4.7.0         // 带有基本的IP路由功能和流量生成工具的IOU

i86bi_linuxl2-upk9-ms.M                       // layer 2功能的IOU

iourc                                       // license文件

NETMAP                                     // topology文件

wrapper-linux                                // IOU的管理控制器

 

二、     IOU的使用方法

1.   wrapper-linux的使用:

./wrapper-linux [-v] –m<image name> -p<port number> -- <iou options> <router id>

where <port number> is in the range <1024-65550>

all options after the ‘--’ are passed to iou

[-v] : display version;

-m:指定IOU镜像

-p:指定用于telnet的端口,范围是1024-65550

--:用于传递iou的参数。

 

2.    IOU用法:

i86bi开头的文件都能使用一下参数

Usage:<image> [options] <application> id

<image>: unix-js-m | unix-is-m | unix-i-m | …

 <application id>: instance identifier (0 < id <= 1024)

 Options:

  -e <n>     number of Ethernet interface (default 2)  // 指定etherne的模块数量

  -s <n>     number of Serial interface (default 2)    // 指定serial的模块数量

  -n <n>     Size of nvram in kb (default 16kb)    // 指定nvram的大小,默认16kb

  -b <string>  IOS debug string

  -c <name>  Configureation file name

  -d          Generate debug information

  -t          Netio message trace

  -q          Supperss informational messages

  -h          Display this help

  -C         Turn off use of the host clock

  -m <n>     Megabytes of router memory (default 128MB)  // 指定路由器的内存,默认128M

  -L         Disable local console,use remote console  // 关闭本地console,开启远程console

  -u<n>      UDP port base for distributed networks   // 基于分布式网络的UDP端口。

  -R         Ignore options from the IOURC file     // 忽略IOURC文件

  -U         Disable unix: file system location

  -W         Dsiable watchdog timer

  -N         Ingnore the NETMAP file             // 忽略NETMAP文件

 

IOU举例:

./ i86bi_linux-adventerprisek9-ms  -p 2000 --  -e 4 –s 4 1

-e 4  // 配置4Ethernet接口模块,每个模块4个接口,0-3

-s 4  // 配置4serial 接口模块,每个模块4个接口,0-3

1  // 路由器的进程名

SerialEthernet+1

在此列中:

 Ethernet 16个,e0/0 ---- e3/3

 Serial 16个, s4/0 ---- s7/3

 

wrapper-linux使用举例:

./wrapper-linux –m  ./ i86bi_linux-adventerprisek9-ms  -p 2000  --  -e 4 –s 4 1  &

 

三、     NETMAP建立网络拓扑

NETMAP文件的书写格式:

   路由器实例名:插槽号/该插槽上的接口号

 分布式书写格式:

   路由器实例名:插槽号/该插槽上的接口号@IP_Add | Hostname

 

NETMAP实例:

 1:0/0  2:0/0

 1:0/1  3:0/0

 1:0/2  4:0/0

 1:4/0@192.168.1.1 2:4/0@192.168.1.2

 1:4/1@wesley.org  3:4/1@linux.com

 

解析:1:0/0表示第一台路由器ethernet接口,第一个模块的第一个接口,即 e0/0

      1:4/0 表示第一台路由器serial接口,第一个模块的第一个接口,即s4/0

 

四、     迁移&互通

网上很多IOU基本都是使用cdlinux或者andlinux作为载体的,不是很方便更改top,局限性比较大,况且自己动手丰衣足食嘛。  

   系统环境:VMware WorkStation 7.14

Red Hat Enterprise Linux 6.1

*Python-2.6

Openssl-0.9.8

IOU文件:L3&L2 IOU

NETMAPiourc i86bi_linux-adventerprisek9-msi86bi_linuxl2-upk9-ms.M wrapper-linuxcrack.py(破解L2IOU<达人作品,不知何人!>))

 

  1、迁移

   >>>RHEL 6.1root下创建目录:

    [root@wesleyou ~]#mkdir cisco_iou

  >>>copy IOU文件至cisoc_iou目录:

   [root@wesleyou cisco_iou]#cp i86b*  wrap-linux NETMAP iourc cisco_iou

  *>>>编译安装python-2.6

   [root@wesleyou python2.6]#./configure  

[root@wesleyou python2.6]#make & make install  

[root@wesleyou python2.6]#make clean

*>>>添加PATH

 [root@wesleyou python2.6]#export PATH=/usr/local/bin/python2.6:$PATH

注:带*的是指如果服务器python低于2.6的情况下,当然除此之外还有yumrpm等方法。

>>>安装openssl

[root@wesleyou python2.6]# cd ~                             

[root@wesleyou ~]# rpm –ivh openssl-0.9.8-*.rpm

     >>>连接lib

[root@wesleyou ~]# ln –s /usr/lib/libcrypto.so.0.9.8e libcrypto.so.4

注:./wrapper-linux 会调用这个库文件,如果没有就会报错。在这很感谢撒加大神提供的解决思路和方法。

   

     >>>设置IOU运行级别

       [root@wesleyou cisco_iou]# chmod 777 *       // 偷懒的做法

     >>>破解license

 [root@wesleyou cisco_iou]# python ./crack.py

注:此处很重要,该程序是为了获取licenseL3&L2 IOU都能使用。此程序为互联网上流出,何人所写,不清楚,感谢作者的无私奉献。

     >>>修改iourc

 [root@wesleyou cisco_iou]# vi iourc

 

  License格式:

   hostname  = license_number;

准备工作基本上都做完了,至此可以测试一下L3&L2 IOU。测试命令参见上文。

 

  2、搭建拓扑

   

说明:路由器使用L3IOU来模拟,而交换机则都通过L2IOU来模拟,至于PC可以使用L3IOU或者L2IOU皆可。

 

    >>>创建一个放置拓扑文件和启动脚本的目录:

[root@wesley cisco_ou]# mkdir lab01

[root@wesley cisco_ou]# mv NETMAP lab01

[root@wesley cisco_ou]# cd lab01

 

    >>>创建拓扑文件

[root@wesley lab01]# vi NETMAP

  # ! /bin/bash

  # written by wesley

  # date:2011/6/17

 1:0/0  2:0/0

 1:0/1  3:0/0

2:0/1  4:0/0

3:0/1  4:0/1

3:0/2  4:0/2

3:0/3  5:0/0

4:03  6:0/0

 

    >>>创建启动脚本:

 [root@wesley lab01]# vi start

 

  # !/bin/bash

  # written by Wesley 

# and thanks for 撒加、flyxj、残泪、棕鹰、骁鹰...

# anyone who is help me to improve !!!

 

export  NETMAP=../lab01/NETMAP           // 设置NEMAP的变量,将其添加至环境中

port=2000                                 // 设置端口变量

for ((i=1;i<7;i++));do

dport=expr $port + $i

 ../wrapper-linux –m ./ i86bi_linux-adventerprisek9-ms –p $dport -- -e 2 –s 2 –R –U $i &

  if (($i>2));then

  ../wrapper-linux –m ./ i86bi_linuxl2-upk9-ms.M –p $dport -- -e 4 –R –U $i  &

  fi

sleep 2

done

unset NETMAP                       // NETMAP从环境变量中取消

 

     >>>创建关闭IOUstop

[root@wesleyou cisco_iou]# vi stop

 

 # /bin/bash

 # written by Wesley

# and thanks for 撒加、flyxj、残泪、棕鹰、骁鹰...

# anyone who is help me to improve !!!

 

kill –HUP ` ps –a | grep wrapper-linux | awk ‘{print $1}’`    // 退出IOU

 

注:很多朋友都用的killall,但是我发现使用killall后并不能得到完全释放,当想再次试验的时候会提示地址已被使用。

 

最后再次感谢撒加大神、flyxj,残泪、骁鹰、棕鹰等网友的帮助,还要感谢我的领导spylinux方面对我的指导。

另:恭喜flyxj一次pass IE

 

                                                                             Wesley 于 建外soho

                                               wesleyou@live.cn

 

 

运行start脚本报错如下:

 

不影响使用,但是不知道原因,有知道的兄弟请邮件告知我。

 

本文出自 “wesleyou的技术博客” 博客,请务必保留此出处http://wesleyou.blog.51cto.com/3189109/591931

分享至
更多
一键收藏,随时查看,分享好友!
NSTcisco、xiaoniu219、wesleyou
7人
了这篇文章

附件下载:
  IOU
类别:Cisco&huawei 网络技术圈()┆阅读()┆评论() ┆ 推送到技术圈返回首页
下一篇 OSPF多区域

文章评论

 
2011-06-20 09:46:32
博文没有图片,需要看的兄弟可以下载附件。

2011-07-15 14:40:53
博主这个文件Openssl-0.9.8的RPM可以共享下么。
博主回复:
2011-08-04 21:32:29
这个网上都有下的,实在找不到的话,你留下邮箱我给你。

2011-07-26 20:41:38
博主啊rh6.1 64位系统自带的openssl 0.9.8e安装在/usr/lib64/下,敢问如何操作??
博主回复:
2011-08-04 21:31:59
64bit我也没有试过,回头我做个试验。

2011-08-05 08:16:32
我的用的是RHEL 4的,很多东西要升级,我换成REHL 6就没问题了
谢谢了。

2011-08-20 02:31:06
楼主好,我实在在网上找不到iou的那几个文件,望楼主能发一下,谢谢,137891951@qq.com
博主回复:
2011-08-23 13:28:26
http://u.115.com/file/e622ntpc
请不要公开发布。最近cisco在严查。虽然我微不足道,但是不希望被人肉。

2011-08-23 13:55:00
谢了,我还想讨论个问题,你这个教程是迁移到RHLE6.1,这个能否迁移到RHEL5,或者RHEL5.5,RHEL6.0,zl是否研究过?
博主回复:
2011-09-02 11:22:54
从理论来说这都是可行的。

2011-09-02 20:12:27
尝试已经成功,哈哈,在RHEL5.5上

2011-09-12 00:12:32
楼主你好,请教个问题 不知道大家有没遇到过。
我的IOU都起来了,除了大家都有的那个错误提示外其它没有任何报错
但就是telnet不上 苦闷啊 弄一整天了
Waiting on port 2001 ...
Process Id for child is 2549, parent is 2547
[root@andLinux lab1]# Waiting on port 2002 ...
Process Id for child is 2551, parent is 2550
UNIX ERR:tcgetattr:Invalid argument
UNIX ERR:tcgetattr:Invalid argument

[root@andLinux lab1]#
博主回复:
2011-09-13 17:39:18
您使用的andlinux吧,这个报错不影响使用。

2011-09-12 22:27:09
补充一下:TAP-Colinux的虚拟IP为192.168.11.150
在andlinux中是可以telnet上IOU的
[root@andLinux lab1]#telnet 192.168.11.150 2001
博主回复:
2011-09-13 17:39:54
您补充这一段的意思是什么?没太明白。

2011-09-13 19:07:39
博主你好,感谢回复
问题不是出在UNIX ERR:tcgetattr:Invalid argument这个提示上

情况是这样的:IOU已经开起来了 但是在windows中却telnet不上去

又试了下从andlinux下又能telnet上GNS中开的IOS路由器
找了一些资料 可能是linux防火墙的问题 但我执行了service iptables stop临时关闭防火墙的命令仍然连不上
不知道是不是andlinux下没有装telnet服务端之类的 谢谢啦~
博主回复:
2011-09-14 16:53:41
首先检查下你的andlinux是否可以跟windows互通,第二你在andlinux上telnet 0 2001,2001假设是你模拟的路由器端口号,看看是可以上。

2011-09-14 21:47:23
博主你好,andlinux可以telnet到windows(GNS),反之不行
另外,
[root@andLinux ~]# telnet 0
Trying 0.0.0.0...
telnet: Unable to connect to remote host: Connection refused
[root@andLinux ~]# telnet 0 2001
Trying 0.0.0.0...
telnet: Unable to connect to remote host: Connection refused
[root@andLinux ~]#
博主回复:
2011-09-15 08:58:32
使用ps -as | grep wrapp查看你的程序起来了没?

2011-09-15 22:58:43
IOU确实已经起来了 在andlinux下都能telnet上 博主真费心了
博主回复:
2011-09-16 11:48:36
andlinux能telnet上,andlinux也能与windows通信?好奇怪的现象。把windows的防火墙关了。andlinux防火墙也关了,service iptables status

2011-11-19 09:48:52
killall wrapper-linux这么写不会说地址占用。。。。在andlinux(这个里面大都集成ubuntu 9.04)ubuntu11.10 centos下都测试过咯,木有问题。。还有就是andlinux直接SSHroot用户的问题。在/etc/ssh/sshd_config这个文件里面,26行里有个
PermitRootLogin 这个默认是no的修改成yes就可以用root直接ssh到andlinux咯。

 

发表评论            

【技术门诊】专家解析:软考重点难点及应试技巧
昵  称:
登录  快速注册
验证码:

请点击后输入验证码博客过2级,无需填写验证码

内  容: