CentOS6安装Cisco模拟器GNS3
初学cisco网络设备,一定要有网络设备,如果没有网络设备我们可以使用模拟器来做一系列试验。模拟配置网络工程和真实的物理网络设备几乎相差无几。对于,初学者最好使用像GNS3这样,图形化操作,图形化网络拓扑,这样就可以把抽像的网络拜年进行图化结构。GNS3安装在windows平台上,是相当简单的,一直下一步就可以,最后简单配置一下,就可以进行你的网络工程之旅。但如果安装在CentOS这样的操作系统上,是比较麻烦的。
一、安装CentOS6操作系统(要安装桌面,因为GNS是基于图形化的)
二、安装支持软件包
[*]# yum install QT
[*]
[*]# yum install Python
[*]
[*]# yum install Sip
[*]
[*]# yum install PyQt
注意:以上包名的大小写
三、下载GNS3相关的软件包。
[*]# mkdir /data
[*]# cd /data
[*]# wget http://www.ipflow.utc.fr/dynamips/dynamips-0.2.8-RC2-x86.bin
[*]# wget http://sourceforge.net/projects/gns-3/files/GNS3%20VBE/GNS3-0.8.1-src-vbox-2011-07-29.tar.bz2/download
说明:
c3640-jk9o3s-mz.123-10.bin #cisco设备的IOS文件
http://www.ipflow.utc.fr/dynamips/站点有多个版本的dynamips(干什么用的,大家都懂的)
四、相关目录设定
1、建立目录
[*]# mkdir –p /opt/GNS3
[*]# mkdir /opt/GNS3/Cache
[*]# mkdir /opt/GNS3/Dynamips
[*]# mkdir /opt/GNS3/IOS
[*]# mkdir /opt/GNS3/Project
[*]# mkdir /opt/GNS3/tmp
2、目录权限
[*]# chmod o+rw -R /opt/GNS3/Project
[*]
[*]# chmod o+rw -R /opt/GNS3/tmp
[*]
[*]# chmod o+rw -R /opt/GNS3/IOS
3、移动文件到对应目录下
[*]# cp /data/c3640-jk9o3s-mz.123-10.bin /opt/GNS3/IOS/
[*]# cp /data/cisco/dynamips-0.2.8-RC2-x86.bin /opt/GNS3/Dynamips/
[*]# chmod +x /opt/GNS3/Dynamips/dynamips-0.2.8-RC2-x86.bin
五、安装并配置GNS3 0.8.1
1、解压GNS3并移动到对应目录
[*]# tar jxvf GNS3-0.8.1-src-vbox-2011-07-29.tar.bz2
[*]# mv GNS3-0.8.1-src /opt/GNS3/
2、启动gns3
[*]# python /opt/GNS3/GNS3-0.8.1/gns3.pyw
第一次启动,会弹出上图所示的配置向导(分别配置step1与 step2)
3、配置gns3
A:Dynamips项配置(主要配置dynamips文件位置与GNS工作目录,最后别忘了“test”一下,看是否成功)
B:配置IOS
配置IOS,可以从“ edit”菜单项进行选择,也可以从配置向导中的setp2进入到IOS配置。
如上图所示,浏览cisco的IOS文件,分配置内存,最后“Save”
六、使用GNS3 使用中的错误处理
1、添加一台路由测试
这时,会发现丛左边拉一台设备到右边。会出如上图错误。详细信息如下:
[*]Traceback (most recent call last):
[*]
[*]File "/opt/GNS3/GNS3-0.8.1/src/GNS3/Scene.py", line 874, in dropEvent
[*] node = object(renderer_normal, renderer_select)
[*]File "/opt/GNS3/GNS3-0.8.1/src/GNS3/Node/IOSRouter3600.py", line 31, in __init__
[*] IOSRouter.__init__(self, renderer_normal, renderer_select)
[*]File "/opt/GNS3/GNS3-0.8.1/src/GNS3/Node/IOSRouter.py", line 59, in __init__
[*] AbstractNode.__init__(self, renderer_normal, renderer_select)
[*]File "/opt/GNS3/GNS3-0.8.1/src/GNS3/Node/AbstractNode.py", line 62, in __init__
[*] flagsflags = flags | self.ItemSendsGeometryChanges
[*]AttributeError: 'IOSRouter3600' object has no attribute 'ItemSendsGeometryChanges'
2、修改文件
根据错误提示,做如下修改:
[*]# vi /opt/GNS3/GNS3-0.8.1/src/GNS3/Node/AbstractNode.py
[*]# 注解61与62行
[*]60 # necessary to receive itemChange() notifications with Qt >= 4.6 61 # if QtCore.QT_VERSION >= 0x040600:
62 # flags = flags | self.ItemSendsGeometryChanges
63 self.setFlags(flags)
64 self.setAcceptsHoverEvents(True)
再添加设备测试
页:
[1]