Synology Installation

The NetBird client (agent) allows a peer to join a pre-existing NetBird deployment. If a NetBird deployment is not yet available, there are both managed and self-hosted options available.

Installation Steps

Installing a NetBird Peer on Synology will require a few additional steps compared to a typical Linux install despite using the same single line command to get everything going.

  1. Ensure your user has administrative privileges. Control Panel > User & Group > User > Click User and Edit > User Groups > Ensure “administrators” is checked.
  2. Enable SSH Connectivity. Control Panel > Terminal & SNMP > Terminal > Check the box next to “Enable SSH Service” > Click Apply
  3. Login to your user using SSH. If you’re unsure if your Synology IP address it can be found under Control Panel > Info Center > Network > DNS or using the Synology Find Tool. Open a terminal and run the command to connecting replacing the user and IP address with your own.
ssh user@192.168.0.53
  1. Install with one command.
curl -fsSL https://pkgs.netbird.io/install.sh | sh
  1. Add your Synology NAS as a Peer using the steps from Add peers to your NetBird network in the documentation.

Reboot Script

In some cases on Synology, the NetBird service will not have the correct modules loaded on a reboot. In this case you’ll need to run a script every time you reboot your NAS. To automate this process, you can create a scheduled task in the Synology DSM.

  1. Control Panel > Task Scheduler > Create > Triggered Task > User defined script.
  2. Now you’ll have a Create Task dialog box. Give a task name such as “Netbird Reboot”. Set the User > Root and the Event > Boot-up. Make sure the Enable Box is checked.
  3. Next, click on Task Settings and copy/paste the script in the text field under Run command > User-defined script.
#!/bin/sh

# Create the necessary file structure for /dev/net/tun
if [ ! -c /dev/net/tun ]; then
  if [ ! -d /dev/net ]; then
    mkdir -m 755 /dev/net
  fi
  mknod /dev/net/tun c 10 200
  chmod 0755 /dev/net/tun
fi

# Load the tun module if not already loaded
if !(lsmod | grep -q "^tun\s"); then
  insmod /lib/modules/tun.ko
fi
  1. If you’d like to see the logs for this task, select the task you create and click on Settings. Check the box that says Save output results, select a save location, and click OK. Now, if you select the task and Action > View Result, you’ll see any error logs and status.

Running NetBird with SSO Login

Desktop UI Application

If you installed the Desktop UI client, you can launch it and click on Connect.

It will open your browser, and you will be prompt for email and password. Follow the instructions.

high-level-dia

CLI

Alternatively, you could use command line. Simply run

netbird up

It will open your browser, and you will be prompt for email and password. Follow the instructions.

high-level-dia

Check connection status:

  netbird status

Running NetBird with a Setup Key

In case you are activating a server peer, you can use a setup key as described in the steps below.

This is especially helpful when you are running multiple server instances with infrastructure-as-code tools like ansible and terraform.

  1. Login to the Management Service. You need to have a setup key in hand (see setup keys).
  netbird up --setup-key <SETUP KEY>

Alternatively, if you are hosting your own Management Service provide --management-url property pointing to your Management Service:

  netbird up --setup-key <SETUP KEY> --management-url http://localhost:33073

You could also omit the --setup-key property. In this case, the tool will prompt for the key.

  1. Check connection status:
  netbird status
  1. Check your IP:
  ip addr show wt0

Updating

If you used the one-command script to install, you can follow this to update:

netbird down
curl -fsSLO https://pkgs.netbird.io/install.sh
chmod +x install.sh
./install.sh --update
netbird up