1
mirror of https://git.dn42.dev/wiki/wiki.git synced 2024-11-27 11:23:37 +01:00

Added configuration example for rtrtr RTR server

Added some information on bird2 rpki and pre 2.0.8 limitaions
Added note for mikrotik router os v7
This commit is contained in:
Erik Stomp 2022-05-15 11:59:38 +02:00 committed by Erik Stomp
parent 4a2fc6d41a
commit f947da485f
No known key found for this signature in database
GPG Key ID: 3B42C0D854895662
3 changed files with 77 additions and 0 deletions

View File

@ -4,6 +4,13 @@ This guide is similar to the normal [Bird](/howto/Bird) guide in that it provide
The `extra/bird` package in the arch repositories will usually have a relatively recent version and there is (usually) no need for a manual install over the usual `# pacman -S bird`.
# Bird2 Version <2.0.8 / Debian
Please note, that Bird2 versions before 2.0.8 don't support IPv6 extended nexthops for IPv4 destinations (https://bird.network.cz/pipermail/bird-users/2020-April/014412.html).
Additionally Bird2 before 2.0.8 cannot automatically update filtered bgp routes when an used RPKI source changes.
Debian 11 Bullseye delivers Bird 2.0.7. But you can use the Debian Bullseye backport-repository which provides version 2.0.8 (see https://backports.debian.org/Instructions/ for adding backports repository and install packages from the repository).
# Example configuration
Please note: This example configuration is made for use with IPv4 and IPv6 (Really, there is no excuse not to get started with IPv6 networking! :) )
@ -171,6 +178,50 @@ include "/etc/bird/peers/*";
The example config above relies on ROA configuration files in `/etc/bird/roa_dn42{,_v6}.conf`. These should be automatically downloaded and updated every so often to prevent BGP highjacking, [see the bird1 page](/howto/Bird#route-origin-authorization) for more details and links to the ROA files.
# RPKI / RTR for ROA
To use an RTR server for ROA information, replace this config in your bird2 configuration file:
```
protocol static {
roa4 { table dn42_roa; };
include "/etc/bird/roa_dn42.conf";
};
protocol static {
roa6 { table dn42_roa_v6; };
include "/etc/bird/roa_dn42_v6.conf";
};
```
... with this one (by changing address and port so it points to your RTR server)
```
protocol rpki roa_dn42 {
roa4 { table dn42_roa; };
roa6 { table dn42_roa_v6; };
remote 10.1.3.3;
port 323;
refresh 600;
retry 300;
expire 7200;
}
```
To reflect changes in the ROA table without a manual reload, **ADD** "import table" switch for both channels in your DN42 BGP template:
```
template bgp dnpeers {
ipv4 {
...existing configuration
import table;
};
ipv6 {
...existing configuration
import table;
};
}
```
# Setting up peers
Please note: This section assumes that you've already got a tunnel to your peering partner setup.

View File

@ -50,6 +50,30 @@ You can use these to simply run gortr via docker:
docker run -ti -p 8082:8082 cloudflare/gortr -cache https://dn42.burble.com/roa/dn42_roa_46.json -verify=false -checktime=false -bind :8082
### rtrtr
rtrtr is a RTR server from NLNet Labs. It's compatible with the dn42regsrv ROA-JSON or burbles provided one (https://dn42.burble.com/roa/dn42_roa_46.json) too.
NLNet Labs provides an official docker image. You just have to bind mount a suitable configuration file:
docker run -d -v /etc/rtrtr.conf:/etc/rtrtr.conf -p 323:323/tcp nlnetlabs/rtrtr -c /etc/rtrtr.conf
This is a working configuration file for dn42. Maybe change the listen addresses:
log_level = "debug"
log_target = "stderr"
http-listen = []
[units.dn42-json]
type = "json"
uri = "https://dn42.burble.com/roa/dn42_roa_46.json"
refresh = 600
[targets.dn42-rtr]
type = "rtr"
listen = ["0.0.0.0:323", "[::]:323"]
unit = "dn42-json"
For more information cosult the official documentation: https://rtrtr.docs.nlnetlabs.nl/en/stable/
### Other tools / generators
- bauen1's dn42-roagen: https://gitlab.com/bauen1/dn42-roagen
- Kioubit's registry wizard: https://git.dn42.dev/Kioubit/RegistryWizard

View File

@ -22,6 +22,8 @@
Mikrotik/RouterOS can't handle very well /32 on Point-to-Point links (like GRE). There is a [separate howto](/howto/mikrotik/ptp32) to explain how to setup /32 between in a GRE link (or even a OpenVPN). What is the easy way? Just use any /30 on the GRE Link, either from your assigned DN42 pool address or use a private address like 192.168. Please don't choose from 172.16.0.0/12 or 10.0.0.0/8 because they may overlap with DN42 or ChaosVPN.
RouterOS v7.2 has some nasty bugs when using PTP configuration or IPv6 link local addresses as NEXTHOP. It won't work (confirmed for v7.2 by their support staff).
## Tunnel
### IPSec