Skip to content

Simulation labs

Simulation labs is where your lab projects live. Each simulation server (GNS3, EVE-NG, Cisco CML or Containerlab) gets its own page, also listed under Simulation labs in the left-hand menu, and each lab project gets a page with its devices, cabling, addressing, configs and notes.

A simulation server is a VM or container that runs a simulator.

  • Click + Add simulation server on the Simulation labs page, or
  • mark an existing workload as one: in VMs & containers, set its Platform and Platform version.
  • Server details: platform, version, host, addresses and resources. Edit server changes them.
  • Capacity vs. active lab demand: the vCPU and RAM the server has, compared with the sum of the devices in its active projects.
  • Projects: every lab on the server, with status, device and VLAN counts and tags. Use Filter projects… to find one.
  • Compatible images: the catalog images marked as supported on this platform. Full catalog opens the NOS image catalog.
  • GNS3 integration (GNS3 servers only): see below.
  1. On the server’s page, click + New project (or Create project if the server has none yet).
  2. Enter the Project name, Status (planning, active, paused or archived), Topology file / lab path, Tags (comma separated) and Description / objectives.
  3. Save, then add devices and VLANs on the project’s tabs.

A project page has five tabs.

  • Project summary, and Fit on simulation server: does this lab’s vCPU and RAM fit on its server?
  • Image bill of materials: which images the lab needs, and how many of each.
  • Validation: problems in this project (duplicate addresses, addresses outside their subnet, incompatible images, RAM).

Duplicate copies the whole project, which is handy for a variant of an existing lab.

  • Virtualized network devices: click + Add device and enter the Hostname, Role (core router, spine, leaf, firewall…), NOS image, optional vCPU override and RAM override (MB), Mgmt IPv4 / Mgmt IPv6 and Notes.
  • Links / cabling: which interface connects to which (filled in automatically when the project comes from GNS3).
  • Images used in this project.
  • Device configurations: one section per device for its running and planned configs (see Fetch running configs and Push configs).
  1. Click + Add VLAN. Enter the VLAN ID, Name, IPv4 subnet and IPv4 gateway / SVI, and/or the IPv6 prefix and IPv6 gateway, plus a Description.
  2. Add an address assignment for each interface in the VLAN: pick the Device, the Interface, and its IPv4 address/prefix and/or IPv6 address/prefix.
  3. Click Next free to fill in the next unused address in the subnet (gateways are skipped).

Addresses are checked against the VLAN’s subnet and for duplicates as you type. The VLAN summary shows how full each subnet is. Every VLAN also appears in the IP address plan.

  • Notes: objectives, build steps, verification commands, known issues. Markdown is kept in exports.
  • Export: the whole project as a Markdown document. Download .md saves it; Print prints it or saves it as PDF.

Supported versions: GNS3 2.2.x and GNS3 3.1.0 or newer (pre-releases such as 3.1.0a5 count). Make sure the server’s Platform version is set correctly; it decides which GNS3 API NetSimLab uses. Only an admin can change the connection.

  1. GNS3 3.1+: in the GNS3 web UI, click ⋮ → API Key → Create and copy the key. GNS3 2.2: nothing to create. If authentication is turned on in gns3_server.conf, use the user and password from its [Server] section.
  2. On the server’s page, in the GNS3 integration card, enter the server URL (e.g. http://192.168.0.50:3080) and paste the API key (3.1+) or username/password (2.2).
  3. Click Test connection. It warns you if the version GNS3 reports doesn’t match the one you documented.
  1. On the server’s page, click Import from GNS3….
  2. Pick a project. Open projects are read live; closed projects are read from their saved .gns3 file.
  3. Review the preview: each node’s image is matched to the catalog, and images not in the catalog yet are listed (they’re added on import).
  4. Click Import project.

GNS3 doesn’t store structured IP data, so add VLANs and addressing on the IP schema by VLAN tab afterwards.

  • ⟳ Re-sync from GNS3 on the project page picks up topology changes. Roles, management IPs, notes and VLANs you documented are kept. Nodes deleted in GNS3 are removed, with their address assignments.
  • Opening Import from GNS3… also removes projects whose GNS3 project you deleted in GNS3. Only labs imported from or built on that server are affected; labs you created by hand are never touched. A snapshot is taken first, so you can undo it from Export & backup. If GNS3 can’t be reached, nothing is removed.

On the Devices & images tab, in Device configurations:

  1. Start the nodes in GNS3.
  2. Click Fetch all running configs, or Fetch on one device (Refresh once it has a config).

NetSimLab runs the right read-only show command for each NOS. On GNS3 3.1+ it uses the GNS3 MCP service; on GNS3 2.2 it connects to each node’s console. Nothing on the device changes. Each config can be copied, downloaded as .txt, or saved all at once with Download all (.txt). You can also Upload a saved config for any device. Configs are kept across re-syncs.

Pushing needs the operator role.

  1. Click Push… on a device. Choose what to send: its planned config, its current running config, a stock configuration (filled in from the device), or your own commands. Edit it if needed.
  2. Pick the method:
    • Direct console (default): NetSimLab connects to the node’s console, waits for it to boot, answers the setup dialog, sends each line, reports any rejected lines and saves the config.
    • GNS3 MCP (GNS3 3.1+ only): sends the commands through GNS3’s own config tool.
  3. Send it.

Push planned configs pushes every device’s planned config in one go, either all at once or as a staged rollout (one switch at a time), and can start stopped nodes just before their push. Progress for each device is shown as it goes.