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.
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.
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.
What you know, and what it's called here.
Same primitives, mostly. A few things are actually different — those get their own row.
| Concept | In GNS3 | In Labtris |
|---|---|---|
| Client | GNS3 desktop (Qt) or the v3 web UI | Browser only. Nothing to install on your workstation. |
| Appliance format | `.gns3a` JSON in a public registry | Native import of the whole GNS3 registry — 228 definitions become templates |
| Templates | Fixed per definition; edits require re-authoring the `.gns3a` | JSONB row, every field editable from the palette |
| Console | Local terminal (telnet), or a browser tab via HTML5 console | Serial in xterm.js, VNC/RDP via Guacamole — all in the same browser |
| Impairment | NIO filters at the node interface | First-class link → per-direction netem + tbf |
| Capture | Right-click a link → start Wireshark (local install) | In-browser Wireshark GUI streamed over VNC, or a raw pcap stream to a JS dissector |
| Dynamips | Native — one of GNS3's raison d'être | Roadmap. Today: QEMU + Docker + containerlab (planned) |
| IOU | Supported, iourc-based licensing | Roadmap. Same iourc shape when it lands. |
| Multi-host | Multiple GNS3 servers behind one controller | Register another host, VXLAN builds the tunnel across them |
| Licence | GPL-3.0 | Apache-2.0 |
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.