GNS3 network simulator has become part of the daily work for many network engineers around the world. It became so popular that it even surpassed other network virtualization training solutions. It all started with Dynamips written by Christophe Fillot in 2005. The software was used for emulation of some of the Cisco IOS on desktop computers. Running IOS virtually is a great start and GNS3 (which stands for Graphical Network Simulator) extended its capabilities by creating another layer of functionality, combining running IOS images within network topologies. And that’s what changed everything for the many who love to spend hours running network labs.
GNS3 network simulator is an open source project and runs on Linux, Mac or Windows machines, but the installation procedure could be different. Primarily the best host OS is meant to be Linux and that’s also where you should get the best performance of it according to GNS3 creators. The very big step forward happened in 2014 when GNS3 asked for support from its community obtaining a crowdfunding record. Proudly, as an early contributor, my name has been added to the ‘thanks to’ list coded in the new GNS3 Jungle release.
GNS3 for CCNA lab
Whether you want to be a network administrator or network engineer, you’ll probably think about getting CCNA certification. When it gets to CCNA, you can get your hands on Packet Tracer, which is sufficient for completing the CCNA course. It’s easy to install and easy to operate. You can start a HTTP server or voice solution in few minutes but it’s only a limited IOS what you are playing with: some of the commands are limited, some are missing, but still it’s enough for all basics.
On the other hand, GNS3 for CCNA delivers a huge advantage for the student. The best thing is always purchasing real equipment, but not everyone can afford the expense and the space required to store the kits at home. GNS3 runs real IOS, without emulation or unexpected behaviour. GSN3 is the perfect solution to have hundreds of topologies at hand, without the burden of real equipment installed somewhere.
GNS3 network simulator
GNS3 works perfectly as a router simulator. When you fire your GNS3 software (which you can get for free here) you need to load at least one IOS image: those are not included in the GNS3 package since they are licensed by Cisco Systems and cannot be freely distributed.
After adding an IOS (in my case it’s a Cisco c3600) everything is ready to go. Here is a very simple topology to test basic functionality with GNS3 as router simulator.
There are 3 main routers connected to a switch. They all use the same IOS that we added before in GNS3 preferences. The Ethernet switch used is a part of Dynagen package, which provides a simple switch component with very basic functionalities. It can be configured via GNS3, and there’s no command line interface needed.
Once the topology is up and running, we can get into router’s command line interface just clicking on the devices of the topology.
GNS3 also includes a Virtual PC functionality. If you just need a very basic Linux box, this the thing you want. Let’s see how it looks and what sort of commands we can use. I just dragged and dropped new vPC and connected to our switch.
As you can see there’s just a basic command set, but more than enough for basic testing:
GNS3 router configuration
Let’s put some configuration in place, so we can test that it all work together. As a simple CCNA lab in GNS3, let’s make sure that we can reach all routers from one place. The config can look like this:
R1#show run interface Ethernet 0/1 interface Ethernet0/1 ip address 10.0.0.1 255.255.255.0 full-duplex end R2#show run interface Ethernet 0/2 interface Ethernet0/2 ip address 10.0.0.2 255.255.255.0 full-duplex end R3#show run inter eth 0/3 interface Ethernet0/3 ip address 10.0.0.3 255.255.255.0 full-duplex end
To add an IP to our Virtual PC is also very simple:
PC1> ip 10.0.0.4/24 Checking for duplicate address... PC1 : 10.0.0.4 255.255.255.0
Now let’s test if we can reach all routers from our VPC1 using the Ping tool:
PC1> ping 10.0.0.1 84 bytes from 10.0.0.1 icmp_seq=1 ttl=255 time=15.600 ms 84 bytes from 10.0.0.1 icmp_seq=2 ttl=255 time=15.600 ms PC1> ping 10.0.0.2 84 bytes from 10.0.0.2 icmp_seq=1 ttl=255 time=0.000 ms PC1> ping 10.0.0.3 84 bytes from 10.0.0.3 icmp_seq=1 ttl=255 time=15.600 ms
As you can see GNS3 network simulator is a great tool to have when starting your study in networking. It can simulate various degrees of complexity for networks, including simple switches, routers and virtual PC.