What’s new in GNS3 version 2.0

 

Version 2.0 is a new major release of GNS3 which brings major architectural changes and also  new features.

 

GNS3 was only a desktop application from the first version up to version 0.8.3. With the more recent 1.x versions, GNS3 has the possibility to use remote servers. Now, in version 2.0, multiple clients could control GNS3 at the same time, also all the “application intelligence” has been moved to the GNS3 server.

 

What does it mean?

 

  • Third parties can make applications controlling GNS3.
  • Multiple users can be connected to the same project and see each other modifications in real time.
  • No need to duplicate your settings on different computers if they connect to the same central server.
  • Easier to contribute to GNS3, the separation between the graphical user interface and the server/backend is a lot clearer.


All the complexity of connecting multiple emulators has been abstracted in what we call the controller (part of GNS3 server). From a user point of view, it means that it is possible to start a packet capture on any link, connect anything to a cloud etc.
Finally, by using the NAT object in GNS3, connections to Internet work out of the box. Please note this is only available with the GNS3 VM or a Linux OS with libvirt installed.

Before upgrading

No rollback is possible. Backup all your projects, settings and snapshot the GNS3 VM. Version 2.0 is in alpha stage which means many things could be broken or not work as expected.

F.A.Q

  • When can I expect the final release of version 2.0?
    • Around the end of 2016 or early 2017. We will ship many beta and release candidate version before that date. We want to make sure this version is well tested with no unexpected regressions.
  • Will a new 1.5.x version be released?
    • Version 1.5.3 will be released in order to fix remaining bugs found in 1.5. This version will not introduce new features in order to keep it stable.
  • Will my projects made with 1.5.x be compatible with 2.0?
    • Yes excepting unexpected bugs.
  • I have a certification exam next week, should I upgrade?
    • NO! Upgrade only if you are not in the middle of something important. We put huge effort to make sure to test each release but due to the nature of GNS3 we cannot possibly test all the scenarios, environments, images etc. 
  • What is not included with 2.0?
    • No web app is provided with version 2.0. We have experimental application on Github but it is only to validate our architecture.

    • Appliances management is still fully in the GUI, we hope to move it to our back-end and expose that part to third parties.

 

 

New features

 

Save as you go

Your projects are automatically saved as you make changes to them, there is no need to press any save button anymore. An additional benefit is this will avoid synchronisation issues between the emulators’ virtual disks and projects.

Smart packet capture


Now starting a packet capture is just as easy as clicking on a link and asking for new capture. GNS3 will guess the pick the best interface where to capture from.
The packet capture dialog has also been redesigned to allow changing the name of the output file or to prevent automatically starting Wireshark:
Capture d’écran 2016-04-27 à 11.04.18.png

Capture on any link between any node

Their is no longer any restriction on what kind of node can be used for a packet capture. Previously VPCS and Qemu were not supported.

Select where to run a VPCS node

Like for hubs and switches, it is possible to select which server to use when VPCS node is dropped into a project .

 

Delete a project from the GUI

Now you can delete a project from the file menu. All files will be deleted from your hard drive and remote servers.

Capture d’écran 2016-05-26 à 11.22.50.png
Or via the project dialog

Project options

There are now multiple options allowing you to load a project with GNS3 in background and even to auto start the nodes.

The cloud is a real node


I
n previous versions of GNS3, the cloud was in fact a direct usage of the emulator capabilities to connect to external networks. In version 2.0, the cloud is a real node, this means:

  • Possibility to connect anything to any cloud
  • All links to a cloud support packet capture
  • There is no need to run emulators as root to connect to a cloud (only uBridge requires admin permission).

 

Cloud templates

You can create cloud templates with your favorite interfaces and symbols.

 

New cloud interface

The cloud interface is simpler with a unique select dialog for ethernet interfaces. We also merged host object into the cloud since the difference between the 2 objects was not clear for most users.

VPCS / Ethernet Switch / Ethernet Hub templates

You can create template for these nodes just like other nodes.

 

Search OS images in multiple locations

OS images can be stored in selected folder and used without providing the full path. GNS3 will scan these folders in order to find the correct images.

VM wizards offer a list of images available locally or remotely. GNS3 will upload an image for you if it can only be found locally.

Periodic extraction of startup configs for Dynamips and IOU

Startup configs are extracted at regular interval to avoid configuration loss if Dynamips or IOU crashes.

 

Custom cloud, Ethernet hub and Ethernet switch templates

It is possible to create custom templates (symbol, name format etc.)

 

Snap to grid for all objects

In version 1.5, we introduced the snap to grid feature. Now you can use it for rectangles, ellipses, images etc.

 

Synchronize the node templates when using multiple GUI

Node templates are sync between all the GUIs.

 

Link label style

The style of link labels can be changed just like labels for nodes (color, font, orientation etc.)

 

New place holders in command line for opening consoles

