marionnet.org — a virtual network laboratory

Frequently asked questions

The virtual machines

What is the root password on machines and routers?

root. The published images also have an ordinary account, student, whose password is student.

How do I configure a router? Is it Quagga only?

Marionnet’s router is a small GNU/Linux machine running Quagga. Its port 0 starts with the address 192.168.1.254/24, which can be changed in its settings window (“Interfaces” tab), like the addresses of the other ports.

For the rest, two ways:

How do my virtual machines reach the Internet?

By placing an exit device on the drawing, from the “planet” button of the palette: Gateway (no privilege at all), NAT bridge (a private network behind address translation, with DHCP, DNS and, optionally, IPv6) or LAN bridge (the machines appear on the host’s real local network). No more hand-made Ethernet bridge: What’s new in 2026 compares the three.

NAT bridge and LAN bridge need privileges that the machine’s administrator grants once; that is section 7 of the full installation guide.

Graphical applications of the virtual machines do not open

An xterm or a wireshark started in a machine or a router is displayed on the host’s screen, through an interface Marionnet creates for that purpose (a “ghost tap”). If nothing opens, the most common reason is that privilege block (a) is not granted on this machine: see sections 7.2 and 9 of the full installation guide.

How do I share files between the host and the virtual machines?

It is already there. Each machine and each router sees, under /mnt/hostfs, a real host directory: what is written there on one side can be read on the other, with no network. On the host side, that directory lies in Marionnet’s temporary working directory and bears the component’s name:

/tmp/marionnet-<n>.dir/<project>/hostfs/<machine name>/

For instance, to copy myapp into every machine of the current project, on the host:

for d in /tmp/marionnet-*.dir/*/hostfs/*/; do
  cp myapp "$d"
done

then, in each machine, cp /mnt/hostfs/myapp .

Two precautions. This directory is temporary: copy elsewhere what you want to keep before closing the project. And do not touch the files Marionnet puts there: any file whose name starts with marionnet-relay is run when the machine boots, and the boot journals are written there.

With the control channel, the exact path can be asked for: mrnctl -q '.hostfs' rc-get m1.

The software

Does Marionnet exist in my language?

The interface follows the language of your session. It exists in English, and translated into French, German, Greek, Italian, Portuguese (from Portugal and from Brazil), Romanian, Russian, Slovak, Spanish, Esperanto and Turkish. Your language is missing? Translating needs no programming skill; offer it on Launchpad.

Are there .deb and .rpm packages?

Yes, since 2026: a signed apt repository for Debian, Ubuntu and derivatives, a signed dnf / zypper repository for Fedora, the RHEL family and openSUSE, and a precompiled archive for the other distributions. The quick installation guide is copy-and-paste.

Do my old projects still open?

Yes. A .mar project saved by an older version opens; if the kernel or the distribution it names no longer exists, Marionnet replaces it with a published equivalent and says so when opening. To get an old environment back exactly — a guest distribution withdrawn since, for instance — you can still install an old version.

I ran into a problem, what should I do?

Report it on Launchpad: the Contact page says what to write there.