New GNS3 - a step forward or a jump in place?

    GNS3 1.2

    In the early 2000s, the situation with network equipment emulators looked rather disastrous.
    But then came Dynamips and Dynagen (the console front-end to Dynamips), which provided the ability to emulate some Cisco IOS routers.
    For the first time Dynamips was presented to the public in the distant 2005th year.
    It was essentially one person’s development.
    The project developed a little, but was abandoned in 2007, the latest version from the original author was with the number 0.2.8-RC2.
    At the same time, management was far from convenient: in text configuration files, it was necessary to describe the entire topology manually.
    And then, in 2007, Jeremy Grossman started developing GNS3 as his graduation project while studying at the university.
    Over time, GNS3 became the most recognizable and popular solution for emulating network equipment, primarily for those who were preparing to pass certification exams.
    And now, in 2014, the evolutionary (from the point of view of developers) version of GNS3 1.0 is released.

    But before we start a thorough study of the new version, let's go back for a short time last year, at the moment when the new GNS3 development milestone started.

    How it all began

    After the total GNS3 download figure reached 10 million, the GNS3 founders decided to launch a fundraising campaign for the further development of the project.

    More than 13,000 people took part in financing GNS3 and as a result, $ 550,000 was raised.
    The initial goal ($ 35,000) was reached in just 3.5 hours!
    This, of course, shows the enormous interest in the project among users, engineers, and everyone interested in emulating network equipment.
    After successful financing, the development of a new version immediately began.
    And then the first alpha version was introduced in April 2014.
    After a series of alpha versions, the first beta version of GNS3 was released in mid-July.
    The initial release of the release (version 1.0) was scheduled for December 2014, but it took place earlier - at the end of October.
    Then versions 1.1 and 1.2 were quickly released (the latter was released very recently, in November).
    And if version 1.1 was a work on bugs and basically made corrections, then version 1.2 contained a lot of new inside.
    In this version, support for VirtualBox has changed (for the better), the converter from a separate utility has become part of GNS3 (which now allows opening GNS3 projects of previous versions).
    And the most striking change is the completely redrawn graphical interface.

    What have you come to

    According to the founder of the project, the old version of GNS3 was a heap of various patches, modules, and code residues from different developers, so it was decided to start the project from scratch.
    The developers claim that in the process of creating GNS3 1.0 less than 5% of the code of the old version was used!
    The new version was developed with the aim that it will be a framework into which it will be easy to add support for solutions from VMWare, HP, Juniper and other vendors.
    At the same time, it was planned to maintain a user-friendly interface and increase the responsiveness of work, significantly increase program performance.

    GNS3 continues to be a platform for experimentation and testing, for demonstrations and, of course, for the study of network technologies.
    As before, GNS3 is a cross-platform tool and works under Windows, Linux and Mac OS X.

    In order to download the latest version of GNS3, you need to register on the official website ( and create an account on the GNS3 jungle portal.
    Registration is currently free.

    Well, now we turn to the most interesting - to consider all the changes in the latest version of GNS3.

    All innovations GNS3 version 1.2

    First of all, the interface was redrawn, while all the main elements remained in their places and a lot of time did not go to search for virtual pieces of iron.
    Most of the changes occurred in the options, they were rearranged and now look more logical.

    If we consider the changes in essence, then we can distinguish several major changes and a number of small ones.

    The biggest changes have affected switches and switching.
    Three options were announced - you can use a simple “drawn” switch that only knows how to work with vlan at the most basic level, use MLS as a router expansion card (which already allows a little more, for example, there is support for VTP, work with 802.1q and STP ), or use IOU L2 (where the functionality is as wide as possible, although not without exceptions).
    It was the IOU integration that was marked by the biggest innovation in GNS3.

    What came out in the end and whether the developers' promises were fulfilled, we will look a little later.
    In the meantime, let's dwell on the “new” L3 switch, which was named EtherSwitch.

    If you look at the switches tab, then there appeared an “EtherSwitch router” - which is actually a normal 3725 router, just with dialed expansion cards and with a new icon under the MLS switch.
    That is, you no longer need to manually dial the cards, you can add a small switch a little faster, but it turns out that in addition to supporting IOU-L2, nothing more appeared in the direction of switching.

    We will continue to move along the new GNS3 features and now we will focus on the changes that have occurred with the end hosts.
    In the latest version, there are four different ways to add hosts to the topology.

    If you just need an end host so that pings just go, you can use Virtual PC Simulator or VPCS for short.
    Using VPCS is extremely easy, you just need to drag such an object to the main topology, connect it as usual to any device and run it.

    By right-clicking on a VPCS object, as in the case of any other device, it will be possible to select a console connection. As suggested after entering “?”, You can get detailed help on the use and configuration of such a virtual host. Everything is configured quite obviously, for example, setting the IP address and viewing various parameters can be seen in the screenshot below. Returning to the various ways to add end hosts, the second way is to use Qemu or VirtualBox virtualization systems. Both options are pretty well supported in GNS3.

    The third method is simply adding another router, but with routing disabled (no ip routing command in global configuration mode).

    And finally, the fourth way is using your own PC and adding it to the GNS3 virtual network.

    Moving further through the introduced features, it is worth noting two more aspects on which developers are betting - these are the GNS3 Jungle community portal and GNS3 Assist.

    GNS3 Jungle is a resource, somewhat reminiscent of a social network for those who are interested in networks and emulation of various equipment.

    This is a large forum designed to bring together and unite the GNS3 user community.
    There is a rating system and scoring for various actions - for example, for the presence of a particular Cisco or Juniper certification, for contribution to the GNS3 project (testing, bug reporting, participation in a fundraising campaign).
    At the moment, these points and points are only a certain indicator of the involvement of a particular person in the project. In the future, it is planned to buy something in a special store for these same earned points.

    If we consider the GNS3 Assist, then this is a service that provides various support.

    The GNS3 project decided to follow the path of the open source project and provide paid support to everyone who is interested in it.
    These may be enterprise customers, the commercial sector, or ordinary GNS3 users.
    The developers claim that the funds earned in this way will be used to strengthen the GNS3 user community and contribute to the further improvement of the project as a whole.
    Along with support, access is also provided to a special section of the forum containing various ready-made topologies and labs, as well as to the knowledge base for the GNS3 project and for some certification exams.

    On this, the major changes end and now it is worth considering smaller, but still noticeable changes.

    Minor changes to GNS3

    All small changes mainly affected usability and were included in a number of convenient little things.

    For example, it became possible to add several devices of the same type at once.
    To do this, in the process of "drag and drop" you need to hold the shift key pressed.
    Immediately after the release, a window appears where you can select the number of identical devices from the drop-down list, after which they will immediately be placed in the main topology window.
    This is convenient in cases where you need to immediately add, for example, 5-6 routers. Now it can be done in one go.

    Support for text instructions for the lab was added, and files with the name “instructions. *” From the directory of the selected project are automatically opened .
    Also, it is possible to open such a file at any time using the menu “Help” - “Lab instructions” .

    The “console connect to all devices” button has appeared , which allows you to immediately call up a console connection to all active devices with one click.
    If, in this case, not PuTTY is used as the client, but say SecureCRT, then each connection will open in its own tab.

    The new GNS3 now includes the SolarWinds Response Time Viewer .

    This is a separate free utility that accepts saved traffic dumps (in various formats) and performs a series of actions.
    Application response time, network response time, and the amount of data transferred by each application are parsed and analyzed.
    And then all the results are displayed in a visual table.
    The utility will also show which applications and resources (websites and social networks) were detected in the analyzed dump.

    Also, it is worth noting that the new GNS3 uses a different topology file format (now it is .gns3 instead of the old .net files), which is completely incompatible with the previous version of GNS3, which is why all the previously compiled labs will no longer start.
    Fortunately, a solution appeared quickly enough in the form of a separate converter ( ), and in the current version the converter was integrated and now when you try to open a project of the old version, it will be offered Convert.
    It is worth emphasizing that the conversion does not always go smoothly: if you used various objects of the cloud type, you may have to make many corrections manually, after the conversion process has passed.

    This is where all the changes end, and now let's see how the process of interaction with the IOU is built.

    Integrating IOUs into the New GNS3

    Despite the developers announced the full integration of IOU, immediately after installation, nothing of the kind is observed.
    We'll have to work a bit with a file and collect everything ourselves.
    To achieve the goal (the appearance of IOU in GNS3), you need something from virtualization systems (we are recommended to use only VirtualBox, but as we will see, this is not necessary), a virtual machine prepared by the developers and, in fact, the IOU firmware itself.

    Before using IOU, it is worth remembering about strict licensing restrictions.
    Read more about IOU for example here .

    Let's start connecting the IOU, and the first step will be to deploy a virtual machine, the image of which is located at
    Although we strongly recommend using only VirtualBox, you can import this virtual machine into VMWare Workstation too, and the result will be the same .

    The only thing you will need to pay attention to is the type of virtual network interface. It is optimal to use the "host-only" option so that GNS3 can easily access this virtual machine.
    After the virtual machine is deployed in one way or another, you need to use a browser on the main system to click on the link of the form http: //: 8000 / upload.

    A simple web form will appear that allows you to download IOU firmware to the virtual machine (the virtual machine itself does not contain them).

    After adding each firmware, it’s worth copying the full path somewhere, which will look like "/ home / gns3 / GNS3 / images / l2_name | l3_image.bin " .
    This information will come in handy later on.

    On this, all preparatory actions are completed, and you can already proceed to the settings in GNS3 itself.
    To do this, go to the "Edit" menu and select the "Preferences" item .

    In the options, we will be interested in the “GNS3 Server” item , or rather the “Remote Servers” tab, it is here that you need to add the IP address of the newly created virtual machine.

    After that, you need to go down in the options a little lower to the “IOU Devices” section , where after clicking the “New” button you will need to fill in all the fields. Indicate the name of the firmware

    in the “Name” field (it will then be displayed in the assembled projects), the “IOU image” field (the very complete paths to each image that needed to be saved somewhere) and do not forget to select the type of firmware - L2 or L3 .
    Naturally, this will have to be done for each image previously downloaded to the virtual machine.

    And the last: it remains to go to the "IOS on UNIX" options section, where you must specify the path to the IOU license file (this file must be stored locally, on the same host where GNS3 itself is installed).

    This completes the IOU connection process, and along with the classic GNS3 devices, it becomes possible to add IOU L3 or L2 devices from the “Routers” or “Switches” panels , respectively.

    But here, not everything is as good and convenient as it may seem.

    If you try to connect any IOU device and the classic GNS3 router together, an error message will appear
    "Server cannot communicate with server, most likely because your local server host binding is set to a local address."

    Remember that when the IOU was integrated into GNS3, it was necessary to add the IP address of the virtual machine, which, in fact, contains the IOU.

    If, using the "Cloud" object , try to bring the IOU to the local network, for example, another error will occur
    "This device can only be connected to a cloud on the same host."

    As a result, despite the promised integration of IOUs into GNS3, in fact, it is only possible to connect various IOU devices to each other.

    But a way out of this situation was found.
    In the process of adding a “cloud” to the working project, a window appears where a local server or a virtual machine with IOU on board is offered.

    Accordingly, if you select a virtual machine as the server, then in the settings of this “cloud”, you will be able to select the eth0 interface, which in turn will allow you to connect it to any IOU device.

    After which, already through a virtualization system, whether VirtualBox or VMWare, it will be possible to combine various network devices - GNS and IOU.

    What is the result

    The path of developers to version 1.2 took almost 7 years, during which time more than 40 releases were released.
    Whether the result was achieved and whether the new version became evolutionary, time will probably tell, since the development is not finished on this.
    In the near future, full support for VMWare, cloud features and support for solutions from Arista (vEOS) are expected in GNS3.

    A complete picture revealing the further development of the project can be viewed at this address You can

    find various official documentation of the GNS3 project here community / support / documentation

    Naturally, the new GNS3 even with IOU integration does not allow the use of all existing network technologies.
    Most likely, you will not be able to work with EtherСhannel, dynamic arp inspection, DHCP snooping, QinQ and other things.

    In turn, Cisco Systems has long released such emulators as IOS-XE (works in VMWare and KVM), NX-OS (works in VMware ESX / ESXi) and virtual IOS-XR, which was named XRv (it can be launched even in VirtualBox or Qemu).
    There has already been a publication on this topic .
    But recently something really new has come out.

    About VIRL

    Attentive readers, for sure, noticed the VIRL logo at the very beginning of the article.
    Despite the fact that the article was primarily about the GNS3 emulator, it was impossible to bypass the VIRL topic.

    The history of VIRL began when the CiscoLive conference announced the creation of a special platform that will virtualize various Cisco Systems equipment and assemble all kinds of laboratories.
    Then the first details followed.
    It turned out that three different editions of VIRL are planned.
    Personal version - for various research and training, limited to 15 nodes.
    Standalone CML (Cisco Modeling Labs), which in turn will focus on the corporate segment, allowing you to virtualize hundreds, and in the future, thousands of different nodes.
    And finally, the free version of Devnet All-in-one , for those who want to look at the new iOS routers, this is the most limited version, it consists of only three routers.

    And so, on December 1, 2014, the Cisco-anticipated VIRL exit took place.
    It is about a personal solution, for those who study, test and simulate various conditions.
    All details and prices can be found on the official resource

    It should be noted that VIRL is never an IOU.
    VIRL is a new platform for creating and modeling various laboratories.
    IOU, in turn, is an emulator that allows you to run only certain firmware that were developed specifically for it.
    VIRL against this background looks promising and truly progressive.
    But here there were some unpleasant flaws.
    The problem is that at the moment L2 switching is not implemented and so far there is no exact data whether it will be added to the VIRL at all.

    DevNet All-in-One

    And finally, consider the DevNet All-in-One virtual machine .
    Most likely, the free virtual machine from Devnet is the limited version of VIRL with the maximum cut functionality.
    All-in-One is one OVA file that can be downloaded for free from
    Then you will need to import this virtual machine in VMWare or VirtualBox
    After booting, Ubuntu Linux is detected, for login you need to use the cisco login and cisco123 password .

    On the desktop, there are several documentation files as well as the “Start 3 Node” shortcut, which runs the same three routers.

    Immediately after that, three terminals will open, which will provide access to the command line of the routers.

    Of course, you can consider the All-in-One virtual machine exclusively as an early, perhaps even a demo version of VIRL, for example, to familiarize yourself with IOSv version 15.4.

    The three routers that start at the same time are already slightly configured - there is addressing on several interfaces and telnet is configured.

    And finally, what confirms that we are still facing VIRL.

    Well, here you can look at the utility itself, which is used to launch virtual routers.

    Final conclusions

    We looked at the history of the GNS3 emulator and the latest developments from Cisco.
    Of course, not everything appears immediately, but the main thing is that the process of development and evolution of various platforms for emulation does not stand still, and it is quite possible that in the future we will get a single environment where it will be possible to launch and build stands containing the most equipment various vendors.

    Also popular now: