GNS3是基于Dynamips的图形管理器,相对于Dynagen来说,新手可以省去学习和撰写net文件的繁琐过程,把精力更好的放到实验分析中去。
GNS3本身也是一个Dynagen的特殊实现,其依托于net文件。
由于最近出了新版本,增加了很多新功能,所以拿来一试,当前最新版本是3.0.5beta。
对于这个版本的功能,感觉还是扩展了不少实用特性,在此不一一例举,这里主要讲下发现的一个bug。
GNS3对于模拟设备的配置保存有以下几种方式:
1、在新建拓扑的时候选择“保存配置选项”;
2、在拓扑建设完成后实验过程中点击上方按钮“导出所有startup_configs“
3、每个设备右键有个startup_config选项,可以配置路径;
4、在控制台中直接键入:export /all……
5、左上方按钮“保存net”也会做输出配置的操作,但是前提是新建拓扑的时候选择了“保存配置选项”
6.在菜单栏里有相关按钮,很好找的,大概是第二排第10个按钮,一个向上的箭头,弯弯的,把鼠标移过去,会显示Extract/ Import all startup-config,点一下会出来一个configs对话框,两个选项供选择。一个是保存配置文件(extracting to a directory),一个是加载之前保存的配置文件(importing form a directory)extracting to a directory,然后找好存放目录,再下次使用时候,在设备加电前选择“importing form a directory”,找到你保存配置的目录,就加载到nvram里面了,就是gns3上面×××方向标那个按钮(有个向上的箭头)。

    我们来看看几种方式的逻辑关系。不过,首先是需要对路由进行了一些配置,并且启动了路由器,否则保存时会提示出错.

 

 

 

 

 

1、在新建拓扑的时候选择保存配置,net文件中将出现
[GNS3-DATA]
     configdir = XXXXX
配置完拓扑后,启动设备,完成实验,然后点击“保存net”,此时不但拓扑被保存,所有的startup也被输出到指定目录。
同时net文件内所有设备增加cnfg=XXXXX一行。

2、“保存net”按钮影响到右键startup_config选项,即点击保存后输出的路径会和右键选项内的路径挂钩。

3、控制台export和上方按钮“解压所有startup_configs”都会影响右键选项。

 

 

 

 

 

 

 

 

4、控制台export和上方按钮“解压所有startup_configs”还会影响net文件,生成cnfg条目。说到这里,复杂的互相影响的关系很让人头疼吧?但是我们的目的很简单,就是再次启动设备要有原先的配置。且可以灵活的导出各种阶段的配置方便实验。

解决方式如下:
删除net文件内configdir = XXXXX一行。或者在新建拓扑的时候不要选择保存配置。
只要此行不存在,无论net文件内生成何种cnfg条目,都能正确的获得上一次保存的配置。
这样的情况下,每次导出配置,net文件内都会修改cnfg指向新路径,用该配置启动;
手工删除cnfg,用工作目录内的缓存启动配置;并且点击“保存net”将不在输出配置。 

达到了我们的预期的效果。

PS: 对于gns3保存的 .net和.cfg 文件,可以直接使用记事本来打开修改配置。如果有批量的输入,这个办法还是能节省不少时间。