GNU/Linux machines
Each machine boots its own Linux kernel on its own file system. Standard tools such as ip, ping and tcpdump are available, as well as graphical programs such as Wireshark or a web browser, and you can run services.
Marionnet is free software that recreates a local TCP/IP network (Ethernet, and soon Wi-Fi) on a GNU/Linux host. Its machines and routers are emulated: each one boots a real system on its own kernel (User Mode Linux). Hubs, switches and cables, on the other hand, are simulated. You wire up the network with the mouse, then administer each machine from the command line, as in a networking lab.
Marionnet is primarily an educational tool: it is meant for teaching and learning computer networks and TCP/IP protocols.
You can model an enterprise network with Marionnet, but that is not its purpose, which is why it does not imitate commercial equipment. Faithfully reproducing a vendor’s equipment (Cisco, Juniper, Huawei…) or a proprietary system (Windows, macOS) would require licences and, in a university setting, would advertise commercial products. Such systems would also need full virtualisation, such as KVM. KVM itself is very fast, thanks to the processor’s hardware support, but it cannot make the systems it runs any lighter: Windows 11, for instance, needs at least 4 GB of memory, whereas a Debian 13 machine in Marionnet gets 192 MB by default. By sticking to lightweight GNU/Linux systems, Marionnet stays fast and frugal.
The demonstration video
Quick installation guide Full installation guide
Debian, Ubuntu, Fedora, Rocky Linux, AlmaLinux and openSUSE Leap 16: through apt, dnf or zypper, or with the installer.
In 2026, Marionnet reaches the real network through a NAT bridge (including IPv6) or a LAN bridge. It can be driven by a script or by an AI, it has an exam mode, it ships with a Linux 6.12 kernel and a Debian 13 image, and it installs from signed repositories.
Each machine boots its own Linux kernel on its own file system. Standard tools such as ip, ping and tcpdump are available, as well as graphical programs such as Wireshark or a web browser, and you can run services.
The palette offers hubs, switches, routers, and straight or crossover cables. As in a physical lab, a cable can be unplugged and plugged in elsewhere while the network runs.
A NAT bridge or a LAN bridge joins the virtual network to the host’s network. Marionnet builds the bridge itself; the host’s administrator allows it once, with a sudoers rule.
You can simulate faults on device ports, such as packet loss. Exam mode records each student’s session, and a lab can later be replayed and graded by a script.
Started with the --control-socket option, Marionnet also accepts commands sent from a terminal with mrnctl, while the mouse keeps working; each one shows up in the window immediately, so a plain script can drive Marionnet. Teachers do not need to know these commands, though: an AI agent can write them for them, guided by the skill that ships with Marionnet (a guide written for the agent), to build a lab, run it, then grade the students’ sessions.
$ marionnet --control-socket /tmp/marionnet.sock & $ mrnctl new /tmp/demo.mar $ mrnctl add machine m1 $ mrnctl add machine m2 $ mrnctl add switch s1 --ports=4 $ mrnctl connect c1 m1:eth0 s1:port1 $ mrnctl connect c2 m2:eth0 s1:port2 $ mrnctl ifconfig-set m1 eth0 ipv4-address 10.0.0.1/24 $ mrnctl ifconfig-set m2 eth0 ipv4-address 10.0.0.2/24 $ mrnctl start-all $ mrnctl exec m1 -- ping -c 3 10.0.0.2
Marionnet was created at LIPN, the computer science laboratory of Université Paris 13 (now Sorbonne Paris Nord), to teach networking at the IUT de Villetaneuse and at the Institut Galilée. Written by Jean-Vincent Loddo and Luca Saiu, it has been used in lab sessions since 2007, first at these two institutes, then at other universities, in France and abroad, from Italy to Brazil and the United States.