Chinaunix首页 | 论坛 | 博客

qsh

  • 博客访问: 4054826
  • 博文数量: 1015
  • 博客积分: 15904
  • 博客等级: 上将
  • 技术积分: 8572
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-04 19:16
文章分类

全部博文(1015)

文章存档

2019年(1)

2017年(1)

2016年(19)

2015年(27)

2014年(30)

2013年(95)

2012年(199)

2011年(72)

2010年(109)

2009年(166)

2008年(296)

分类:

2008-11-25 20:45:16

 
2006-12-23 00:36

套用网上非常流行的一段话:Dynamips,这绝对不是一般的cisco路由器模拟器。dynamips和boson netsim的区别在于:boson是模拟出IOS的命令行,而dynamips是模拟出cisco7200路由器的硬件环境,然后在这个环境中直接运行Cisco的IOS。换句话讲,dynamips模拟出的是真实的路由器,就象你在PC上用街机模拟器玩街机游戏一样。

最近上BCN所做的实验都在Dynamips上完成的,Dynamips的确是非常强的工具,当然Dynamips还是不能替代真实的路由器的,还是有些命令是不同的。

想要使用Dynamips首先就要安装winpcap,winpcap有什么用呢?其实我也不知道,google上查到它为win32应用程序提供访问网络底层的能力,也许是让真实环境和虚拟路由器通信的东东吧!!!
然后再安装Dynamips这个软件(有win版和linux版,这里我装的是win版),默认就在c盘了。
再然后就把cisco的ios文件拷到c:\...\Dynamips\images下(目前我就只有3660和7200)

