Skip to main content

A library to implement the UNO virtual network

Project description


uno is a tool for interconnecting private LANs into a unified virtual network, or UVN, that supports fully routed, site-to-site communications via dynamically managed encrypted links.

The UVN is composed of multiple cells, each one containing one or more private networks, and managed by an agent.

Agents connect to a common registry node, which administers the UVN, and provisions each agent with the latest deployment configuration. This specifies the encrypted links that each agent will establish with other cells in order to form the UVN's routing backbone.

Agents use RTI Connext DDS to exchange information about their local networks and their operational status, over encrypted WireGuard links that connect them to each other, and to the registry node.

Once information about remote sites is available, and the VPN links have been properly configured, the Quagga routing suite is used to implement the OSPF protocol between all nodes, and to enable complete routing paths between all attached networks.

Agents should be run in a dedicated host deployed within each LAN, and configured as the default gateway for other networks in the UVN, in order to allow transparent routing between all hosts.

An agent can also act as a DNS server for hosts in their attached LANs. The server will automatically include entries for the dynamic VPN endpoints in the UVN, in addition to any custom entry added to the UVN's configuration.


The easiest way to install UNO is via the simplified installation script:

curl -sSL | sh

If you have a pre-built wheel file for connextdds-py (e.g. if installing on a Raspberry Pi), place it in the directory where you are running the script, and it will be automatically detected and installed.

If a wheel file is not available, the script will try to clone and build connextdds-py from source. RTI Connext DDS 6.x must be installed on the system, and available via NDDSHOME for this to succeed.

Consult the Installation section of the wiki for more information on each installation step performed by the script.


Visit the wiki for more information about uno.

You might want to start from Hello UVN, which gives an overview of uno's features, and the structure of a UVN.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libuno-0.1.0.tar.gz (138.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page