Labtris
Migration guide

Migrating from GNS3

GNS3 has been the free entry point to network labs for over a decade. Two things it does really well: an enormous public appliance registry, and Dynamips-based routing for classic IOS you cannot legally run any other way.

Labtris imports the GNS3 registry directly, so every appliance definition (228 of them) becomes a Labtris template without you re-authoring anything. The rest of this page maps concepts and calls out the differences that matter.

What GNS3 got right

Keep using these ideas.

  • The GNS3 appliance registry — the largest public catalogue of `how to run this device` metadata anywhere. Labtris imports it directly.
  • Dynamips for classic Cisco IOS on real 3600/3700/7200 hardware emulation — genuinely irreplaceable for legacy routing.
  • Node kinds beyond QEMU: Dynamips, IOU, VPCS. Broader than most modern platforms.
  • GNS3-in-cloud (via a remote server) works today — client-server architecture is well-worn.
Where the friction came from

The reasons to look elsewhere.

  • GNS3 desktop client is a separate program you have to install and keep up-to-date; not everyone has a Qt-friendly workstation.
  • Console is a shell-out to a local terminal emulator by default — no browser-native VNC/RDP without extra setup.
  • The web interface (GNS3 v3) is a work in progress; feature parity with the desktop lags.
  • Impairment support is via node-level `NIO filters` — awkward per-link, not asymmetric.
  • Multi-host requires GNS3 servers on each machine, plus a controller. No native VXLAN overlay.
Concept map

What you know, and what it's called here.

Same primitives, mostly. A few things are actually different — those get their own row.

ConceptIn GNS3In Labtris
ClientGNS3 desktop (Qt) or the v3 web UIBrowser only. Nothing to install on your workstation.
Appliance format`.gns3a` JSON in a public registryNative import of the whole GNS3 registry — 228 definitions become templates
TemplatesFixed per definition; edits require re-authoring the `.gns3a`JSONB row, every field editable from the palette
ConsoleLocal terminal (telnet), or a browser tab via HTML5 consoleSerial in xterm.js, VNC/RDP via Guacamole — all in the same browser
ImpairmentNIO filters at the node interfaceFirst-class link → per-direction netem + tbf
CaptureRight-click a link → start Wireshark (local install)In-browser Wireshark GUI streamed over VNC, or a raw pcap stream to a JS dissector
DynamipsNative — one of GNS3's raison d'êtreRoadmap. Today: QEMU + Docker + containerlab (planned)
IOUSupported, iourc-based licensingRoadmap. Same iourc shape when it lands.
Multi-hostMultiple GNS3 servers behind one controllerRegister another host, VXLAN builds the tunnel across them
LicenceGPL-3.0Apache-2.0
Bringing your lab across

Importing existing topologies.

The GNS3 registry. git clone https://github.com/GNS3/gns3-registry then POST /api/v1/system/registry/import with the path. Labtris parses every appliance definition and creates a template with the right RAM, NIC model, disk bus, iface scheme, console type, and — importantly — the URL to download the image from. It previews before applying, and tells you how many need a vendor login vs how many are open.

Topology files (.gns3). Not imported today. The shape is JSON but its schema is different enough that a real importer is a small project rather than a one-liner. If you need it, open an issue with one of your projects attached and we will look at it.

Docker images. Every GNS3 Docker template works — same `docker pull <image>` machinery on both sides. No template authoring needed on Labtris; drop the image name in and go.

Try Labtris in five minutes.

Nothing to sign up for, no telemetry, no lock-in — the whole thing is under Apache-2.0 in one GitHub repo.