A brief guide to GNS3

Bishal Chapagain
3 min readFeb 5, 2024

--

GNS3 is an open-source and free network emulation and simulation tool. It enables us to establish, configure, and interact with virtual networks without requiring real-world hardware devices. As GNS3 is free to use and versatile, it is highly used by network engineers and learners like us.

Emulation vs Simulation

These are the ways to build virtual clones of real networking devices.
Emulation refers to an exact virtual clone that supports all the features of a physical device and needs the same hardware and software specifications. For example: If a real device requires 2 GB of RAM, the emulated clone too requires the exact amount of RAM.

Simulation is a virtual clone of only selected features of the actual device. It mayn’t provide the feel of a real-time experience.

In GNS3, if we want emulation, we need to provide IOS image files too but in case of simulation, GNS3 automatically installs the necessary operating system.

GNS3 Architecture

GNS3 works based on a client-server model. The client portion is represented by GNS3-all-in-one software which can be downloaded from the official site. So, the GUI of GNS3 where we can create and test topologies is considered to be a client.

GNS3 server stores and runs all devices that we use in the client part. There are multiple ways of running a GNS server. We can run it locally in our system, use a GNS3 VM, or host it in the cloud.

By default, server will be automatically configured in the local system. If you want to use IOSvL2, IOU, IOSv, IOS-XRv, or ASAv or want to create more complex topologies, then GNS3 VM is recommended way.

Installing GNS3

  1. First of all, download GNS3 from it’s official site and install it following the corresponding OS guide. You don’t need to download GNS3 VM as we are going to use our local machine for server.
  2. After installation, launch GNS3.
  3. Select Run appliances on my local computer in the wizard and click Next.
  4. On the next screen, we can see Server Path, Host binding, and Port. Click Next.
  5. GNS3 client to will connect the GNS3 server on the same IP address and port number.
  6. The Servers Summary pane must show the local server in the running state with a green checkbox.
  7. Now, we can create and test network topologies using GNS3.

Creating our first network topology in GNS3

We will be creating a topology with two PCs and a switch as below :

  1. To use devices in our project, we need to drag them to our working area. You may see various icons in the left-most panel. Click on PC-like icon and drag VPCS into the working area.
  2. Again, drag the next VPCS.
  3. Now, check for the icon in the same panel that contains switch, and drag a switch into the working area.
  4. Connect the devices as shown in above figure. You can use connector-like icon(last icon in my GNS3 version) in the same panel. Click on the icon and then click on PC 1 you dragged before and select port. Now, click on the switch and again select the ethernet port onto which you want to connect.
  5. Now, connect Switch and PC 2 in the same way.
  6. After connecting, start all the nodes. You will be able to see green dots on either side of the link.
  7. Finally, let’s assign IP addresses to PC 1 and PC 2.
  8. Right-click on PC 1 and select console.
  9. To provide IP use the command ip 10.0.0.1/24
  10. Similarly, assign 10.0.0.2/24 to PC 2.
  11. To verify connection between the devices, you can use pingcommand.
  12. Congratulations, we successfully created a simple network using GNS3.

Why GNS3 ?

There are various software such as Cisco Packet Tracer, Cisco VIRL, GNS3, and EVE-NG to practice networking. Cisco Packet Tracer is best for the beginners but it only supports simulation. We have to pay for Cisco VIRL which isn’t possible for learners like us. EVE-NG is more resource intensive and isn’t completely free which make GNS3 a superior.

It’s all for today, Thank You All !

--

--