最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

Dynamips + Dynagen详细使用说明

来源:动视网 责编:小OO 时间:2025-09-28 00:17:04
文档

Dynamips + Dynagen详细使用说明

本文介绍如何使用Dynamips+Dynagen构建你自己的虚拟Cisco网络实验室。这篇文章将帮助你了解Dynamips和Dynagen的作用,介绍设置Dynagen的配置文件,指定虚拟设备之间的拓扑连接方式以及正确计算Idlepc值的方法。1.Dynamips简介Dynamips是由法国贡比涅科技大学的克里斯托弗•菲尔洛特(ChristopheFillot)编写的Cisco设备模拟器。Dynamips不同于传统的纯软件式模拟器,它模拟了多种型号的Cisco路由器的硬件平台,用户可以在模拟器
推荐度:
导读本文介绍如何使用Dynamips+Dynagen构建你自己的虚拟Cisco网络实验室。这篇文章将帮助你了解Dynamips和Dynagen的作用,介绍设置Dynagen的配置文件,指定虚拟设备之间的拓扑连接方式以及正确计算Idlepc值的方法。1.Dynamips简介Dynamips是由法国贡比涅科技大学的克里斯托弗•菲尔洛特(ChristopheFillot)编写的Cisco设备模拟器。Dynamips不同于传统的纯软件式模拟器,它模拟了多种型号的Cisco路由器的硬件平台,用户可以在模拟器


本文介绍如何使用Dynamips + Dynagen构建你自己的虚拟Cisco网络实验室。这篇文章将帮助你了解Dynamips和Dynagen的作用,介绍设置Dynagen的配置文件,指定虚拟设备之间的拓扑连接方式以及正确计算Idlepc值的方法。

1. Dynamips简介

Dynamips是由法国贡比涅科技大学的克里斯托弗•菲尔洛特(Christophe Fillot)编写的Cisco设备模拟器。Dynamips不同于传统的纯软件式模拟器,它模拟了多种型号的Cisco路由器的硬件平台,用户可以在模拟器中直接加载并运行真正的IOS镜像,这使得Dynamips可以成功模拟出99%以上的IOS功能,并且确保在绝大多数情况下得到的结果与真实设备的结果相同。

Dynamips是一款最初在Linux平台上开发的开源软件。后来被成功迁移到了Windows和Mac OS X平台。Dynamips最开始仅能够模拟Cisco 7200路由器,现在已经可以模拟Cisco 1700/2600/3600/3700多种型号路由器。Dynamips最新版本是0.2.8-RC2,你可以在http://www.ipflow.utc.fr/blog/下载到最新版本的源程序和二进制编译包。

最新版本的Dynamips更新于2007年10月,此后作者再也没有对该模拟器进行过更新。有迹象表明该项目目前已经被中止。

注意:Dynamips从来没有实现过模拟交换机的功能。在模拟Cisco 3600等型号时,Dynamips可以模拟NM-16ESW模块来实现交换机的一小部分功能。NM-16ESW和真正的交换机在功能上还是有非常大的差距。

注意:Dynamips仅仅模拟了相应路由器的“功能”,而并非“性能”,所以不要期望模拟器可以替代真实的设备。

 

2. Dynagen简介

Dynamips是一个纯粹的命令行程序。当我们需要模拟一个由多台设备组成的复杂网络时,纯粹的命令行配置会显著地增加配置复杂度。许多第三方团体或个人开发了各种Dynamips的前端程序来简化Dynamips的配置过程。其中最著名的前端程序是Dynagen。

Dynagen通过类似INI文件格式的配置文件(后缀为.net)来定义Dynamips模拟设备的型号、参数,以网络的拓扑连接方式。Dynagen同样是一款开源软件,你可以在http://dynagen.org/下载到其最新版本。该软件最后一次更新于2008年4月,最新版本号是0.11。

3.安装dynagen-0.11.0_win_setup,Dynamips依赖WinPcap这个著名的动态链接库 

