Demonstration NATting unikernel.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

What Is This?

simple-nat is a MirageOS project that provides a NAT device with storage backed by Irmin. The NAT table is exposed by an Irmin HTTP server and can be manipulated by Irmin's command-line tools, in addition to the automatic updates which are triggered by normal operation of the NAT device.

For more background, see the irmin-arp documentation.


Currently, pinned versions of dolog and bin_prot are necessary to run applications using Irmin as unikernels. Get them here:

opam pin add dolog
opam pin add bin_prot

Additionally, there are some dependencies which are not available in the main OPAM repository. They can be installed as follows:

opam pin add irmin-network-datastores
opam pin add mirage-nat
opam pin add irmin-arp


opam pin add lwt

You'll need mirage itself as well:

opam install mirage


mirage configure --xen # for a virtual machine


For an example configuration and invocation of the NAT device, see multibridge.xl and