Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Aronet

Auto routed and full mesh overlay network with flexibility based on ipsec, srv6 and babel. Inspired by https://github.com/NickCao/ranet

Requirements

Linux:

  • kernel >= 5.1
  • enable vrf module
  • firewall port: 6696(babel), 12025(default for node connectivity)
  • some cli tools: iproute2, sysctl, nftables
  • enable following sysctl parameters:
    • net.netfilter.nf_hooks_lwtunnel: let packets from srv6 tunnel be processed by netfilter
    • net.ipv6.conf.all.forwarding
    • net.ipv4.ip_forward
    • net.core.devconf_inherit_init_net: optional for network namespace mode, let netns inherit kernel parameters from its parent namespace
    • net.ipv4.tcp_l3mdev_accept: optional for vrf mode, let packets be forwarded from aronet vrf accept tcp traffic
    • net.ipv4.udp_l3mdev_accept: optional for vrf mode, let packets be forwarded from aronet vrf accept udp traffic

Usage

To run aronet, you need two files basically:

example config.json

config.json

config.json contains basic configuration for running aronet, example:

{
 "private_key": "./test/config/moon/private.pem",
 "organization": "example",
 "common_name": "host-01",
 "daemon": {
   "prefixs": [
     "192.168.128.1/24"
   ],
   "use_netns": false,
   "network": "fd66::1/64" # must be a v6 network with prefix less or equal to 64
 },
 # endpoints are some ip:port pairs for establishing tunnels with other nodes in a registry
 "endpoints": [
   {
     "address": "1.1.1.1",
     "port": 12025,
   },
   {
     "address_family": "ip6",
     "address": null,
     "port": 12025,
     "serial_number": 1
   }
 ]
}

After aronet started, it will create a vrf device(or a network namespace if use netns mode) called aronet with address in daemon.network, then other nodes will route the traffic of daemon.prefixs to your node. The endpoints tell other nodes how to connect to your node.

Note that aronet will reserve the {daemon.network}:ffff::/80 range for internal usage. The majority of this range will be used for srv6 actions. And the ipv4 traffic will be routed via ipv6 light weight tunnel(ipv4 nexthop via ipv6).

example registry.json

registry.json

registry.json contains information of nodes in a mesh overlay network. And your nodes will connect to the nodes in registry.json. example:

[
  {
    "public_key": "-- raw pem of public key --",
    "organization": "example",
    "nodes": [
      {
        "common_name": "host-01",
        "endpoints": [
          {
            "address": "2.2.2.2",
            "port": 12345,
          },
          {
            "address": "::1",
            "port": 12345
          }
        ],
        "remarks": {
          "prefixs": [
            "192.168.128.1/24"
          ],
          "network": "fd66::1/64"
        }
      }
    ]
  },
  {
    "public_key": "-- raw pem of public key --",
    "organization": "example2",
    "nodes": [
      {
        "common_name": "host-01",
        "endpoints": [
          {
            "address": "1.1.1.2",
            "port": 12345
          },
          {
            "address": "::1",
            "port": 12345
          }
        ],
        "remarks": {
          "prefixs": [
            "192.168.129.1/24"
          ],
          "network": "fd67::1/64"
        }
      }
    ]
  }
]

The information of nodes is derived from your config.json. As a full example, see configurations under tests.

To launch aronet, firstly launch the daemon:

aronet daemon run -c /path/to/config.json

And then load the registry:

aronet load -r /path/to/registry.json

Explanation

VRF mode

VRF mode

topology of vrf mode

network namespace mode

network namespace mode

topology of vrf mode

Metadata

Release files for aronet 0.1b1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aronet 0.1b1
File Size Uploaded
aronet-0.1b1.tar.gz 175.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aronet 0.1b1
File Interpreter ABI Platform
aronet-0.1b1-py3-none-any.whl Python 3 none any Details

Total release size: 9.7 MB

Release files / aronet-0.1b1.tar.gz

Download URL aronet-0.1b1.tar.gz
Size 175.5 kB
Tags Source
SHA-256 checksum
How to use checksums
819a2541adc2925df49385677d595135fa3fc3a97964a1434f432ae5ee1737f8
BLAKE2b-256 checksum
How to use checksums
251260031fec7a650455dd57eba69b6ffb3e10aa26b6640eedb900db40868f8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 11, 2025.

Transparency log

Release files / aronet-0.1b1-py3-none-any.whl

Download URL aronet-0.1b1-py3-none-any.whl
Size 9.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c217479ad256740aa38efeeff2113d1ea81b00bf1b5f56a7baa89cddacbae924
BLAKE2b-256 checksum
How to use checksums
e6d38c0bc02b1ef73cf6dcaade35249eca5289df3a0e646cf0b6f6bbe12e874c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 11, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1b1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page