将Dynagen和WinPcap下载后,运行安装。安装过程非常简单,一路点击“下一步”就可以。两个程序的安装顺序没有要求,但是在成功安装WinPcap之前你无法正常使用Dynamips。

4.启动Dynamips Server

Dynamips Server是整个Dynamips模拟器的核心,在开始模拟虚拟路由器设备之前必须首先启动Dynamips Server。在整个的模拟过程中Dynamips Server不能被关闭,否则所有正在运行的虚拟路由器也会立即被关闭。

安装Dynagen后在桌面上会产生若干个快捷方式,双击“Dynamips Server”即可启动Dynamips Server。正常的结果应该是看到类似这样的一个窗口:

 

建议:为了防止在实验过程中意外关闭Dynamips Server,建议你将该窗口最小化。

切记:在实验过程中关闭该窗口会导致模拟器终止运行!Dynamips Server总是应该首先启动,最后关闭。

5. 准备IOS镜像文件和.NET配置文件

Dynamips Server成功启动后,我们就可以开始编写Dynagen的.NET配置文件设置虚拟设备的连接拓扑结构。你需要为模拟设备准备相应版本的Cisco IOS镜像文件,并将镜像文件放置在一个路径中没有中文的目录中。

接下来我们需要准备Dynagen需要的.NET配置文件。.NET配置文件是纯文本文件,所以你可以使用如记事本等程序创建和编写。不要使用写字板或Word之类的rich-text编辑器修改。.NET文件也必须放置在路径中没有中文的目录下。

切记:Cisco IOS镜像文件和Dynagen的.NET配置文件必须放置在路径中没有中文的目录中,否则会导致模拟器出错

Ios镜像文件要放入 *:\\Program Files\\Dynamips\images文件夹下

 LOCKE route lab-7200-enterprise.net(企业版)和LOCKE route lab-7200-SP.net(实验室版)

6. 编写.NET文件

.NET文件有自己的一套语法,下边是一份配置样例:

autostart = False

#model = 3725

ghostios = True

sparsemem = True

[localhost]

    

    [[3725]]

        image = \\Program Files\\Dynamips\\images\\C3725-AD.BIN

        ram = 140

        slot1 = NM-16ESW

    

    [[Router sw1]]

        console = 2000

        model = 3725

        f1/0 = r1 f0/0

        f1/1 = r2 f0/0

        f1/2 = r3 f0/0

        f1/3 = r4 f0/0

        idlepc =0x60bec7a8

    

    

    [[7200]]

        image = \\Program Files\\Dynamips\\images\\C7200-SP.BIN

        # On Linux / Unix use forward slashes:

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

        npe = npe-400

        slot1 = PA-2FE-TX

        slot2 = PA-4T+

        ram = 160

    

    [[ROUTER r1]]

        console = 2001

        model = 7200

        s2/1 = r4 s2/1

        f0/1 = r8 f0/1

        f1/0 = r7 f1/0

        idlepc = 0x60210450

    

    [[ROUTER r2]]

        console = 2002

        model = 7200

        s2/1 = r3 s2/1

        s2/0 = r7 s2/0

        idlepc = 0x60210450

    [[ROUTER r3]]

        console = 2003

        model = 7200

        f0/1 = r6 f0/1

        f1/0 = r5 f1/0

        s2/2 = F1 3

         idlepc = 0x60210450

    

    

    [[ROUTER r4]]

        console = 2004

        model = 7200

        f0/1 = r5 f0/1

        f1/0 = r6 f1/0

        s2/2 = F1 4

         idlepc = 0x60210450

    

    

    [[ROUTER r5]]

        console = 2005

        model = 7200

        s2/0 = r6 s2/0

        s2/2 = F1 5

        idlepc = 0x60210450

    

    

    [[ROUTER r6]]

        console = 2006

        model = 7200

        s2/2 = F1 6

        idlepc = 0x60210450

    

    [[ROUTER r7]]

        console = 2007

        model = 7200

        f0/0 = r8 f0/0 

        idlepc = 0x60210450

    [[ROUTER r8]]

        console = 2008

        model = 7200

        idlepc = 0x60210450

    

    [[FRSW F1]]

        3:304 = 4:403

        3:305 = 5:503

        3:306 = 6:603

        4:405 = 5:504

        4:406 = 6:604

        5:506 = 6:605

