KB 019765 - How to Add Device Images in PNETLab (Installed on Proxmox)?

KB 019765 - How to Add Device Images in PNETLab (Installed on Proxmox)?

1. Overview

This article provides a comprehensive guide for adding device images (such as Cisco, Huawei, FortiGate, and other network operating systems) to PNETLab. Adding images is essential for creating virtual network labs. There are two primary methods: automated downloading using the built-in ishare2 tool and manual upload for custom or EVE-NG images .


2. Prerequisites

Before proceeding, ensure you have the following:

  • PNETLab Installed:
     A running instance of PNETLab (VMware or VirtualBox). Default credentials are usually root / pnet .
  • Network Connectivity:
     The PNETLab VM must have internet access if using ishare2.
  • SSH Client:
     Software like PuTTY (Windows) or Termius (Mac/Windows) to access the command line .
  • SCP Client (Optional):
    WinSCP (Windows) or Cyberduck (Mac) for manual file uploads .
  • Image Files:
     The actual image files (e.g., .qcow2, .bin, .image) you wish to add, ensuring compliance with vendor licensing agreements .

3. Method 1:  iShare2 (Automated Method)

The ishare2 tool is a command-line utility pre-installed in PNET Lab that allows you to search for and download images from the community repository automatically.

Step 3.1: Access PNET Lab via SSH

  1. Open your SSH client.
  2. Connect to the IP address of your PNET Lab instance.
  3. Log in with your username and password (default: root / pnet) .

Step 3.2: Search for an Image

To find available images, use the search command. You can search for specific types like qemu,iol (IOS on Linux), dynamips, or all.

Syntax:

Info
ishare2 search <type>

Example:

To find Cisco IOSv images, type:

Info
ishare2 search vios

To find Huawei images or specific terminologies:

Info
ishare2 search adventerprise

The system will return a list of images with corresponding ID numbers .


Step 3.3: Download the Image

Once you have identified the image ID or name, use the pull command to download it.

To download a single image by ID:

Info
ishare2 pull qemu <ID>

To download all images of a specific type:

Info
ishare2 pull qemu all

Wait for the download to complete. The files will be placed in the correct directories automatically .

Step 3.4: Auto-Download for Existing Labs

If you have downloaded a lab file (.unl) that requires images you do not have, use the labs command to automatically download all required images for that specific lab.

InfoIdea
ishare2 labs all

This scans your lab files and pulls the necessary dependencies .


4. Method 2: Manual Upload (For Custom Images)

If you have a specific image file (e.g., from EVE-NG, CML, or a custom QEMU image), you must upload it manually to specific directories.

Step 4.1: Locate the Correct Directory

Connect to your PNETLab VM via SCP (WinSCP) or SSH. Images must be placed in specific folders based on their type :

Image Type

Destination Path

QEMU (e.g., Huawei NE40E, FortiGate, vEOS)

/opt/unetlab/addons/qemu/<device-name>/

IOL / IOSv (Binary images)

/opt/unetlab/addons/iol/bin/

Dynamips

/opt/unetlab/addons/dynamips/

Alert
Important for QEMU:
 Create a folder named after the device (e.g., huaweine40e) and place the image fi
le (usually named virtioa.qcow2 or hda.qcow2) inside it .

Step 4.2: Upload the File

Using your SCP client, drag and drop the image file from your local machine to the appropriate directory on the PNETLab server .

Step 4.3: Add Templates and Icons (Optional)

To make the device appear nicely in the Web UI, you may need to add a template and an icon :

  1. Template:
     Upload the .yml template file to /opt/unetlab/html/templates/.
  2. Icon:
     Upload a .png icon file to /opt/unetlab/html/images/icons/.

Step 4.4: Fix Permissions

Alert
This step is mandatory.
 After manually uploading any file, you must run the permission fix script. Without this, the nodes may fail to start .

Execute the following command in the SSH terminal:

Info
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions


5. Verification

After adding images (via either method), verify that the images are available in the PNETLab Web GUI .

  1. Log in to the PNETLab Web Interface.
  2. Create a new lab or open an existing one.
  3. Right-click on the workspace canvas (or click the "Add Node" button).
  4. Check the list of available devices. You should see the newly added image name in the dropdown menu.
  5. If you do not see the device, refresh the browser page or ensure the permissions were fixed correctly.





