Installation
System Requirements
When choosing a system to run RTRTR on, make sure you have 1GB of available memory and 1GB of disk space.
Binary Packages
Getting started with RTRTR is really easy by installing a binary package for either Debian and Ubuntu or for Red Hat Enterprise Linux (RHEL) and compatible systems such as Rocky Linux. Alternatively, you can run with Docker.
You can also build RTRTR from the source code using Cargo, Rust’s build system and package manager. Cargo lets you to run RTRTR on almost any operating system and CPU architecture. Refer to the Building From Source section to get started.
To install an RTRTR package, you need the 64-bit version of one of these Debian versions:
Debian Bullseye 11
Debian Buster 10
Debian Stretch 9
Packages for the amd64
/x86_64
architecture are available for
all listed versions. In addition, we offer armhf
architecture
packages for Debian/Raspbian Bullseye, and arm64
for Buster.
First update the apt
package index:
sudo apt update
Then install packages to allow apt
to use a repository over HTTPS:
sudo apt install \
ca-certificates \
curl \
gnupg \
lsb-release
Add the GPG key from NLnet Labs:
curl -fsSL https://packages.nlnetlabs.nl/aptkey.asc | sudo gpg --dearmor -o /usr/share/keyrings/nlnetlabs-archive-keyring.gpg
Now, use the following command to set up the main repository:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/nlnetlabs-archive-keyring.gpg] https://packages.nlnetlabs.nl/linux/debian \
$(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/nlnetlabs.list > /dev/null
Update the apt
package index once more:
sudo apt update
You can now install RTRTR with:
sudo apt install rtrtr
Configure RTRTR by editing /etc/rtrtr.conf
and start it with:
sudo systemctl enable --now rtrtr
You can check the status of RTRTR with:
sudo systemctl status rtrtr
You can view the logs with:
sudo journalctl --unit=rtrtr
To install an RTRTR package, you need the 64-bit version of one of these Ubuntu versions:
Ubuntu Jammy 22.04 (LTS)
Ubuntu Focal 20.04 (LTS)
Ubuntu Bionic 18.04 (LTS)
Ubuntu Xenial 16.04 (LTS)
Packages are available for the amd64
/x86_64
architecture only.
First update the apt
package index:
sudo apt update
Then install packages to allow apt
to use a repository over HTTPS:
sudo apt install \
ca-certificates \
curl \
gnupg \
lsb-release
Add the GPG key from NLnet Labs:
curl -fsSL https://packages.nlnetlabs.nl/aptkey.asc | sudo gpg --dearmor -o /usr/share/keyrings/nlnetlabs-archive-keyring.gpg
Now, use the following command to set up the main repository:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/nlnetlabs-archive-keyring.gpg] https://packages.nlnetlabs.nl/linux/ubuntu \
$(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/nlnetlabs.list > /dev/null
Update the apt
package index once more:
sudo apt update
You can now install RTRTR with:
sudo apt install rtrtr
Configure RTRTR by editing /etc/rtrtr.conf
and start it with:
sudo systemctl enable --now rtrtr
You can check the status of RTRTR with:
sudo systemctl status rtrtr
You can view the logs with:
sudo journalctl --unit=rtrtr
To install an RTRTR package, you need Red Hat Enterprise Linux
(RHEL) 7 or 8, or compatible operating system such as Rocky Linux.
Packages are available for the amd64
/x86_64
architecture only.
First create a file named /etc/yum.repos.d/nlnetlabs.repo
, enter
this configuration and save it:
[nlnetlabs]
name=NLnet Labs
baseurl=https://packages.nlnetlabs.nl/linux/centos/$releasever/main/$basearch
enabled=1
Then run the following command to add the public key:
sudo rpm --import https://packages.nlnetlabs.nl/aptkey.asc
You can then install RTRTR by running:
sudo yum install -y rtrtr
Configure RTRTR by editing /etc/rtrtr.conf
and start it with:
sudo systemctl enable --now rtrtr
You can check the status of RTRTR with:
sudo systemctl status rtrtr
You can view the logs with:
sudo journalctl --unit=rtrtr
RTRTR Docker images are built with Alpine Linux for
amd64
/x86_64
architecture.
To run RTRTR with Docker you will first need to create an
rtrtr.conf
file somewhere on your host computer and make that
available to the Docker container when you run it. For example if your
config file is in /etc/rtrtr.conf
on the host computer:
docker run -v /etc/rtrtr.conf:/etc/rtrtr.conf nlnetlabs/rtrtr -c /etc/rtrtr.conf
RTRTR will need network access to fetch and publish data according to the configured units and targets respectively. Explaining Docker networking is beyond the scope of this Quick Start, however below are a couple of examples to get you started.
If you need an RTRTR unit to fetch data from a source port on the host
you will also need to give the Docker container access to the host
network. For example one way to do this is with --net=host
, where
...
represents the rest of the arguments to pass to Docker
and RTRTR:
docker run --net=host ...
If you’re not using --net=host
you will need to tell Docker to
expose the RTRTR target ports, either one by one using -p
, or you
can publish the default ports exposed by the Docker container (and at the
same time remap them to high numbered ports) using -P
:
docker run -p 8080:8080/tcp -p 9001:9001/tcp ...
Or:
docker run -P ...
Updating
To update an existing RTRTR installation, first update the repository using:
sudo apt update
You can use this command to get an overview of the available versions:
sudo apt policy rtrtr
You can upgrade an existing RTRTR installation to the latest version using:
sudo apt --only-upgrade install rtrtr
To update an existing RTRTR installation, first update the repository using:
sudo apt update
You can use this command to get an overview of the available versions:
sudo apt policy rtrtr
You can upgrade an existing RTRTR installation to the latest version using:
sudo apt --only-upgrade install rtrtr
To update an existing RTRTR installation, you can use this command to get an overview of the available versions:
sudo yum --showduplicates list rtrtr
You can update to the latest version using:
sudo yum update -y rtrtr
Upgrading to the latest version of RTRTR can be done with:
docker run -it nlnetlabs/rtrtr:latest
Installing Specific Versions
Before every new release of RTRTR, one or more release candidates are provided for testing through every installation method. You can also install a specific version, if needed.
If you would like to try out release candidates of RTRTR you can add the proposed repository to the existing main repository described earlier.
Assuming you already have followed the steps to install regular releases, run this command to add the additional repository:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/nlnetlabs-archive-keyring.gpg] https://packages.nlnetlabs.nl/linux/debian \
$(lsb_release -cs)-proposed main" | sudo tee /etc/apt/sources.list.d/nlnetlabs-proposed.list > /dev/null
Make sure to update the apt
package index:
sudo apt update
You can now use this command to get an overview of the available versions:
sudo apt policy rtrtr
You can install a specific version using <package name>=<version>
,
e.g.:
sudo apt install rtrtr=0.1.1~rc2-1buster
If you would like to try out release candidates of RTRTR you can add the proposed repository to the existing main repository described earlier.
Assuming you already have followed the steps to install regular releases, run this command to add the additional repository:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/nlnetlabs-archive-keyring.gpg] https://packages.nlnetlabs.nl/linux/ubuntu \
$(lsb_release -cs)-proposed main" | sudo tee /etc/apt/sources.list.d/nlnetlabs-proposed.list > /dev/null
Make sure to update the apt
package index:
sudo apt update
You can now use this command to get an overview of the available versions:
sudo apt policy rtrtr
You can install a specific version using <package name>=<version>
,
e.g.:
sudo apt install rtrtr=0.1.1~rc2-1bionic
To install release candidates of RTRTR, create an additional repo
file named /etc/yum.repos.d/nlnetlabs-testing.repo
, enter this
configuration and save it:
[nlnetlabs-testing]
name=NLnet Labs Testing
baseurl=https://packages.nlnetlabs.nl/linux/centos/$releasever/proposed/$basearch
enabled=1
You can use this command to get an overview of the available versions:
sudo yum --showduplicates list rtrtr
You can install a specific version using
<package name>-<version info>
, e.g.:
sudo yum install -y rtrtr-0.1.1
All release versions of RTRTR, as well as release candidates and builds based on the latest main branch are available on Docker Hub.
For example, installing RTRTR 0.1.1 is as simple as:
docker run -it nlnetlabs/rtrtr:v0.1.1