开始的四行是全局配置参数。

Autostart:指定是否所有虚拟路由器在Dynagen控制台启动后立即自动启动,这里推荐值是false,我们可以在控制台用命令按需启动以降低对计算机资源的无谓消耗

Model:指定虚拟路由器的默认型号。

Ghostios和sparsemem:这两个选项降低了模拟器对内存的需求。如果你的计算机内存少于1G,强烈建议你将这两个选项设置成true。如果你的计算机内存大约2G,可以将ghostios设置成false。打开这两个选项会轻微地降低模拟器的运行速度,但是考虑到对内存的节省,对于没有海量内存的计算机而言是值得的。

接下来的[[3725]]部分是对模拟路由器具体参数的指定。

Image:指定Cisco IOS镜像文件的路径,在Windows下不区分大小写。这里要注意不要把斜杠写反。

Ram:指定每台虚拟路由器的内存。对于3725而言,128M是一个最合适的值。不同的路由器型号与IOS的组合对这个值都有有最低,因此不要随意降低这个值。

Idlepc:这是Dynamips最重要的一个参数。如果这个参数设置不正确,即使模拟一台路由器,宿主计算机的CPU使用率也总是100%,即便一台高性能的计算机也无法顺利模拟3台以上的路由器。而一旦正确设置,即使两年前生产的笔记本电脑也可以轻松模拟高达8台路由器。

Idlepc值是对应IOS镜像文件的。也就是说,每个IOS镜像文件有自己固定的Idlepc值,一旦计算出有效的值,无论在哪一台计算机上,只要运行相同的IOS镜像文件这个值总是有效的。另外,每个IOS镜像文件可能有多个有效的Idlepc值,如果你按照正确的方法计算出了一个和别人都不一样的值,请放心使用。

注意:Idlepc值的计算是Dynamips设置步骤中最复杂却最重要的一步。强烈建议你在正式开始实验项目前计算出正确的Idlepc值。不使用Idlepc值或者使用无效的Idlepc值会导致CPU长期持续工作在100%负载下,会对计算机的散热产生非常严重的影响。在夏季甚至会导致某些笔记本电脑死锁或烧毁!

Slot:指定每个路由器模块插槽里的模块型号。Cisco 3725一共有4个slots,分别是slot0到slot3。你可以根据对路由器接口的需要在模拟路由器上添加不同的模块。虽然Dynamips能够模拟多种模块,但是最常使用的是NM-4E,NM-4T和NM-16ESW(如果你确实想模拟一台简化版的交换机)。NM-4E带有4个10M以太网接口,而NM-4T带有4个串行接口。将模块插在不同的slot中会导致不同的最终接口名。在上边的配置样例中,每台路由器的4个以太网接口分别是e0/0到e0/3,而4个串行口分别是s1/0到s1/3。

最后就是生成每一台虚拟设备和指定虚拟设备之间的连接拓扑。

在上边的配置样例中我们使用命令[[Router rx]]创建了8台虚拟路由器,每台路由器拥有和[[3725]]部分定义完全相同的配置。这条命令中的字母是大小写区分的,即[[router r1]]并不会创建一台虚拟路由器r1,而是一条不存在的命令。接下来我们定义了每台虚拟设备是怎么连在一起的。例如在上边的配置样例中,r1的f1/2口连接在r3上的f0/0的接口.

 

注意:在编写拓扑连接规则时,不需要考虑线缆的类型问题(即不需要关心直通线与交叉线的区别),在使用串行连接时不需要考虑DCE的时钟问题,DCE由Dynamips自动模拟和分配时钟,所有的路由器都是DTE端。

