1
0
mirror of https://github.com/NLnetLabs/rtrtr.git synced 2024-05-11 05:55:07 +00:00
2020-11-09 14:55:15 +01:00
2020-07-17 12:08:39 +02:00
2020-11-09 14:41:05 +01:00
2020-11-09 14:55:15 +01:00
2020-11-09 14:55:15 +01:00
2020-11-09 14:55:15 +01:00
2020-11-09 14:55:15 +01:00
2019-06-21 11:23:13 +02:00
2020-11-05 12:52:30 +01:00

RTRTR A Versatile Tool for Route Filters

ci

RTRTR is a tool that collects, processes, and distributes data for route filtering. It reads data from various sources, such as validated RPKI data, IRR data, or local rules, allows selecting, filtering, and otherwise manipulating this data, and finally feeds it to routers either via protocols such as RTR or through generated configuration files.

RTRTR is currently in early development. Right now, it can read RPKI data via RTR from multiple servers and provide it, also via RTR, to routers. Over time, we will add more functionality.

Architecture

RTRTR is a very versatile tool. It comes with a number of components for different purposes that can be connected to serve multiple use cases. There are two classes of components: Units take filtering data from somewhere this could be other units or external sources , and produce and constantly update one new set of data. Targets take the data set from one particular unit and serve it to an external party.

Which components RTRTR will use and how they are connected is described in a config file. An example can be found in etc/rtrtr.conf. For the moment, this example file also serves as a manual for the available components and their configuration.

Quick Start

If you have already installed Routinator, this should all be somewhat familiar.

Assuming you have a newly installed Debian or Ubuntu machine, you will need to install the C toolchain and Rust. You can then install RTRTR using Cargo, Rusts build tool, directly from the repository.

apt install rsync build-essential
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
cargo install  --git https://github.com/NLnetLabs/rtrtr.git

If you want to pick up a particular branch, you can do so, too:

cargo install  --git https://github.com/NLnetLabs/rtrtr.git --branch foo

If you have an older version of Rust and RTRTR, you can update using

rustup update
cargo install -f --git https://github.com/NLnetLabs/rtrtr.git

The -f option to cargo install overwrites an already installed RTRTR.

Once RTRTR is installed, you need to create a config file that suits your needs. The example in etc/rtrtr.conf may be a good way to start. The config file to use needs to be passed to RTRTR via the -c option:

rtrtr -c rtrtr.conf
Description
No description provided
Readme 3.1 MiB
Languages
Rust 96.9%
Dockerfile 2.5%
Shell 0.6%