本节将简单介绍一下网络设备模拟软件GNS3的配置和使用方法。

    (1)GNS3概述:

GNS3是一款具有图形化界面可以运行在多平台(包括Windows, Linux, and MacOS等)的网络虚拟软件。Cisco网络设备管理员或是想要通过CCNA,CCNP,CCIE等Cisco认证考试的相关人士可以通过它来完成相关的实验模拟操作。同时它也可以用于虚拟体验Cisco网际操作系统IOS或者是检验将要在真实的路由器上部署实施的相关配置。简单说来它是dynamips的一个图形前端,相比直接使用dynamips这样的虚拟软件要更容易上手和更具有可操作性。

GNS3整合了如下的软件:

Dynamips:一款可以让用户直接运行Cisco系统(IOS)的模拟器。
Dynagen:是Dynamips的文字显示前端。
Pemu:PIX防火墙设备模拟器。
Winpcap:windows平台下一个免费,公共的网络访问系统。

WinPCAP的作用:

于为win32应用程序提供访问网络底层的能力。
设计优秀的网络拓扑结构
模拟Cisco路由设备和PIX防火墙
仿真简单的Ethernet, ATM和帧中继交换机
能够装载和保存为Dynamips的配置格式,也就是说对于使用dynamips内核的虚拟软件具有较好的兼容性
支持一些文件格式(JPEG, PNG, BMP and XPM)的导出

    (2)软件安装及简单的配置测试:

