CISCO模拟器dynagen的自定义拓扑和配置

www.net130.com     日期:2010-5-28    浏览次数:
出处:互联网
Dynamips是由一位叫做chris的外国朋友做的,如果你的外语不错,可以去作者的BLOG看看,那里有最新版的下载,,作者的BLOG http://www.ipflow.utc.fr/blog/。该软件为开源软件,如果有编程厉害的朋友,可以去作者的BLOG上下载源代码下来,如果修改成能模拟华为的设备,对我们搞网络的来说可是天大的福音啊。

  Dynamips有不同版本,但目前来看它是一个路由器的模拟软件,关于交换的部分是模拟了在路由器上插不同端口。

  通常我们用的是0.2.5-RC1到0.2.7-RC1中的某个版本,最新的是0.2.7-RC1。

  0.2.5版本仅仅可以支持3640、3660、7200三个型号的设备,只能模拟路由器。

  0.2.6-RC1之后,作者加入了在3600系列上对NM-16ESW交换模块的支持,可以支持3620、3640、3660、7200四种设备,同时解决了某些配置下,电脑CPU占用100%的问题。

  0.2.7-RC1是作者最近才开发出来的,修正了不少BUG。这个版本在原有支持的设备上新增了2600、Cisco 7200 NPE-G2、Cisco 7200 new Ethernet Port Adapters。

  运行方式是使用Dynagen程序,调用.net文件。Dynagen这个程序似乎不是由chris编写,而是另外的一个人制作的。其使用的.net配置文件,逻辑性较强,更适合自己制作拓扑结构。但是它对CPU和内存的占用较高,而且如果一旦某个虚拟设备宕掉,所有开启的设备都需要重新启动。

  以上简单说了Dynamips模拟器的情况,下面我们来看它的配置。我们先来看它的配置文件。注:需运行在0.2.7-RC1版本下。

  以下我们截取一段配置文件,来看看它的配置方法。

  黑色字体为说明。

  *****************************************************************************

  autostart = false

  # 是否开启自动运行,如果该值为true,那么你运行程序后,所有的设备都会自动启动(如果设备有很多,那将是个灾难),建议设置为false,以后用哪个开那个就可以了。

  [localhost]

  port = 7200

  udp = 10000

  # 以上是设置所有的虚拟设备使用的端口号,应该是定义了一个起始端口,后面的自行分配,我没有查到具体的设备端口,仅仅是猜测。

  [[router R1]]

  # 前面的router是定义设备的类型,由此也可以看出,其实Dynamips只能模拟路由器。

  后面的R1是你自己定义的设备名称,需要区别于其他设备。

  image = D:\cisco IOS rom\IOS\c3640-jk9o3s-mz.124-10a.bin

  # 这个就是网上下载的IOS文件路径,最好写绝对路径。

  model = 3640

  # 这句定义了你的路由器型号,根据不同的IOS写不同的型号,不同型号的虚拟设备有差异的,这个是3640。

  console = 2001

  # 这个是定义了登陆的接口,在整个配置中此值必须唯一。2001其实就是2001端口,看到上面的[localhost]了吗?那是地址,也可以用127.0.0.1来代替。也就是说,如果你要用telnet的方式登陆,那么地址就是127.0.0.1:2001,我会专门写出SecureCRT软件的用法。

  ram = 96

  # 定义这个虚拟设备使用多大的内存,可以自己试试看,如果值太小,虚拟设备启动不了的,如果你的内存够大,也可以扩大此值。

  confreg = 0x2102

  # 配置寄存器的值,我建议直接设置为2102,很多朋友都说配置存储不了,就是因为这个配置寄存器设成了2142。其实不是不能保存设备,而是如果配置为2142,设备启动时不会读取配置。

  idlepc = 0x603e0068

  # 这个数值影响了程序的性能,最好多试几个。

  exec_area = 64

  # 看样子象是命令或者程序的空间,但是我一直不清楚这个设置是干什么的。

  mmap = true

  # 如果你的内存足够大,那么可以把它设置成false,让程序完全在内存里运行。如果你和我一样,只有512M内存,那么我建议你设置为true。注意:如果设置为true,需要在程序所在的磁盘内留出一定的磁盘空间,推荐预留1G以上的空间。

  slot0 = NM-1FE-TX  #36系列的1端口快速以太网模块,连接虚拟交换机必须使用这个。

  slot1 = NM-4T # 36系列的4端口串口模块。

  slot2 = NM-1FE-TX #36系列的1端口快速以太网模块,这个用来连接其他的设备。

  上面的三行显示了在虚拟设备的插槽内所使用的模块(或者叫线卡)。3640可以支持4个模块,3660支持6个。支持的模块种类后面再说。

  f0/0 = SW9 1 本机的f0/0连接到了名称为SW9的设备的1端口。

  s1/1 = R2 s3/0 本机的s1/1连接到了名称为R2的设备的s3/0端口。

  s1/2 = FR1 1 本机的s1/2连接到了名称为FR1的设备的1端口。

  f2/0 = SW1 f1/15 本机的f2/0连接到了名称为SW1的设备的f1/15端口。

  以上4行显示了拓扑的连接情况,=前面的是本机的端口,=后面的是链接到的设备名称和端口。格式为:本机端口=对方名称对方端口。一旦在这里定义了连接,则不需要在对端设备进行设置,否则会出错。

  [[router R2]]

  同上,这个设备叫“R2”。

  image = D:\cisco IOS rom\IOS\c7200-jk9o3s-mz.124-10a.bin

  这个设备使用的是7200的IOS,7200和3600可以使用的模块不一样喔。

  model = 7200

  定义设备为7200。

  console = 2002

  这个设备用2002端口登陆。

  npe = npe-400

  定义7200的NPE类型,具体干什么用,我还不明白,不过用这个数值就挺好。

  ram = 128

  7200当然要大一些的内存喽,我设置128M据说有人设置256M。

  confreg = 0x2102

  idlepc = 0x6074ae38

  exec_area = 64

  mmap = true

本新闻共2页,当前在第1页  1  2  

分享道
相关新闻