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.
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.
- 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.
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 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.
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
In 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).
You can create cloud templates with your favorite interfaces and symbols.
New cloud interface
VPCS / Ethernet Switch / Ethernet Hub templates
You can create template for these nodes just like other nodes.
Search OS images in multiple locations
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.
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 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.
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.
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 should not impact you, these are rarely used features which are usually not documented.
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.
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).
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.
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: