1、GNS3簡介php
1.1 GNS3簡介html
GNS3是一款具備圖形化界面能夠運行在多平臺(包括Windows, Linux, and MacOS等)的網絡虛擬軟件。Cisco網絡設備管理員或是想要經過CCNA,CCNP,CCIE等Cisco認證考試的相關人士能夠經過它來完成相關的實驗模擬操做。同時它也能夠用於虛擬體驗Cisco網際操做系統IOS或者是檢驗將要在真實的路由器上部署實施的相關配置。python
Windows平臺下的安裝配置很是簡單,下載一體化的安裝包安裝就能夠了。可是考慮系統的資源和兼容性,linux平臺是最好的選擇,如下的安裝配置基於debian的64位系統和GNS1.3.2版本。linux
1.2 參考資源git
http://www.gns3.com/github
http://7200emu.hacki.at/viewforum.php?f=15vim
2、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就能夠啓動應用了。
3、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.p_w_picpath
點擊「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.bz二、 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 –daemonize
tinycore是一個很小的圖形化的linux系統,並且提供完整的網絡功能,對於硬件的要求也很低,實在是網絡功能模擬測試的必備產品,參考地址:http://www.tinycorelinux.net/。
「qemu-img create」用來建立512M的硬盤文件;「-had tinycore.img」指的是加載以前建立的硬盤文件;「-m 512」表示分配512M內存;「-cdromtinycore-current.iso –boot 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 –b的指令備份,這樣系統就會在啓動是加載備份的啓動文件實現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」啓動,以下圖所示。