一、GNS3简介
1.1 GNS3简介
GNS3是一款具有图形化界面可以运行在多平台(包括Windows, Linux, and MacOS等)的网络虚拟软件。Cisco网络设备管理员或是想要通过CCNA,CCNP,CCIE等Cisco认证考试的相关人士可以通过它来完成相关的实验模拟操作。同时它也可以用于虚拟体验Cisco网际操作系统IOS或者是检验将要在真实的路由器上部署实施的相关配置。
Windows平台下的安装配置非常简单,下载一体化的安装包安装就可以了。但是考虑系统的资源和兼容性,linux平台是最好的选择,以下的安装配置基于debian的64位系统和GNS1.3.2版本。
1.2 参考资源
http://www.gns3.com/
http://7200emu.hacki.at/viewforum.php?f=15
https://github.com/GNS3
二、GNS3安装及配置
2.1 前期准备
在使用apt-get指令前建议先设定好linux软件源(考虑实际情况,国内推荐使用163或是阿里云的源,具体可以参考http://waringid.blog.51cto.com/65148/904201)。需要注意的是源中的版本保持和实际应用的版本保持一致(同时注意32位和64位版本的区别)。163源的参考链接:http://mirrors.163.com/.help/debian.html
首先配置好接下来要用到的系统编译和编辑工具,如下所示:
sudo apt-get install build-essential cmake curl git vim
2.2 安装python3.4
新版本的GNS3使用的是python3(最好是python3.3以上版本),通过apt-get升级后的python版本是python-3.2。我们可以安装3.4的版本,如下所示。
wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz tar xvf Python-3.4.3.tgz cd Python-3.4.3 ./configure make sudo make install
2.3 安装QT4支持文件
GNS3在linux下的图形显示依赖QT4,以下指令用于安装QT4的支持包,如下所示。
sudo apt-get install qt4-qmake libqt4-dev
2.4 配置Python运行环境
正常情况下系统中存在多个版本的python,如下图所示。为了确保安装GNS3使用的是新版本的python环境,通过以下指令实现。
pyvenv ~/gns3v1-python source~/gns3v1-python/bin/activate
2.5 安装sip包
sip包是python用于调用的扩展库,详情参考:http://www.riverbankcomputing.com/software/sip/intro。
如果SIP没有安装或GNS3无法正确调用,它在启动的时候会提示找不到SIP或是调用SIP失败。
wget http://sourceforge.net/projects/pyqt/files/sip/sip-4.16.7/sip-4.16.7.tar.gz tar xvf sip-4.16.7.tar.gz python configure.py make sudo make install
2.6 安装PyQt4包
wget http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.3/PyQt-x11-gpl-4.11.3.tar.gz tar xvfPyqQt-x11-gpl-4.11.3.tar.gz cd PyQt-x11-gpl-4.11.3/ python configure.py make sudo make install
2.7 安装pip支持包
pip是python下安装扩展包的工具,GNS3需要调用很多的python扩展组件,可以通过以下指令安装。pip要和python的版本对应。
sudo apt-get install python3-pip sudo pip install --upgrade pip-3.2 sudo pip-3.2 install --upgrade pip
2.8 安装GNS3
可以通过下载GNS3源码包的方式编译安装,也可以通过pip指令方式安装,以下内容以pip方式安装。
sudo pip install gns3-server sudo pip install gns3-gui pip freeze
2.9 安装dynamips
Dynamips的原始名称为Cisco 7200 Simulator,源于Christophe Fillot在2005年8月开始的一个项目,其目的是在传统的PC机上模拟(emulate)Cisco的7200路由器。发展到现在,该模拟器已经能够支持Cisco的3600系列(包括3620,3640,3660),3700系列(包括3725,3745)和2600系列(包括2610到2650XM,2691)路由器平台。
git clonegit://github.com/GNS3/dynamips.git sudo apt-get installlibelf-dev uuid-dev libpcap0.8-dev cd dynamips mkdir build cd build cmake ../ sudo make install
2.10 启动gns3
如果所有的组件都已正常安装,接下来在图形界面下的终端输入gns3就可以启动应用了。
三、gns3配置
gns3安装并成功启动后,需要对其进行相应的设置才能确保网络模拟正常使用,首先需要配置的是IOS路由器。
3.1 GNS3基本配置
点击“edit”-“preferences”找到“general”检查相关设置是否正确,可以根据实际系统的配置和自己的喜好设置,例如“console application”中我把telnet的指令设成Gnome terminal,设置好后如图所示。
“edit”-“preferences”找到“server”主要用于设置系统和console绑定的端口。通过设定相应的端口,远程用户可以telnet主机的制定端口进行配置。
3.2 配置IOS路由
gns3通过图形界面调用dynamips来实现对cisco路由器的模拟操作,它可以模拟的设备可以参考dynamips的指令说明。
cisco路由器的映像可以通过各种不同的方式获取,网上有很多这样的下载地址。可以先将下载好的IOS映像解压(这样运行时占用的资源更少),如下所示。
unzip -pc2691-adventerprisek9_sna-mz.124-13b.bin >c2691-adventerprisek9_sna-mz.124-13b.image
点击“edit”-“preferences”找到“dynamips”检查相关设置是否正确,然后选取“IOS routers”找到已解压好的IOS映像,设置好后如图所示。
需要注意的是Idle-PC值的选取,只有配置了合适的idle-pc值,dynamips的运行才正常(CPU的值在20%以内),如果CPU占用过高可以重新获取idle-pc值。
回到gns3界面选择刚配置好的路由器(例如C2691)拖至中间空白区域,然后选中它右击“start”启动,启动后可以选择“console”进入配置模式。
3.3 配置qemu
QEMU是一套由Fabrice Bellard所编写的模拟处理器的自由软件。它与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性。
由于它可以模拟 IA-32 (x86)个人电脑,AMD64个人电脑, MIPS R4000, 升阳的 SPARC sun3 与 PowerPC (PReP 及 Power Macintosh)架构,因此在GNS3下可以用它来模拟PIX或是JunOS的设备。
如果需要qemu支持sparc以及spice先要按照对应的支持组件和工具,否则在编译的时候会提示找不到指定的命令或链接库文件。如下所示:
sudo apt-get installlibncurses5 libncurses5-dev sudo apt-get installlibglib2.0-dev zlib1g-dev wget http://www.spice-space.org/download/releases/spice-0.12.5.tar.bz2 wget http://www.spice-space.org/download/releases/spice-protocol-0.12.7.tar.bz2、 tar xvfspice-protocol-0.12.7.tar.bz2 cd spice-protocol-0.12.7/ ./configure make sudo make install tar xvf spice-0.12.5.tar.bz2 cd spice-0.12.5/ ./configure
安装spice组件的时候如果提示找不到celt组件(编译时)或者在编译完成时提示可能没有libogg组件就需要安装对应的程序。
wget http://downloads.xiph.org/releases/celt/celt-0.5.1.3.tar.gz tar xvf celt-0.5.1.3.tar.gz ./configure make sudo make install sudo apt-get installlibogg-dev libogg python3-pyparsing python-pyparsing libjpeg-dev sudo apt-get installlibsasl2-2 libsasl2-dev libjpeg cd spice-0.12.5/ make sudo make install git clonegit://git.qemu-project.org/qemu.git cd qemu/ ./configure--target-list=i386-softmmu,sparc-sfotmmu,x86_64-softmmu,sparc64-softmmu--enable-spice --enable-kvm make sudo make install
GNS3下qemu的使用基于图形界面,在实际的应用中也可以通过命令行的方式进行设置。
qemu-img create tinycore.img512M qemu-system-x86_64 -hdatinycore.img -m 512 -cdrom tinycore-current.iso -boot d -net nic -netuser,hostfwd=tcp:127.0.0.1:8008-:80 -vnc 127.0.0.1:0 �Cdaemonize
tinycore是一个很小的图形化的linux系统,而且提供完整的网络功能,对于硬件的要求也很低,实在是网络功能模拟测试的必备产品,参考地址:http://www.tinycorelinux.net/。
“qemu-img create”用来创建512M的硬盘文件;“-had tinycore.img”指的是加载之前创建的硬盘文件;“-m 512”表示分配512M内存;“-cdromtinycore-current.iso �Cboot d”说明启动的时候加载光驱文件;后面的意思指的是启用网卡并使用VNC连接。
3.4 配置tinycore
tinycore使用的是linux内核,启动后打开该设备的console如下图所示。初始的用户名是tc,无密码直接回车就可以,如果需要设置系统的网络地址要在指令前加sudo命令。
常用的命令主要是ifconfig和route用来设置该系统的IP地址和网关路由。例如将eth0网卡设成192.168.1.2/24,网关为192.168.1.254。
sudo ifconfig eth0 192.168.1.2netmask 255.255.255.0 sudo route add default gw192.168.1.254
很多初次使用tinycore的用户认为这个系统无法保存IP设置,因为重启后所有的设置都恢复为初始设置。其实tinycore是可以保存相关设置的,方法是将IP地址的设置写入它的启动文件/opt/bootlocal.sh然后通过filetool.sh �Cb的指令备份,这样系统就会在启动是加载备份的启动文件实现IP地址的保存。
3.5 配置vpcs
vpcs主要用来模拟PC的网络操作,它的功能最简单,只有基本的网络指令,没有qemu下的tinycore的功能多。但是vpcs占用的资源更少,启动速度更快。需要注意的是vpcs没法单独启动,一定要将网线连接后才可以进入console界面。http://sourceforge.net/projects/vpcs/
安装也很简单,如下所示:
wget http://downloads.sourceforge.net/project/vpcs/0.6/vpcs-0.6-src.tbz tar xvf vpcs-0.6-src.tbz cd vpcs-0.6/ ./src/mk.sh 64
安装成功后,在gns3的设置界面选取VPCS的选项,找到已经编译好的vpcs执行文件,如下图所示。
vpcs的IP地址设置通过ip指令实现。可以通过show ip的命令来查看当前机器的IP情况。例如将本机的地址设为192.168.1.2可以通过“ip 192.168.1.2 255.255.255.0”的方式实现。
3.6 网络抓包配置
抓包主要作用是查找、定位网络通讯中存在的问题,一般情况下可以是额头tcpdump或是wireshark。tcpdump主要的操作方式通过命令行,wireshark提供图形界面,操作及查看方式更加直观,这里以wireshark为例。
sudo apt-get install wireshark
安装成功后,GNS3的配置如下图所示。
在需要抓包的设备上右键选择“Capture”进行抓包操作,如果设备有多块网卡会提示选择那块,如下图所示。
3.7 配置VirtualBox
VirtualBox是一款开源的虚拟机,在GNS3中可以配置虚拟的PC主机或是导入相关网络实验的虚拟机组件,例如IOU或其他的虚拟机。
wget http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc sudo apt-key addoracle_vbox.asc sudo apt-key list sudo apt-get update sudo apt-get installvirtualbox-4.3 sudo apt-get install dkms sudo /etc/init.d/vboxdrv setup
安装成功后在console状态下(也可以在应用程序中找)输入“virtualbox”启动,如下图所示。
本文的手册下载:http://down.51cto.com/data/2048273