6. References


  • PNETLab Official Website 
  • iShare2 GitHub Repository 

    • Related Articles

    • KB 471509 - Installing Cumulus VX on Proxmox VE

      This document describes how to deploy NVIDIA Cumulus VX (Cumulus Linux 5.x) on Proxmox VE using the QCOW2 disk image provided by NVIDIA. Cumulus VX allows you to simulate a Cumulus Linux switch using KVM. 1. Requirements Item Details Hypervisor ...
    • KB 159001 - Some Basic Configuration on Proxmox

      Delete VM on Proxmox Go to the server Select the VM which you want to delete Select the more option (Shown in picture) Click on the Remove Provide the VM ID number Click on Remove button, VM will be delete from server Create a Template Go to the ...
    • KB 483001 - Upload ISO file on Proxmox

      How to Upload Operating System ISO file on Proxmox Steps to upload ISO file Go to the web browser and login to proxmox account using credential's Select the server in which ISO should be upload Select the storage location in which ISO should be ...
    • KB 245986 - SSD didn’t detected showing I/O device

      Issue: While installing and configuring the disk the SSD didn’t detected showing I/O device error Cause: SSD was not installed properly. Solution: Advise customer: Installing the SSD using the provided four screws to ensure it is properly secured ( ...
    • KB 187001 - Container on Proxmox

      Upload Container Template on Proxmox Storage Go to the server Select storage in which you want upload template Go to "CT Templates" tab Click on "Templates" button Search for Templates You can search any kind of Linux flavour Select Package and click ...
    • Recent Articles

    • KB-630208 | How to use Find and Locate to search for files in Linux

      Purpose To provide Linux administrators and Field Engineers with guidance on using the find and locate utilities to efficiently search for files and directories within a Linux filesystem based on criteria such as name, type, size, timestamps, ...
    • KB-630164 | How to use rsync to Synchronize Files

      Purpose To provide a clear and practical procedure for using the rsync utility to synchronize files and directories between local systems and remote hosts, including push and pull operations, while preserving file attributes and optimizing data ...
    • KB-630107 | How to create a Linux swap file

      Purpose To provide Field Engineers and Linux administrators with a standardized procedure for creating, configuring, and validating a Linux swap file. This procedure helps ensure sufficient virtual memory is available when physical RAM is exhausted ...
    • MSI All-in-One (AIO) PC – Physical Damage Policy for Warranty Claims

      MSI All-in-One (AIO) PC – Physical Damage Policy for Warranty Claims MSI's standard warranty does not cover physical or accidental damage to an All-in-One (AIO) PC. If the damage is determined to be caused by external factors rather than a ...
    • KB 134833 - Troubleshooting NVSM Alert NV-CPU-XX – Unrecoverable CPU Internal Error

      Purpose This document provides a general troubleshooting procedure for the NVIDIA System Management (NVSM) alert NV-CPU-XX, which indicates that a CPU has reported an internal error. The article outlines how to verify whether the alert represents an ...
    • Popular Articles

    • CP Plus Camera and NVR Configuration

      NVR Configuration The CP Plus Pro Series of NVRs have been meticulously designed for providing you with upgraded performance and higher recording quality in your IP video surveillance solution. The robust processor that has been inculcated in this ...
    • KB 775235 - Kerberos Authentication – Overview

      What is Kerberos? Kerberos is a secure authentication method used in our Active Directory (AD) environment (mbuzztech.com). It allows users to: Access multiple systems without re-entering passwords (Single Sign-On – SSO) Log in once Where We Use It ...
    • How to Remove and Reinstall NVIDIA Drivers on Ubuntu

      This article provides step by step guide to completely remove existing NVIDIA drivers and reinstall specific version of the NVIDIA driver on the Ubuntu system Prerequisites Administrative (sudo) access to the Ubuntu system. Internet access to ...
    • KB 692001 - Personal Computers and Servers - Classification and Point of Contact

      We can classify the computers that MBUZZ handles based on their form-factor as below: Tower Workstations, Desktops, Gaming PCs and SFF (Small form factor) PCs fall under this category. These are computers people would use on a desk and rarely move. ...
    • KB 298031 - M.2 SSD Tier List

      The sequential read and write speeds, which are usually the most advertised number, are not a proper benchmark of real-world performance or the quality of an SSD. This article categorizes and tiers SSDs based on factors like the type of NAND flash, ...