加入收藏 设为首页 联系站长
首页 | 虚拟动态 | Cisco模拟 | Juniper仿真 | 虚拟机 | 网络仿真 | 软件路由 | 技术专题 | 相关软件 | 交流论坛
>首页 -> Cisco模拟 -> Dynamips

TOP

一.Dynamips与本地网卡桥接
[ 录入者:admin | 时间:2007-10-27 15:13:38 | 作者: | 来源: | 浏览:1772次 ]
概述
    dynamips的原理是模拟CISCO路由器的硬件平台,直接运行CISCO的软件,从而达到几乎完全仿真CISCO路由器、交换机的效果。而dynagen则是在dynamips基础上更加方便大家的使用,配置也更加的人性化,本文主要也是介绍dynagen在windows xp下使用dynagen。另外,在linux以及其他平台下的使用和配置也基本相同。你可以使用这个软件根据本文的介绍来实现在同一台或多台PC上仿真运行任意多个路由器并实现他们的互连互通,这对你组网学习CISCO路由器的配置等很有帮助。这篇补充介绍了在同一台或者多台PC(windows)上配置任意多个路由器并实现他们的互连互通。暂时没学会在这上面使用交换机,不过本软件最新版本已经支持交换模块了,希望哪位同仁能不吝赐教!
软硬件要求
1.操作系统我采用的windows xp sp2,我在公司使用的电脑是联想扬天系列,内存有1G
2.dynamips和dynagen,还有WinPcap,在本文的附件里可以下载
3.CISCO的BIN文件就像chris说的,我们都不可能提供,但是如果你购买了CISCO的产品,这些都不是问题。

安装
下面这一段是我的同事张晔给我们的介绍:
Dynagen支持Linux,Windows XP(注意2000不支持,2000的话可以试试DynamipsGUI)
1) 首先安装dynagen-0.8.3_dynamips-0.2.6-RC5_Win_XP_setup.exe。Dynagen集成了WinPcap,无需另外安装WinPcap了。
2) 解压dynamips-0.2.6-RC5-cygwin.zip。把解压后的几个文件考到C:\Program Files\Dynamips下。
需要的文件在这个论坛上有的请大家搜索

安装好以后,可以在
开始--所有程序--看到这个(桌面上也有):

等会我们主要使用“dynamips server”,如果要在多台PC上实现路由器的互连互通的话还要使用“network device list”。所以,我先介绍这两个东东的作用:
1. “dynamips server” 每次使用必须先要启动它,但是无论在一台PC上运行多少个路由器或者交换机,都只要启动一次就可以了。
2.“network device list” 这个主要是用来显示你的物理网卡的信息的,当你想指定虚拟的路由器的某个端口(如下文中要介绍的R1的f0/0)到某个具体的网卡时,你就要使用这个工具来获得物理网卡信息然后填进你的配置文件。
好了,接下来我们学习如何配置、使用这个软件。

使用

首先,将你的CISCO的BIN文件都最好放在“C:\Program Files\Dynamips\images”目录下,等会启动系统的时候就是读取这些BIN文件。这里有一个小诀窍,将CISCO的BIN文件改成后缀为“.zip”文件,然后解压,可以使你等会启动路由器的时候快一些,因为你提前进行了解压操作J

安装好以后,主要是配置“.net”文件。这个文件指定了各个路由器交换机的型号以及启动时的BIN文件,指定了路由器交换机的接口如何连接等等选项。

本软件自带了一个“C:\Program Files\Dynamips\sample_labs”目录,里面都是一些已经配置好的例子。下面我们就通过修改“C:\Program Files\Dynamips\sample_labs\simple1\simple1.net”文件来介绍如何配置“.net”文件。系统本来自带的那个“simple1.net”文件这里就不列出了,下面是我修改的“simple1.net”文件,其中红色字体为我新加或修改的部分。

# Simple lab

autostart = false

[localhost]

    [[7200]]

    image = \Program Files\Dynamips\images\C7200.image

    # On Linux / Unix use forward slashes:

    # image = /opt/7200-images/c7200-jk9o3s-mz.124-7a.image

    npe = npe-400

    ram = 160


    [[ROUTER R1]]

    s1/0 = R2 s1/0

    f0/0 = R2 f0/0

    mmap = true


    [[router R2]]

    mmap = true


    [[ROUTER R3]]

    model = 2691

    image = \Program Files\Dynamips\images\c2691.bin

mmap = true

    # No need to specify an adapter here, it is taken care of

# by the interface specification under Router R1

这个文件使用“#”进行注释。下面我们介绍红色字体标记的以及一些常用的字段的意思。

1.autostart = false 指定启动此“.net”文件的同时不启动本文件中定义的这些虚拟路由器。强烈建议你这样配置,要不一下子启动好多虚拟路由器可够你的机器受的了。

2.[[7200]] 指定路由器的默认型号为7200

3.[[7200]]下面的“image = \Program Files\Dynamips\images\C7200.image”,指定各路由器默认使用这个BIN文件启动

4.[[ROUTER R1]] 指明接下来是对虚拟的路由器R1进行配置。其他的类似的还有R2和R3等。

5.f0/0 = R2 f0/0 指定虚拟路由器R1的f0/0与虚拟路由器R2的f0/0相连

6.mmap = true 这个意思和PC机上的虚拟内存一样,即可以使用虚拟内存来运行虚拟路由器。我也强烈建议你这么做。

7.model = 2691 指定虚拟路由器R3的型号为2691。前面两个虚拟路由器R1和R2的型号都是前面提到的默认为7200。