安装前的准备:(下载地址:http://pan.baidu.com/s/1jHSyZTc)

、GNS3-1.3.-all-in-one
、镜像文件-思科的2691镜像
、VM虚拟机-12.0/11.0
、Linux系统(用来模拟IOU网络设备)
、CRT(用来与gns关联作为配置终端)

安装软件:

1.下载文件并解压后点击exe文件进行安装。

2.要确保计算机上安装了winPCAP。

3.根据提示完成软件的安装

根据镜像文件新建网络设备:

1.打开GNS3,选择Edit菜单下的Preference,选中Dynamips下的IOS Routers:

2.点击New,根据镜像文件(C2691-AD-12415.BIN)新建路由设备:

3.按向导进行,在最后获取Idle值,目的是降低单个网络设备的cpu使用率,使得本计算机可以模拟多个设备:

可能出现的错误:

加载ios 到获取idle-pc 时显示idle-pc could not create iosrouter: coulden`t connect tohypervisor on......无法连接127.0.0.1:8000。

可以检查本机是否正确安装相应版本的WinPCAP和可以选择关闭防火墙。

简单的测试:在GNS3中搭建下列拓扑图,进行主机ping其网关路由器的测试:

双击设备可对其进行配置

PC:(GNS中的VPCS用来模拟PC)

ip 192.168.1.1 255.255.255.0 192.168.1.254

测试结果:

    (3)GNS3模拟交换机:

GNS3模拟路由器时,模拟的路由器与真实路由器是几乎没有差别的,在上面我们已经进行了根据镜像文件模拟路由器的操作。但GNS3的局限性在于其不能很好的通过镜像文件来模拟交换机。这里介绍一种方法来在GNS3中模拟交换机,同时这种方法也可以模拟路由器。

通过IOU利用Linux系统模拟交换机和路由器:

1.安装VM WorkStations,打开已经准备好的Linux系统文件(GNS3 IOU VM.vmx):

2.要确保此虚拟机视通过主机模式实现网络连接:

3.打开VM WorkStation的虚拟网络适配器,将DHCP设置为允许DHCP服务器将192.168.10.0网段的ip地址分配给此主机:

4.打开虚拟机并进行验证:(登录名:root;密码:cisco)

主机能够获得动态ip

真实主机也能够与虚拟机互相访问:

5.用浏览器打开http:192.168.10.128:8000/upload,这时Linux作为一个FTP服务器提供文件,这些文件用于模拟网络设备。

模拟交换机:

同样在Edit菜单下的Preference文件夹下,选择IOS on UNIX子菜单,新建设备:

模拟路由器:

    (4)GNS3与相关软件的关联:

GNS3与WireShark的关联

WireShark是一款适用于GNS3环境下的数据抓包软件,类似于PacketTracer模拟器中的Sniff。Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

关联方法:截取WireShark的安装路径,替换成下图所示值

GNS3与SecureCRT的关联:

SecureCRT是一个显示配置终端,在上面的简单测试中用的是比较简单的Putty,我们改用功能全面的SecureCRT。

在Edit菜单下选择Preference,选择General子菜单,点击选择Console Application选项卡:E:\SecureCRT6

PreConfigured  Commands选择SecureCRT,点击Set,并将字符串中代表的路径值改为下面所示:

使用效果:(SecureCRT软件包自带,WireShark需要下载正确的版本。)

WireShark:

SecureCRT:

    (5)存在的问题及解决方法:

前面虽然利用IOU虚拟出路由器和交换机,但GNS3中的利用镜像文件模拟出的路由器和VPCS主机却无法与其通信:

需要进行下列修改:

在Edit菜单下的Preference子菜单的Server菜单,选择Local选项卡,将127.0.0.1更改为192.168.10.1。(在主机模式下虚拟机的设备与真实物理机的通信拓扑及原理介绍在CentOS系列中有涉及。)

    测试:搭建下列拓扑图,进行各个设备之间的连接和通信测试:

PC1 ping PC2:

文件下载:http://files.cnblogs.com/files/MenAngel/NetBlog9.zip

CCNA网络工程师学习进程(9)GNS3的安装与配置的更多相关文章

  1. CCNA网络工程师学习进程(10)NAT的配置

     NAT(Network Address Translation,网络地址转换)是将IP 数据包头中的IP 地址转换为另一个IP 地址的过程.     (1)NAT简介:     在实际应用中,NAT ...

  2. CCNA网络工程师学习进程(1)网络的基本概述

        在互联网快速发展的今天,了解互联网成为一项必须的技能,因此在学习编程之余学习如何配置网络还是很有必要的. 本系列博客计划分为三个部分,包括思科CCNA.CCNP和华为的网络工程师认证有关的知识 ...

  3. CCNA网络工程师学习进程(6)vlan相关协议的配置与路由器简单配置介绍

        前面已经介绍了大部分与vlan技术相关的交换机的协议的配置,更深层次的还有STP协议和以太网端口聚合技术,接着还会简单介绍一下路由器的基本应用.     (1)STP(Spanning-tre ...

  4. CCNA网络工程师学习进程(5)路由器和交换机的登录安全配置和vlan划分

        本节详细介绍路由器和交换机的登录安全配置以及VLAN划分的原理.     (1)登录安全配置: 路由器登录有两种验证方式:有本地验证方式和远程验证方式.本地登录验证方式可以配置用户名和密码也可 ...

  5. CCNA网络工程师学习进程(7)路由器的路由配置

        前面一节已经介绍了路由器的端口配置,接着我们介绍路由器的路由配置:静态路由.默认路由和浮动路由的配置:动态路由协议的配置,包括RIP.IGRP.EIGRP和OSPF.     (1)路由器的基 ...

  6. CCNA网络工程师学习进程(3)常规网络设计模型与基本的网络协议

        本节介绍分层的网络设计模型与基本的网络协议,包括ARP协议,ICMP协议和IP协议.     (1)三层网络架构: 一个好的园区网设计应该是一个分层的设计.一般分为接入层.汇聚层(分布层).核 ...

  7. CCNA网络工程师学习进程(2)基本的网络设备

      在组网技术中用到的设备有中继器(Repeater).集线器(Hub).网桥(Bridge).交换机(Switch).路由器(Router).分别工作在OSI参考模型中的物理层.数据链路层和网络层. ...

  8. CCNA网络工程师学习进程(8)访问控制列表ACL

    前面几节我们介绍了路由器的路由配置,接下来几节我们将介绍路由器的高级配置应用,包括ACL.NAT.DHCP.PPP.VPN和远程连接等的配置.     (1)ACL概述:   ACL(Access C ...

  9. CCNA网络工程师学习进程(4)网络设备的基本配置和详细介绍

        网络设备(路由器.交换机和防火墙等)与计算机一样需要操作系统.网络设备采用专用的操作系统,统称为IOS(Internetwork Operating System,网络操作系统).     ( ...

随机推荐

  1. js 编码问题

    //字符转换为UTF-8编码 function encutf8(s1) { var stringArray = new Array(); for(var j=0; j<s1.length;j++ ...

  2. Android USER 版本与ENG 版本的差异--MTK官方解释

     分类: Android(4)  Description]Android USER 版本与ENG 版本的差异 [Keyword]USER ENG user eng 用户版本 工程版本 差异 [Solu ...

  3. Bundle display name 与 Bundle name 的区别

    Bundle display name 与 Bundle name 的区别是什么?"Bundle Name" and "Bundle display name" ...

  4. Android学习笔记之ContentProvider

    读取其他应用程序共享的数据 以下示例为读取联系人信息 package com.jiahemeikang.helloandroid; import com.jiahemikang.service.Ech ...

  5. CodeForces 609C Load Balancing

    先算出目标状态,然后拿当前状态与目标状态对比,即可算出答案 #include<cstdio> #include<cmath> #include<cstring> # ...

  6. 计算机学院大学生程序设计竞赛(2015’12) 1001 The Country List

    #include<cstdio> #include<cstring> #include<cmath> #include<string> #include ...

  7. 滚动时div的背景图片随之滚动

    在浏览一些网站时发现有一种效果是当滚动时看到某一DIV的背景也会随之滚动,如下: 当滚动时内容位置保持不变,但是内容后面的背景却在随着滚动.随之我通过审查元素看到了其是通过background-pos ...

  8. 彻底领悟javascript中的this

    this是Javascript语言的一个关键字. 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.比如, function test() { this.x = 1; } 随着函数使用场合 ...

  9. iOS开发——NSArray中的字典排序

    手头上碰到一个项目,需要给数组中的字典中的一个字段排序,想了想,干脆再字典中增加一个字段,用来记录需要排序字段的第一个字符,用它来作为比较的对象,进行排序. - (void)viewDidLoad { ...

  10. spring调用mongodb

    1.环境 Jdk:1.6.0_10-rc2 Spring3.1.2  下载 依赖jar文件: 2.相关配置 ①.spring配置文件 <?xml version="1.0" ...