SlackHQ’s Nebula
Description
Nebula is a scalable overlay networking tool with a focus on performance, simplicity and security. It lets you seamlessly connect computers anywhere in the world. Nebula is being developed by Slack.
Packages
OpenWrt repositories contain following packages:
nebula: This is the principal binary package. This package is required for nebula peer or lighthouse operations. Unless you want to start nebula manually, you may want to also install eithernebula-serviceornebula-protopackage.nebula-cert: This package contains onlynebula-certbinary required to generate certificates not not necessary for the nebula peer or lighthouse operations.nebula-proto: This package contains only OpenWrt protocol/interface support for nebula. You will need to create a new interface for nebula node/lighthouse if you want to use this package. Also router’s reboot is necessary for OpenWrt to recognize the new protocol.nebula-service: This package contains only OpenWrt-specific init.d script for nebula. This package starts a node/lighthouse for each.ymlconfig file it finds in/etc/nebula/directory.
Requirements
nebula: The principal package requires (auto-installs) the following package:kmod-tunand its dependencies.nebula-cert: This package has no dependencies/requirements and can be installed stand-alone.nebula-proto: This package requires the following package:nebulaand its dependencies. Reboot is necessary after installation for OpenWrt to recognize the new protocol.nebula-service: This package requires the following package:nebulaand its dependencies.
Unmet dependencies
If you are running a development (trunk/snapshot) build of OpenWrt on your router and your build is outdated (meaning that packages of the same revision/commit hash are no longer available and when you try to satisfy the requirements you get errors), please flash either current OpenWrt release image or current development/snapshot image.
How to install
If you want to run the nebula binary manually, you will need to install just the nebula package and it will auto-install all dependencies (kmod-tun and its dependencies):
opkg update; opkg install nebula;
If you want to manage the certificates, you will need to install just the nebula-cert package:
opkg update; opkg install nebula-cert;
If you want to create a manage a new protocol/interface for the nebula, you will need to install the nebula-proto package and it will auto-install all dependencies (nebula, kmod-tun and its dependencies):
opkg update; opkg install nebula-proto;
If, in addition to the nebula-proto, you also want to install luci/WebUI support for nebula protocol/interface, you will need to install the luci-proto-nebula package and it will auto-install all dependencies (nebula-proto, nebula, kmod-tun and its dependencies):
opkg update; opkg install luci-proto-nebula;
If you want to have nebula as a service on your router (with the init.d script), you will need to install the nebula-service package and it will auto-install all dependencies (nebula, kmod-tun and its dependencies):
opkg update; opkg install nebula-service;
Default Settings
nebula: This package installs just the principal binary and doesn’t have any settings/actions.nebula-cert: This package installs just the nebula certification binary and doesn’t have any settings/actions.nebula-proto: This package allows you to create a new interface with the nebula protocol pointing to the.ymlconfig file. Here’s an example of the/etc/config/networksection:
config interface 'nebula1'
option proto 'nebula'
option config_file '/etc/nebula/config1.yml'
When the nebula interface is brough up, it will automatically open the UDP port referenced in the .yml config file in the router’s firewall.
nebula-service: This package contains andinit.d/service script which scans the/etc/nebula/directory for.ymlconfig files and creates a nebula node/lighthouse for each located.ymlconfig file. When each node/lighthouse is started, it will automatically open the UDP port referenced in the.ymlconfig file in the router’s firewall.
Documentation / Discussion
Please head to OpenWrt Forum for discussions of these packages.