8.[[ROUTER R3]]下面的“image = \Program Files\Dynamips\images\c2691.bin ”指定虚拟路由器R3启动的BIN文件为“image = \Program Files\Dynamips\images\c2691.bin”,前面两个虚拟路由器R1和R2启动的BIN文件都是默认的“c7200.bin”。

按以上配置保存以后,我们来实际运行一下。运行的步骤如下。

1.启动“dynamips server”。只要点击“开始--所有程序--Dynagen à Dynamips Server”就可以了。

2.双击我们刚刚配置好的“C:\Program Files\Dynamips\sample_labs\simple1\simple1.net”文件,可以得到一个DOS的界面,为了方便说明,我们称之为DOS1。在DOS1上输入“help”可以看到本软件的各条命令。

3.在DOS1上输入“list”即可看到各个虚拟路由器及其状态。在“Console”一列即是各个虚拟路由器的CONSOLE对应的端口号,采用SecureCRT或者其他TELNET工具使用命令“telnet 127.0.0.1 2000”即可登陆到虚拟路由器R1的CONSOLE口。将后面的端口改成各路由器对应的端口即可登陆到各个虚拟路由器的CONSOLE口。

4.当然,由于配置了“autostart = false”,所以各个路由器都还没有启动,你登陆到CONSOLE口也是白搭。所以,请在DOS1下使用命令“start R1”来启动虚拟路由器R1,这时你就可以登陆到路由器R1的CONSOLE口进行配置了。

5.现在请克制住你激动的心情,暂且不要到路由器R1上进行配置,让我们回到DOS1。在DOS1下使用命令“idlepc get R1”或“idlepc show R1”可以得到以下画面。

这副图中有个注释“[xx]最大值对应的这一行的0x6077e9fc”,因为这里[xx]最大的为[80],所以我们取了在这一行中的“0x6077e9fc”。等会我们用它来配置idlepc。这个idlepc非常有用。因为这个软件默认是最大可能的占用你的PC的系统资源,配置这个idlepc可以让这个软件对你的系统资源的占用得到有效的控制。你可以同样按这些步骤得到R2和R3的idlepc的值。

这里提醒一下,虚拟路由器的各个端口一开始都是“administratively down”,所以需要到各个端口下使用“no shutdown”让各个端口起来。

以上的介绍都是在一台PC上实现虚拟路由器的互连互通,现在我们来介绍如何使在不同PC上的路由器实现互连互通。

要达到这个目的,说穿了就是让虚拟路由器的端口与PC上的物理网卡对应起来,然后通过物理连接来实现在不同PC上的互连互通。所以,我们对“.net”配置文件要做的仅仅就是将虚拟路由器的某个端口与实际的物理网卡连接起来。要实现这样的功能,我们就要使用前面提到的“network device list”了。点击“开始 à 所有程序 à Dynagen à Network device list”可以得到如下的画面。

在这副图的最后其实有提示的:“F0/0=NIO_gen_eth:\Device\NPF_(..)”。

我在这里选择我PC上D-LINK的网卡与我的虚拟路由器R3的F0/0口对应起来。

所以,根据上面介绍的对idlepc以及配置物理网卡与虚拟路由器端口对应的介绍,我们修改后的“C:\Program Files\Dynamips\sample_labs\simple1\simple1.net”文件的配置最终如下:

# Simple lab

autostart = false

[localhost]

    [[7200]]

    image = \Program Files\Dynamips\images\C7200.image

    # On Linux / Unix use forward slashes:

    # image = /opt/7200-images/c7200-jk9o3s-mz.124-7a.image

    npe = npe-400

    ram = 160


    [[ROUTER R1]]

    s1/0 = R2 s1/0

    f0/0 = R2 f0/0

    mmap = true

    idlepc = 0x6077e9fc


    [[router R2]]

   
mmap = true

    idlepc = 0x6077b778


    [[ROUTER R3]]

    model = 2691

    image = \Program Files\Dynamips\images\c2691.bin

mmap = true

f0/0 = NIO_gen_eth:\Device\NPF_{51179616-52D7_450B-BDCE-090D80AEB467}

    idlepc = 0xffffffff8000ad14

    # No need to specify an adapter here, it is taken care of

# by the interface specification under Router R1

以上红色部分为对应前面的文件所做的修改。

这里主要是配置了idlepc以减少对系统资源的占用,以及配置R3的f0/0端口与PC机的网卡对应从而实现虚拟路由器与实际物理网络的连接。

前面只简单的介绍了这个文件中的几个字段的介绍,如果要得到更详细的介绍可以参考“C:\Program Files\Dynamips\sample_labs\all_config_options.txt”文件,以及参考资料中提到的桃花岛主的文章《Dynamips自定义拓扑配置》。

参考资料

1.      http://www.ipflow.utc.fr/blog/

2.      http://dyna-gen.sourceforge.net/

3.      桃花岛主的BLOG:http://www.thdao.cn/

4.      http://www.ciscohuawei.com/forumdisplay.php?fid=72&page=1 有一个专门的版块介绍dynamips等。

版权申明

所有版权规 喜玛拉雅(Hmilyajiao@yahoo.com.cn) 所有。

欢迎转载,但转载时请务必注明原始出处并包含本版权申明。

[上一篇]Netemu论坛专帖 Dynamips基础教程.. [下一篇]Dynamips Router IOS and PORT AD..
※相关文章
 

评论

称  呼:
内  容:

相关栏目

最新文章

热门文章

推荐文章

赞助商链接