GNS3 is a virtual network appliance for simulating software-defined networks. This is a cheap way of setting up a big network testbed to prepare for certifications like the CCIE (Cisco Certified Internetwork Expert).
Download GNS3 from their site (need to register first): https://gns3.com/software
If I understand correctly, you can either run GNS3 on your local machine (standalone), only requiring the GNS3 Mac/Linux installer, or you can run it in tandem with a virtual machine to simplify and standardize the interface, in which case, you need to also have a VMWare/VirtualBox image.
Detailed instructions here. Basically you need to download your OS's installer, and then download the virtual network appliance.
The version numbers of the files should match; for example:
linux networkingall the pages for linux networking
Diagnosing network interfaces: Linux/Network Interfaces
Connecting to nodes with ssh: Linux/SSH
Bridging networks with ssh tunnels: Linux/SSH
Linux file server nfs/smb/sshfs: Linux/File Server
Samba on linux: Linux/Samba
Automounting network shares on linux: Linux/Automount Network Shares
Monitoring system resources: Linux/System Monitoring
Linux systemd: Linux/Systemd
IP Schema (ipcalc): Linux/IP Schema
DHCP Server: Linux/DHCP
DNS Server: Linux/DNS
NTP Server: Linux/NTP
Flags · Template:LinuxNetworkingFlag · e