Introduction
Imagine having the incredible power to create, experiment, and test SONiC networks without needing physical equipment or worrying about making mistakes π€ This is where GNS3 comes into play β your gateway to the exciting world of virtual networking. In this article, we will take you through the fundamentals of GNS3 using a unique setup: a pre-configured virtual machine with GNS3 all ready to go. This means you can dive right into networking without the hassle of dealing with complex installations ππ
Optimal Hardware Requirements
Ensure that your system meets the following requirements for an optimal GNS3 experience, especially if you plan to work with complex network setups and simulations.
-
Processor: You'll need a powerful processor for the best experience. We recommend an Intel Core i7 or i9 CPU, an AMD Ryzen 7 (R7) or Ryzen 9 (R9) CPU, or any CPU with 8 or more logical cores. Make sure your CPU supports virtualization technologies like AMD-V (RVI Series) or Intel VT-X (EPT).
-
RAM: To run GNS3 smoothly, you should have at least 32 GB of RAM. More RAM can further enhance performance, especially when dealing with complex network simulations.
-
Free Hard Disk Space: GNS3 operates best with a solid-state drive (SSD) that offers at least 80 GB of available space. SSDs provide faster data access and improve overall performance.
-
Graphics Card: While not a top priority for GNS3, a graphics card with dedicated VRAM and support for OpenGL 3.0 or newer is recommended. This helps with graphical rendering and user interface responsiveness.
-
Internet Connection: A fast and stable internet connection is essential if you plan to download additional device images or use cloud-based resources within GNS3.
-
Operating System: GNS3 is compatible with various operating systems. You can run it on Windows 10, macOS 11 or newer, or supported Linux distributions. Ubuntu 20.04 or later is a recommended choice, but it can also work within other virtualization environments.
-
Additional Considerations: Keep in mind that running virtual devices can be demanding on your processor and memory. While meeting the minimum requirements is essential, a well-configured network device often matters more than having the most powerful hardware.
Step 1: Download the Pre-Built GNS3 Virtual Machine
Before we dive into setting up GNS3, let's start by downloading the GNS3 Virtual Machine (VM). This VM comes pre-configured with GNS3, making the setup process much smoother.
You have two download options for the GNS3 VM. In this step, we'll explain both choices, so you can pick the one that fits your needs perfectly. Additionally, for our purposes, we need to download the version designed for VMWare ESXi, as it includes an OVA file that we will import in the later steps.
Option 1: Download via GNS3 Website (Recommended)
- Go to https://gns3.com/software/download-vm.
- On the download page, select the VMware ESXi option.
Option 2: Download from GitHub (Alternative)
- Visit the GNS3 release page on GitHub at https://github.com/GNS3/gns3-gui/releases.
- On the release page, you have the option to download the GNS3 application, various versions of the GNS3 VM, and even access the source code.
Step 2: Create a virtual machine with the required parameters
- Launch Proxmox page on your web browser.
- In Proxmox, select Create VM.
- In the dialog box that appears, name the virtual machine and click Next.
-
Select the option "Do not use any media" and go next.
- Change the VM's settings by setting the SCSI Controller to "VirtiO SCSI".
-
Remove the virtual machine disk.
-
Set the number of cores according to the specification and make sure the processor type is set to "host"
-
Set the required amount of RAM and go next.
- Review the settings of the network card and move forward.
- Click Finish to close the summary screen and create the VM.
Step 3: Importing VM disks from an OVA file.
Note
Once the virtual machine is created, it will appear on our home page. However, we can't run it because we don't have imported disks inside the VM. This is a very important step, which you can do in several ways depending on your network configuration.
- On the main Proxmox page, click the Shell tab.
- Upload the GNS3 VM.ova file you downloaded earlier.
- Unzip the GNS3 VM.ova file using "tar -xvf *.ova"
- Import images using the command "qm importdisk 100 GNS3_VM-disk1.vmdk local-lvm -format qcow2" and "qm importdisk 100 GNS3_VM-disk2.vmdk local-lvm -format qcow2"
- After importing the disks, go to the Hardware tab on machine 100 (GNS3) and connect the Unused Disk 0 and Unused Disk 1 disks.
Note
Be sure to connect two drives.
Step 4: Starting the GNS3 VM on Proxmox
- In the Proxmox main window, find the GNS3 virtual machine on the left sidebar. Go to the Options tab then Boot Order and set booting from the imported disk 1.
- You can now initiate the process of starting the GNS3 virtual machine by going to the Console tab and clicking Start Now. A console window will appear showing the progress of the VM startup.
- Once the GNS3 VM is fully booted and ready, you'll see information on how to access the GNS3 graphical user interface (GUI). Typically, this information includes an IP address or hostname that you can use in your web browser. Make a note of this access information, as you'll need it to log in to the GNS3 GUI in the next steps.
- Launch your browser and open the specified IP address. This will take you to the GNS3 interface where you can manage your network simulations.
Congratulations!
Well done! With GNS3 up and running on Proxmox and SONiC at your fingertips, you're fully equipped for thrilling network simulations and valuable learning experiences. Dive into the world of virtual networking with GNS3 and SONiC and enjoy the exciting possibilities ahead! Happy networking! πππ
If you're looking for more GNS3 tutorials and resources, you can explore the following articles:
How to set up GNS3 server on VirtualBox?
How to create a new GNS3 appliance template to work with SONiC using GNS3 Desktop Client?
How to create a new GNS3 appliance template to work with SONiC using GNS3 Web UI?
How to create a new GNS3 appliance template to work with SONiC using Linux shell?