marionnet.org — a virtual network laboratory

Features

The components

The network diagram

The network is drawn automatically (by Graphviz), after every change: students never have to place a component, and most of the time they leave the diagram as it is. A palette, to the right of the diagram, nevertheless lets them tune it, in three groups:

The tuning palette of the diagram: three groups, Nodes, Edges and Labels

The settings are saved with the project.

The network changes while it runs

As on hardware, you can unplug a cable and plug it in elsewhere without switching the machines off, and you can add or remove a component while the rest of the network keeps running. Defects can also be injected on each cable and each port, in each direction: a percentage of frames lost, duplicated or with flipped bits, and a delay between a minimum and a maximum.

The machines

For teachers

Installation

Marionnet installs with the distribution’s package manager, from signed repositories (apt for Debian and Ubuntu, dnf for Fedora and the RHEL family, zypper for openSUSE). On other distributions, a precompiled archive is installed by a script. The two large guest system images, Debian wheezy, the image used by earlier versions, and trixie, the current one (Debian 7 and 13), are then picked from a list with the marionnet-get-images command. Finally, the privileges some components need are granted by the machine’s administrator through a sudoers rule, one block at a time: a basic block, then one for the NAT bridge and one for the LAN bridge.

The interface is available in thirteen languages: the original English and twelve translations. What changed in 2026 is detailed in What’s new in 2026.