On a complex networking environments, investing to physical devices before doing a solid planning is almost never a good approach.

Thankfully, there are solutions to this issue. Actually, multiple ones. The keyword for all solutions is virtualization. Why not to simulate and optimize physical network environment as close as you can before investments? And playing with networks, it can be both fun and challenging.

This post covers basic idea of GNS3, an open-source network virtualization solution. In GNS3, simulated networks can, if allowed, access physical networks and vice-versa + you can use real (virtualized) operating systems in addition to router, switch and firewall software.

Table of Contents


What is GNS3?

GNS3 stands for “Graphical Network Simulator-3”. In short, you can plan simple and very complex network topologies with the software, add end-user and network devices of your choice, add connections between your physical and GNS3-virtualized subnets, fine-tune firewalls, simulate faulty cable connections and so on.

You can run virtualized Windows, Linux & MacOS X operating systems, headless Linux servers with real software, simulate real routers & switches. VLANs supported? Sure! Sounds great! Downside is that it is up to your software resources what devices you can add.

For instance, you need real router or switch OS binaries to simulate those routers & switches. GNS3 has built-in stripped-down switch, though.

For most VMs, you need either QEMU or Oracle VM VirtualBox virtualization solution. And quite obvious, you need QEMU/KVM or VirtualBox compatible Windows/Linux/MacOS X virtual machines (vdi/qcow2).

GNS3 supports docker containers, as well.

If you find the concept interesting, why not to find out more! I don't rewrite what is already said in other websites, I direct you to relevant GNS3 websites instead:

Official Website: GNS3 | The software that empowers network professionals

GNS3 Academy: Home | GNS3 Academy

Wikipedia: GNS3

Sample topologies

The following pictures demonstrate sample network topologies in GNS3 I have made.

The first one demonstrates pretty simple Router-On-a-Stick configuration:

post image
Simple Router-On-a-Stick configuration in GNS3.

The second one is advanced example of GNS3 capability. In two months, this model has evolved in terms of features and complexity. It is still evolving and likely to be changed in the future. I am aware it might have drawbacks and flaws, and well…that's why I am working on it!

post image
Sample network topology in GNS3. This topology has bit complex solution for avoiding “single point of failure” situation: more network switches, routers and servers you add, more complex the network is likely to become. In resource-intensive network topologies with multiple simultaneosly opened VMs using multiple interlinked GNS3 instances in different physical computers might become a requirement.

Colored and dotted cables in GNS3? How?

See my GNS3 patches for details.

Update: My link color patches have officially been implemented to GNS3 software. See

for details.