一切准备都做好了,就等需要的实验拓扑图了(也就是sample_labs中的.net文件的内容),这里拿一个全面的说明图来演示。(注意红色部分为.net文件中的内容

# 项目实践拓扑结构

autostart = False    # 是否所有的设备均自动启动?有true和false两个选项,默认是true。能够被每设备的配置所替代。
# model = 7200     # 设置实验室中的所有路由器的默认型号。目前可以选择的有3620,3640,3660和7200。

[localhost:7200]    # 服务器的主机名或者ip地址,以及所使用的控制端口。如果你不指明的话,默认使用7200。
    # port = 7200     # 老式的设置控制端口的方法,可选,默认为7200。
    console = 2001    # 基本控制端口。新开启的实例如果没有指明控制端口,默认会使用这个值+实例号。默认值为2000。
    workingdir = C:\Program Files\Dynamips\sample_labs\test    # 设置Dynamips所保存所有设备文件的目录。它和运行dynamips的系统的绝对路径有关。
    udp = 10000    # 设置NIO使用的基本UDP端口。
    
    [[7200]]
        image = C:\Program Files\Dynamips\images\c7200-is-mz.123-10d.bin    # 7200路由器的ios文件的绝对路径。
        ram = 128    # 每个路由器实例的虚拟内存数。
        nvram = 128    # NVRAM的大小
        # disk0 = 64       # Set size of PCMCIA ATA disk0
        # disk1 = 64       # Set size of PCMCIA ATA disk1
        # cnfg = None      # Configuration file to import. This is the fully qualified path relative to the system running dynamips.
        confreg = 0x2102
        npe = npe-400    # NPE类型。("npe-100", "npe-150", "npe-175", "npe-200", "npe-225", "npe-300" or "npe-400")
        midplane = vxr    # 可选"std" or "vxr"
        mmap = True    # 设置为false将在为每个路由器产生虚拟内存时使用真实的内存替代磁盘文件。节省内存时是以牺牲性能为代价的。默认选项为True。
    # idlepc = 0x607f1630 # 设置cpu空闲的值
    # exec_area = 64   # Set the exec area size
    # configuration = ... # 基本的64位加密的IOS配置。当前只能在7200下使用。 
    
    [[3620]]
        image = C:\Program Files\Dynamips\images\c3620-is-mz.122-16.bin    # 3620的ios的完全路径。
        ram = 64    # 每个路由器的实例的虚拟内存数。
        rom = 4    # ROM的大小
        nvram = 128    # NVRAM的大小
        # disk0 = 64       # Set size of PCMCIA ATA disk0
        # disk1 = 64       # Set size of PCMCIA ATA disk1
        # iomem = 5        # 路由器内存中分配给iomem的百分比。仅仅应用于3600系列的路由器。
        # cnfg = None      # Configuration file to import. This is the fully qualified path relative to the system running dynamips.
        confreg = 0x2102    # Set the configuration register
        mmap = True    # 设置为false将在为每个路由器产生虚拟内存时使用真实的内存替代磁盘文件。节省内存时是以牺牲性能为代价的。默认选项为True。
    # idlepc = 0x60719b98 # Set the Idle PC value
    # exec_area = 64   # Set the exec area size
    
    [[3640]]
        image = C:\Program Files\Dynamips\images\c3640-jk9o3s-mz.123-10.bin    # 3640的ios的完全路径。
        ram = 96    # 每个路由器的实例的虚拟内存数。
        rom = 4    # ROM的大小
        nvram = 128    # NVRAM的大小
        # disk0 = 64       # Set size of PCMCIA ATA disk0
        # disk1 = 64       # Set size of PCMCIA ATA disk1
        # iomem = 5        # 路由器内存中分配给iomem的百分比。仅仅应用于3600系列的路由器。
        # cnfg = None      # Configuration file to import. This is the fully qualified path relative to the system running dynamips.
        confreg = 0x2102    # Set the configuration register
        mmap = True    # 设置为false将在为每个路由器产生虚拟内存时使用真实的内存替代磁盘文件。节省内存时是以牺牲性能为代价的。默认选项为True。
    # idlepc = 0x60719b98 # Set the Idle PC value
    # exec_area = 64   # Set the exec area size
    
    [[3660]]
        image = C:\Program Files\Dynamips\images\c3660-is-mz.124-10a.bin    # 3660的ios的完全路径。
        ram = 96    # 每个路由器的实例的虚拟内存数。
        rom = 4    # ROM的大小
        nvram = 128    # NVRAM的大小
        # disk0 = 64       # Set size of PCMCIA ATA disk0
        # disk1 = 64       # Set size of PCMCIA ATA disk1
        # iomem = 5        # 路由器内存中分配给iomem的百分比。仅仅应用于3600系列的路由器。
        # cnfg = None      # Configuration file to import. This is the fully qualified path relative to the system running dynamips.
        confreg = 0x2102    # Set the configuration register
        mmap = True    # 设置为false将在为每个路由器产生虚拟内存时使用真实的内存替代磁盘文件。节省内存时是以牺牲性能为代价的。默认选项为True。
    # idlepc = 0x60640290    # Set the Idle PC value
    # exec_area = 64   # Set the exec area size
    
    [[Router B1-F2-S1]]
        model = 3660
        slot1 = NM-16ESW
        idlepc = 0x60640eb8
    
    [[Router B1-D-S1]]
        model = 3660
        slot1 = NM-16ESW
        idlepc = 0x60640eb8

    [[Router B1-D-S2]]
        model = 3660
        slot1 = NM-16ESW
        idlepc = 0x60640eb8

    [[Router B1-D-S1-R]]
        model = 3620
        idlepc = 0x60424f48

    [[Router B1-D-S2-R]]
        model = 3620
        idlepc = 0x60424f48

    [[Router C-S1]]
        model = 3660
        slot1 = NM-16ESW
        idlepc = 0x60640eb8

    [[Router C-S2]]
        model = 3660
        slot1 = NM-16ESW
        idlepc = 0x60640eb8

    [[Router B2-F2-S1]]
        model = 3660
        slot1 = NM-16ESW
        idlepc = 0x60640eb8
    
    [[Router B2-D-S1]]
        model = 3660
        slot1 = NM-16ESW
        idlepc = 0x60640eb8

    [[Router B2-D-S2]]
        model = 3660
        slot1 = NM-16ESW
        idlepc = 0x60640eb8

    [[Router B2-D-S1-R]]
        model = 3620
        idlepc = 0x60424f48

    [[Router B2-D-S2-R]]
        model = 3620
        idlepc = 0x60424f48

    #[[Router r1]]
        #model = 3660
        #slot1 = NM-16ESW
        #idlepc = 0x60640eb8

    #[[Router r2]]
        #model = 7200
        #idlepc = 0x607f1630
    
    #[[Router r3]]
        #model = 3640
        #idlepc = 0x604593cc
    
    #[[Router r4]]
        #model = 3620
        #idlepc = 0x60424f48

#后面的为说明文字,不影响该文件

下面我们来新建个拓扑图,在sample_labs文件夹中新建一个txt文本然后把扩展名改为.net
用写字板打开.net文件,写入:

# switching

autostart = no    # 是否所有的设备均自动启动?有true和false两个选项,默认是true。能够被每设备的配置所替代。
# model = 7200     # 设置实验室中的所有路由器的默认型号。目前可以选择的有3620,3640,3660和7200。

[localhost]    # 服务器的主机名或者ip地址,以及所使用的控制端口。如果你不指明的话,默认使用7200。
    
    [[3660]]
        image = C:\Program Files\Dynamips\images\c3660-is-mz.124-10a.bin    # 3660的ios的完全路径(3660有交换模块,此s1和s2为交换机)。
        ram = 96    # 每个路由器的实例的虚拟内存数。

    [[router s1]]
        model = 3660
        slot1 = NM-16ESW
        idlepc = 0x60640eb8
        f1/1 = s2 f1/1
    
    [[router s2]]
        model = 3660
        slot1 = NM-16ESW
        idlepc = 0x60640eb8

这里有2台交换机,交换机s1的f1/1端口接在s2的f1/1上面,如果还需要更多交换机,可以直接在后面加。

配置完成后,保存关闭,运行桌面上的dynamips Server,然后再运行你所配置的.net文件。ok了,这时你就可以用list命令查看,telnet登录了。

由于dynamips非常占用内存资源,一台512M内存的电脑最多可以开4台模拟的路有器,因此我们就需要在几台PC上同时运行模拟路由器,并且让他们相互连接,今天小吴老师刚把这个方法交给我们。

拓扑图文件是这样的:(这几台电脑必须在一个局域网内)

# Working with multiple dynamips servers

[192.168.6.50]     #自己的IP地址

       [[3660]]
            image = E:\***.bin     #自己的IOS文件位置
            ram = 96     #模拟路由器的内存大小

       [[ROUTER R1]]
            model = 3660
            s2/0 = R2 s2/0
            idlepc = 0x60640eb8

[192.168.6.58]     #其它PC的IP地址
      workingdir = \***\test     #在192.168.6.58这台PC上新建一个test文件夹,用于存放产生的临时文件

       [[3660]]
            image = E:\***.bin     #192.168.6.58这台PC的IOS文件位置
            ram = 96

       [[ROUTER R2]]
            model = 3660
            idlepc = 0x60640eb8

注意:192.168.6.58这台PC要运行桌面上的dynamips Server,然后再在6.50这台上进行实验。

 

好了~~~让我们开始做实验吧!!!!

阅读(1547) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~