%i will be replaced by the project UUID

When you open a console to a node you can pass %i to the console command line, this will be replaced by the project UUID allowing scripts to interact with your project.

 

%c will be replaced by the connection string

When you open a console to a node you can pass %c to the console command line, this will be replaced by the connection string to the GNS3 server allowing your scripts to know how to connect to the GNS3 API.

 

Export a portable project from multiple remote servers

It is possible to export a project and reimport it to a single GNS3 VM if you a have a project running on multiple remote servers.
Note: You cannot re-import a project to the original multiple remotes or non GNS3 VM server. This a limitation of the export file format.

 

New save as

The old “save as” has been replaced by a project duplication feature. This feature will duplicate not just the .gns3 but also the disk data from all GNS3 servers.
With evolution of emulators, the complexity of the tasks to duplicate was bigger and we could no longer just duplicate the raw data. Behind the scene the import / export system introduced in version 1.5 using .gns3project extension is now used for duplicated projects.

 

Snapshots with remote servers

Snapshots are not supported when using remote servers. Behind the scene the import / export system introduced in version 1.5 is used for snapshots.

 

Better start / stop / suspend all nodes

Start / stop / suspend all nodes feature will limit the amount of process starting at the same time to optimize CPU usage.

Edit config

Dynamips, VPCS and IOU nodes support configuration editing from within GNS3. Note: this feature doesn’t automatically reload the config in the node.

NAT node

NAT node can be used to connect GNS3 nodes to the Internet without any configuration, this requires the GNS3 VM or Linux. This node uses the libvirt nat interface.
This also replaces the Internet VM, the conversion will be automatic for internet VM users. An additional benefit is that this will consume less RAM and CPU.

Support for colorblind users

The stop symbol is now a square in order to help colorblind users to see the differences with running devices.

Support for non local server

In previous version, disabling the local server was not officially supported.
Now if you disable the local server you can put settings for a remote server that will replace your local server.

 

Support for profiles

GNS3 can be started with the parameter --profile PROFILNAME in order to have different settings applied. This can be useful if one needs different settings for different usage of GNS3 (home vs office). Or enable a dialog at startup


Suspend the GNS3VM when closing GNS3

For fastest exit and restart of GNS3 you can now suspend the VM. This works well with an SSD disk. For instance, it takes less than 4 seconds on an old macbook when previously the start time was 30 seconds.

Edit the scene size


The scene size can be changed if your project is bigger than the standard one.

New API

Developers can find out how to control GNS3 using an API here: http://api.gns3.net/en/2.0/
Thanks to our controller, it is no longer required to deal with multiple GNS3 servers since most of the information is available in the API.
All the visual objects are exposed as SVG.
This API is quite complete, the only major missing part at the moment is creation and use of node templates.

Warning

 

Opening a project in version 2.0 will automatically convert it to our 2.0 file format. This means you will no longer be able to open it using previous versions of GNS3. Note this is the normal case with any new major version of GNS3.


Please, backup your projects and settings before upgrading. Also create a snapshot in the GNS3 VM before upgrading it.

Deprecated features

Deprecated features should not impact you, these are rarely used features which are usually not documented.

 

Conversions

Starting with version 2.0, the conversion from .net (project files made before version 1.0) will no longer been included in GNS3 builds. Conversion will still be possible using a separate program. This converter was a community effort but the author of this code stopped any development of it.
The converter to go from a IOU VM to a GNS3 VM will also be removed. We recommend to switch to version 1.4 or 1.5 with the GNS3 VM if you still use the IOU VM.

VPCS multi-host

The VPCS multi-host feature that could be found in the tools menu has been removed. This option was not documented and seldom used by anyone. Also, this feature is hard to support by design in version 2.0 (nodes are isolated from each other).

Temporary projects


Originally it was design has a playground for quick tests however this was confusing and some users would lose data. It was also complex to support because data needed to be moved to a new location on disk when a temporary project was saved to a permanent one.Now GNS3 guarantee that all data is saved in a real project and whatever happens you can be assured it is saved on your disk.

Run as admin


You should not have to run GNS3 as an admin user to connect to a cloud. We encourage you to switch to a normal user.

Cloud


The cloud interface has been streamlined and the following cloud NIOs have been dropped:

  • NIO NAT
  • NIO UNIX
  • NIO VDE
  • NIO NULL

 

We may reintroduce some of them if there is a demand (we must add support into uBridge in order to do so).

Upload the images via the web page / upload

Since version 1.4, OS images are uploaded for you, you no longer need to upload them manually. That’s why the upload page has been removed.

 

No automatic screenshot for projects

In version 1.X, a screenshot of your topology was taken every time a project was saved but due to the fact the project management has been moved to our backend, it is not possible to have the code  render a topology to a file.

 

You can still use the screenshot button in the interface in order to get one.

 

More information can be found there:

https://github.com/GNS3/gns3-server/issues/588