GNS3, Graphical Network Simulator 3, is a free, multi-platfotm network simulator/emulator. I use it very often to test new designs, or rebuild (a part of) a production network to try out new stuff or troubleshoot issues.
There are quite some free or commercial alternatives like Eve-NG, Cisco Packet Tracer, VIRL, and others. I haven’t tried them all, but I’m very happy with GNS3 and haven’t had the time or need to explore the others.
GNS3 is a client/server model. The client can run on Windows, Linux and Mac. The client has a built-in server, but for optimal performance, you can install the GNS3 VM. There are GNS3 VM images available for VirtualBox, VMWare and Hyper-V, but I converted the VMDK to QCOW2 in order to run it on Proxmox, which it does just fine. Just don’t forget to activate nested virtualization on the host.
You can simulate a huge number of devices using GNS3. It has a number of built-in devices, the marketplace contains quite some appliances like Cisco, Juniper, Fortinet, CheckPoint, Palo Alto,… and you can even create your own templates using KVM or Docker images. Depending on the appliance, you will have to take care of the actual image and licenses if applicable.
Some of the features I love
- You can use the console application of your choice: PuTTy, SuperPuTTy, SecureCRT TeraTrm,… or even a custom application.
- The option to keep a project running on the VM, even if you close the client.
- You can have multiple servers (GNS3 VM’s) and even copy projects and images between the GNS3 VM’s.
- Multiple users can connect to the same server at the same time to work together on a project.
- Using a Cloud or NAT device, you can connect your virtual network to your physical network to have network and internet access.
- The ability to import/export configs of supported devices from/to a local directory
- You can even see live traffic on you virtual links using Wireshark!
Apart from the fact that the link state won’t change according to the interface state – as long as the connected device is booted up, the link state will show green; when shut down, the link state is red – the only limitations I came across, are appliance limitations. As an example, I often use the Extreme VOSS switches, but they don’t have dataplane implemented yet.