Skip to main content

A library to implement the UNO virtual network

Project description

uno

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.

Installation

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

curl -sSL https://uno.mentalsmash.org/install | 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.

Documentation

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 details)

Uploaded Source

File details

Details for the file libuno-0.1.0.tar.gz.

File metadata

  • Download URL: libuno-0.1.0.tar.gz
  • Upload date:
  • Size: 138.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.8.5

File hashes

Hashes for libuno-0.1.0.tar.gz
Algorithm Hash digest
SHA256 739feaf5c7223741d02917debb5dd1ac6ef1b7fb234c60024b6198f33f10428e
MD5 4c040ced708364243f3d3df1dd156827
BLAKE2b-256 766d8ca681fa950888026898851bf45ca45efb7f163934d3d413dd4148ddd6bd

See more details on using hashes here.

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