Dynamips教程

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Dynamips / Dynagen 教程
文档修订号 1.11.7
作者:Greg Anuzelli (翻译:重庆.小虫子 xiaook@gmail.com QQ:10516321 2008-5-21)
介绍 安装 IOS 映像 资源利用 配置你的 Telnet 客户端 网络文件 运行 Simple Lab #1 使用管理控制台 计算 Idle-PC 值 Simple Lab #2 帧中继实验 和真实网络通信 以太网交换实验 1700/2600/3600/3700 路由器 WIC 模块 PIX 模拟 动态配置模式 客户/服务器和多服务器操作 内存使用优化 抓取数据包 其它命令/特性 当前模拟的硬件 FAQs
这个[[7200]]小节定义任何 7200 路由器实例创建时应用的所有默认设置. 允许我们只用指定 一次 RAM 和 IOS 映像这些公共的东西,这让事情变得更简单 。注意你可以指定默认,并在后 面的特定路由器实例定义中覆盖这个设置。
image = \Program Files\Dynamips\images\c7200-jk9o3s-mz.124-7a.image # 在 Linux / Unix 上使用左斜线:
介绍
Dynamips 是 Christophe Fillot 写的一个 Cisco 网络模拟器.它模拟 1700, 2600, 3600, 3700, 和 7200 平台, 并且运行标准的 IOS 映像. 用 Chris 自己的话说:
虚拟器在下面的情况可能会有用:
·
用于培训平台,使用真实世界中的软件.它使人们对 Cisco 设备变得更熟悉,
如果由于某些原因你遇到问题而你并不是首先在 Dynamips 或 Dynagen 网站看到这个教程,下 面提供了一些重要的链接:
Dynamips (实际的模拟器): http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator Dynamips Blog (这里有大部分动向): http://www.ipflow.utc.fr/blog/ Dynagen (一个模拟器的前端): http://dyna-gen.sourceforge.net/ GNS-3 (一个使用 Dynagen 库的图形化网络模拟器): http://www.gns3.net/ Dynamips / Dynagen Bug 跟踪: http://www.ipflow.utc.fr/bts/ Hacki 的 Dynamips / Dynagen / Dynagui 论坛: http://7200emu.hacki.at/index.php
网络文件
Dynagen 使用单一“网络文件”来存储所有路由器,交换机,虚拟实验互联的配置。这个文件 使用简单的类似 INI 文件的语法. 使用文本编辑器打开 simple1.net 文件(在 Windows 中桌面 有一个指向“Dynagen Sample Labs” 目录的快捷方式).
# Simple lab
配置你的 Telnet 客户端
Dynagen 包含一个控制台命令允许你从 CLI 直接连接到虚拟路由器的控制台. 但是你必须先配 置 dynagen.ini 文件 (在 Windows 系统,位置在 C:\Program Files\Dynagen;或者你在 Unix 系 统中解压 tarball 的其它位置 ) 告诉它使用哪个 telnet 客户端. 未注释的行正用于你的系统, 或者手工编辑以使用你喜欢的 telnet 客户端.请查看 ini 文件中的指令注释.
[[7200]]
下面一个小节是首行缩排的, 有两个括号,它的意思是后面是应用于上面的小节指定的 Dynamips 服务器的配置(在这个例子中, localhost).所有的空白实际是被忽略的,所以首行缩 排只是为了好看. 双括号真实的意思是说明这个小节是 [localhost] 小节下面的一个嵌套.
Linux 下载 Dynamips / Dynagen 的 tarball,再解压到一个合适的位置 (如: /opt/dynagen). 再在/usr/local/bin 里面创建 Dynagen 和 Dynamips 符号连接,或者其它 PATH 环境变量中的路 径.
注意: 如果你运行 Dynamips 在 RedHat 或 Fedora 系统, 当你试着运行 dynamips 时遇到分段 错误,看一下 Dynamips FAQ item #2 .
你会从 unzip 收到一个警告,你可以安全的忽略. 在 Windows 上你可以使用 WinRAR 来解压映 像.
* 注意目前 2600 路由的映像必须解压才能在 Dynamips 上工作。
ຫໍສະໝຸດ Baidu资源利用
Dynamips 在完成它的模拟魔术中使用平均的 RAM 和 CPU.如果你打算运行一个在真实 7200 路由 器需要 256MB RAM 的 IOS 映像 , 那么你要为这个虚拟路由实例留下 256 MB 内存, 它将分配 256MB 为工作固定内存. Dynamips 在 Unix 系统上(默认)还为 每个实例分配 64 MB RAM 来缓 存 JIT 转换(在 Windows 系统上是 16 MB). 这会是固定工作数量;默认情况系统的实际 RAM 总 量通常要明显的小一些.这是因为默认 Dynamips 为路由器的虚拟内存使用内存映射文件.在工 作目录中你可以看到 大小与虚拟路由器 RAM 大小相同的临时 “ram”文件. 你的操作系统会
· 我如何从 Dynagen 确定一个 idle pc 值? · 当我在 Windows 上尝试运行超过 4 个路由器实例每个 @ 256 MB (或 6 个实例每个 @
160 MB ) ,或者超过 7 个实例每个 @ 256 MB (或 11 个实例每个 @ 160 MB)在 32 位 Linux 时 Dynamips 崩溃. · 我有一个多个路由器的复杂实验,我的串行接口摆动, eigrp 邻居邻接失败,show run 和 write mem 卡很久. · 这里有一个比捆绑在 Dynagen Windows 安装器的更新 Dynamips 版本。我如何将它用 于 Dynagen?/我如何在 Windows 2000 或 Windows XP SP1 上使用 Dynagen? · 在 Linux / Unix / OS X,当我桥接一个路由器或交换机接口到我的本地主机,我不 能从我的主机 ping 它。但在 Windows 上可以? 出什么问题了? · 我有一个问题/我遇到一个麻烦/我想我可能找到一个 bug. 我如何在 论坛 或 bug 跟踪系统 提交一个有质量的帖子进而增加其它人帮到我的可能性?
IOS 映像
Dynamips 运行真实的 Cisco IOS 映像. 来自 Dynamips FAQ:
你能提供一个 7200 的 Cisco IOS 映像给我吗?
不行,我并未被允许散布 IOS 映像.你必须自己去找一个, 这对于 Cisco 用户应该不会 是一个问题.
在 Windows,将映像文件放在 C:\Program Files\Dynamips\images. 实际上你可以将映像文件 放在你想放的任何位置, 但是示例实验配置了查找这里. 在 Linux/Unix 系统,指定一个位置 存储你的映像并将他们都放在这里 (我喜欢使用 /opt/images,你的系统就看着办了.)
Dynagen 是一个基于文本的 Dynamips 前端, 使用“Hypervisor”模式和 Dynamips 进行通信. Dynagen 使构建和运作虚拟网络更简单:
• 使用简单、容易理解的配置文件来指定虚拟路由器的硬件配置 • 简洁的语法互联路由器、网桥、帧中继和 ATM、以太网交换机。 而不用涉及 NetIO • 可运行于客户/服务器模式,将 Dynagen 运行在你的工作站和运行于后端的 Dynamips 服
务器通信. Dynagen 也可以在分布式的大型模拟网络中同时控制跨越多个机器的多个 Dynamips 服务器. 或者你可以将 Dynamips 和 Dynagen 运行在同一个系统上. • 提供一个管理 CLI 用于 列出设备,启用、停止、重载、挂起、继续和连接到虚拟路由 器的控制台.
Dynagen 使用 Python 编写,所以可以在具有 Python 解译程序任何平台上(说的哪一个,很多) 兼容 .采用模块化设计,与 Dynamips 间的接口使用一个独立的 OOP API(面向对象编程的应用 程序编程接口).其它 Python 应用程序可以使用这个 API 提供的虚拟网络纲领进行编写,或提 供其它前端 . 例如,GNS-3 团队的工作就是一个使用这个库的 GUI 前端。
特别感谢 ConfigObj 库的创建者 在 http://www.voidspace.org.uk/python/modules.shtml#configobj. 这个库被用于 Dynagen 读取它的配置文件.
安装
Dynagen 运行于支持 Python 的任何平台,也就是说几乎支持所有平台.我将 Dynamips 和编译版 本的 Dynagen 放在一个 Windows 安装包里面,避免了安装 Python 的要求。同时提供与 Windows 资源管理器的集成,所以你在网络文件上双击就可以运行它们。
Cisco 是世界网络技术的领导者;
·
测试和体验 Cisco IOS 特性 ;
·
快速检查将要部署到真实路由器上的配置.
当然,这个模拟器不能代替真实路由器,它只是一个 Cisco 网络管理员或是想要通过 CCNA/ CCNP/CCIE 考试者真实实验的补充工具.
尽管 Dynamips 提供了一个简单的虚拟交换机, 但它不能模拟 Catalyst 交换机(尽管它模拟了 NM-16ESW 交换模块).
Cisco IOS 映像都是压缩过的.这些压缩的映像文件可以与 Dynamips* 很好的工作,然而解压的 过程会使启动过程明显变慢(和真实路由器一样).推荐你事先解压缩映像文件,这样不需要模拟 器来做.你可以在 Linux/Unix/Cygwin 像下面这样使用 unzip 实用程序来做:
unzip -p c7200-g6ik8s-mz.124-2.T1.bin > c7200-g6ik8s-mz.124-2.T1.image
本能地缓存在 RAM, mmap 文件区段会被用到。 (查看 内存使用优化 章节, 配置选项可以显著 减少内存使用).
如果你有充足的 RAM,并且你清楚自己在做什么, 在你实验配置文件的设备默认或路由器小节 中设置 “mmap = false”让这些实例禁用 mmap.
Dynamips 也使用大量 CPU, 因为它模拟路由器 CPU 一个个指令.它最初也没有办法知道什么时 间虚拟路由器 CPU 是空闲的, 因此它忠实执行所有指令致使 IOS 的 idle 例程像运行”真正” 工作那样执行.但一旦为给定的 IOS 映像进行"Idle-PC"处理,CPU 利用将迅速地减少。后面会 详细介绍 。
首先,根据你打算运行 Dynamips 机器的平台安装 libpcap 或 winpcap.这用于提供路由器接口 到物理网卡的桥接。 Windows 用户将需要安装 Winpcap 4.0 或更新版本,当前还是 beta 版本.
下面, Windows 用户安装 Windows 安装包.它提供了在本地或远程机器上运行 Dynamips/Dynagen 所需的所有东西。
任何以#开头的行是一个注释 ,(执行时)会被忽略
[localhost]
第一个小节指定运行 Dynamips 的主机. 在这个例子中,我们打算将 Dynamips 与 Dynagen 运行 在同一台机器,所以指定的是 localhost.如果 Dynamips 运行在不同的机器,你应该替以那台 机器的主机名或 IP 地址 (稍后一点我们将见到一个示例.)
相关文档
最新文档