7. 开始模拟虚拟路由器

      .NET配置文件编写完成后,将其放置在一个路径中没有中文的目录下。在Dynamips Server保持运行时双击该文件即可开始模拟路由器设备。如果.NET文件编写正确,双击后稍等即会出现类似下边的窗口:

      其中的“Network Successfully Started”表示之前你在.NET文件中所输入的命令是完全正确的。如果.NET文件中有任何语法或逻辑错误,相应的错误提示会出现。你必须修改所有的错误后才能开始配置模拟路由器。

      这个弹出的窗口是Dynagen Console(控制台),你可以在这里控制每一台模拟路由器的启动、停止与重启。使用list命令列出当前模拟的设备:

  左边第一列表示每台虚拟路由器的名字,第三列是这台虚拟路由器的状态。如果状态是running,表示其正在运行中;如果状态是stopped,表示其处于停机状态。

      如果需要启动一台处于停机状态的虚拟路由器,使用命令start r1。

      如果需要使一台正在运行的虚拟路由器停机,使用命令stop r1。

      如果需要重启一台虚拟路由器,使用命令reload r1。

      注意:上边三条命令的设备名部分是大小写敏感,对于上边的例子,输入命令start R1会提示没有这台设备。

8. 登录到虚拟路由器

   打开LOCKE route lab-7200-SP.net(Dynagen),输入start r1,此时cpu占用率可能在40以上,若是开启两台路由器,那么cpu使用率可能达到80%,此时要进行idlepc设置。

此现象原因是在别人的电脑上copy的.NET文件导致,因为别人的电脑已经做了idlepc的计算。

  首先用记事本打开LOCKE route lab-7200-SP.net(Dynagen)并清掉r1到r8上的 idlepc=0x60210450,及其sw1上的idlepc =0x60bec7a8,保存并启动LOCKE route lab-7200-SP.net(Dynagen)。

打开Dynagen控制台,输入命令idlepc get R1(如果刚才你是登录到R1上的),稍等会得到类似下图中的结果:

            

正确的结果应该会看到至少一个带有*的值,这些带有*的值就是可能正确的Idlepc值,你可以依次尝试应用。在光标处直接输入要应用的值的序号,交换机同理。

      注意:如果你没有看到任何带有*的值,意味着你的这次计算失败了。请用stop命令关闭虚拟路由器,严格按照上边的步骤重新再试一次。

      如果你选择的Idlepc值是正确的,在应用之后几秒内宿主计算机的CPU使用率会从100%降至5%一下(如果你只运行着一台虚拟路由器的话)。看到这个结果说明这是一个有效的Idlepc值,你可以将它记录下来,写到.NET配置文件中的相应位置。这个值对于这个IOS镜像文件总是有效的。如果CPU使用率没有下降,或者下降并不明显,说这个值是无效的,你可以在Dynagen控制台上用命令idlepc show R1再次显示刚才的计算结果,并输入另一个值的编号继续尝试,直到找到有效的值。

9 .% This file system device reports an error

如果出现上面提示,进入路由器后将bootflash和disk0格式化,如下:

Router#format disk0:

Router#format bootflash:

格式化后下次启动将不会出现错误提示

文档

Dynamips + Dynagen详细使用说明

本文介绍如何使用Dynamips+Dynagen构建你自己的虚拟Cisco网络实验室。这篇文章将帮助你了解Dynamips和Dynagen的作用,介绍设置Dynagen的配置文件,指定虚拟设备之间的拓扑连接方式以及正确计算Idlepc值的方法。1.Dynamips简介Dynamips是由法国贡比涅科技大学的克里斯托弗•菲尔洛特(ChristopheFillot)编写的Cisco设备模拟器。Dynamips不同于传统的纯软件式模拟器,它模拟了多种型号的Cisco路由器的硬件平台,用户可以在模拟器
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top