Skip to content

RouterKit OS

About

RouterKit OS (RKOS) is an Alpine Linux derivate, optimized for software defined Linux routers and firewalls. RKOS is not affiliated or associated with Alpine Linux.

Project Status

This project is in the early state of development, but pre-release versions should generally work.

  • Self-Contained Images


    Installing and upgrading based on images makes RKOS installations reproducible and allows air-gapped setups.

  • Diskless Mode


    Based on Alpine Linux's diskless mode, RKOS runs from tmpfs. It's low footprint makes it even possible to run a router handling dual stack BGP full table with just 2GB of RAM.

  • Configuration Archive


    Alpine Local Backup is used to save the running configuration in a configuration archive to disk. Next time the router boots it will use the archive to restore the installed packages and their entire configuraiton.

  • Reproducible Runtime


    The startup state is based on the RKOS image and the configuration archive. Using the same image and the configuration archive allows reproducing or migrating the setup to another system easily.

  • Community


    RKOS is an independent community project and maintained by members of the RouterKit Project.

  • Stay Flexible


    RKOS is not an appliance like solution. It is just like a normal Linux distribution where the package selection is focused for software-defined routers and firewalls. Additional software from Alpine Linux can be added by building customized images.

Features and Objectives

RouterKit already provides the following features:

  • coherent selection of network-related packages (see Software)
  • self-contained ISO image for operating IP routers and firewalls
  • runs from tmpfs using Alpine's diskless mode
  • can be deployed in air-gapped environments

Future work will address the following topics:

  • RouterKit specific setup scripts
  • safe remote upgrades based on a dual partition scheme
  • evaluate and support high-performance routing
    • based on XDP
    • in user space (VPP)