-
Notifications
You must be signed in to change notification settings - Fork 47
enable_rpki
The mini-Internet can run an RPKI infrastructure so that routers can perform route origin validation. While in the actual Internet RPKI uses several root Certificate Authorities (CA) and relies on a hierarchy of CAs with multiple layers (e.g., using delegated RPKI), our mini-Internet uses a rather simple RPKI setup: there is only one root CA and then each AS has its own CA that is a child of the root CA. The CA of an AS runs in a host located in its AS. One AS hosts the root CA. To implement RPKI in the mini-Internet, we use Krill and its test environment, which means that there is a single publication server that runs in the host responsible for the CA.
We now explain how to activate RPKI in the mini-Internet.
In the daemons configuration file used by FRR instances, we need to activate RPKI by adding the -M rpki
option:
bgpd_options=" -A 127.0.0.1 -M rpki"
Note that this is the default configuration.
To activate the CA, we need configure one host within the mini-Internet to be the Krill host.
To do that configure it in the l3_routers.txt
file by setting the value in C3 before the colon to krill
.
For instance, in the default configuration that we provide, the host connected to the router ZURI
in AS1 hosts krill.
❗ For now, the implementation allows only one CA within the mini-Internet. We ensure this by using different l3_routers.txt
,
one for AS1 that includes the CA, and other ones without the CA for the other ASes.
The CA comes preconfigured, there is nothing else do that but updating the l3_routers.txt
configuration file. The publication server will also be automatically created.
RPKI Validators are needed to fetch Route Origin Authorizations (ROAs) from the publication server and verify their signatures.
As the CA, the validators can run in the hosts of the mini-Internet. This is configurable in the l3_routers.txt
configuration file,
using the keyword routinator
for the value in C3 before the colon.
In the default configuration files, there is one validator in each AS. In the transit ASes, they run in the hosts connected to LUGA
.
As for the CA, everything comes preconfigured: the validator listens on port 3323 for new connections with the routers.
👉 We use routinator for the validator, yet there exists several other validators such as OpenBSD rpki-client.
You can configure default ROAs in the config/roas/
directory (which first needs to be created). For every AS for which you want to create default ROAs, create the file gX.txt
in this folder, with X the corresponding AS number. For instance the file for group group 2 (g2.txt
) could look like this:
# This file describes the ROAs that should be issued or removed by the group's CA on startup
R: 2.0.0.0/8 => 2
A: 2.0.0.0/8 => 3
The first line starting with R
means that a ROA for 2.0.0.0/8
and AS2 is automatically removed at startup. The second line starting with A
means that a ROA for 2.0.0.0/8
and AS3 is automatically created at startup.
-
Configure the mini-Internet
-
Operate the mini-Internet
-
Use the mini-Internet
-
Built-in services
-
Additional tools and features