f947da485fc3b6d7f0903615767ab4d22d9b9bd3
howto/Bird2.md
... | ... | @@ -4,6 +4,13 @@ This guide is similar to the normal [Bird](/howto/Bird) guide in that it provide |
4 | 4 | |
5 | 5 | 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`. |
6 | 6 | |
7 | +# Bird2 Version <2.0.8 / Debian |
|
8 | + |
|
9 | +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). |
|
10 | +Additionally Bird2 before 2.0.8 cannot automatically update filtered bgp routes when an used RPKI source changes. |
|
11 | + |
|
12 | +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). |
|
13 | + |
|
7 | 14 | # Example configuration |
8 | 15 | |
9 | 16 | 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/*"; |
171 | 178 | |
172 | 179 | 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. |
173 | 180 | |
181 | +# RPKI / RTR for ROA |
|
182 | + |
|
183 | +To use an RTR server for ROA information, replace this config in your bird2 configuration file: |
|
184 | + |
|
185 | +``` |
|
186 | +protocol static { |
|
187 | + roa4 { table dn42_roa; }; |
|
188 | + include "/etc/bird/roa_dn42.conf"; |
|
189 | +}; |
|
190 | + |
|
191 | +protocol static { |
|
192 | + roa6 { table dn42_roa_v6; }; |
|
193 | + include "/etc/bird/roa_dn42_v6.conf"; |
|
194 | +}; |
|
195 | +``` |
|
196 | + |
|
197 | +... with this one (by changing address and port so it points to your RTR server) |
|
198 | + |
|
199 | +``` |
|
200 | +protocol rpki roa_dn42 { |
|
201 | + roa4 { table dn42_roa; }; |
|
202 | + roa6 { table dn42_roa_v6; }; |
|
203 | + remote 10.1.3.3; |
|
204 | + port 323; |
|
205 | + refresh 600; |
|
206 | + retry 300; |
|
207 | + expire 7200; |
|
208 | +} |
|
209 | +``` |
|
210 | +To reflect changes in the ROA table without a manual reload, **ADD** "import table" switch for both channels in your DN42 BGP template: |
|
211 | + |
|
212 | +``` |
|
213 | +template bgp dnpeers { |
|
214 | + ipv4 { |
|
215 | + ...existing configuration |
|
216 | + import table; |
|
217 | + }; |
|
218 | + ipv6 { |
|
219 | + ...existing configuration |
|
220 | + import table; |
|
221 | + }; |
|
222 | +} |
|
223 | +``` |
|
224 | + |
|
174 | 225 | # Setting up peers |
175 | 226 | |
176 | 227 | Please note: This section assumes that you've already got a tunnel to your peering partner setup. |
howto/ROA-slash-RPKI.md
... | ... | @@ -50,6 +50,30 @@ You can use these to simply run gortr via docker: |
50 | 50 | |
51 | 51 | docker run -ti -p 8082:8082 cloudflare/gortr -cache https://dn42.burble.com/roa/dn42_roa_46.json -verify=false -checktime=false -bind :8082 |
52 | 52 | |
53 | +### rtrtr |
|
54 | + |
|
55 | +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. |
|
56 | + |
|
57 | +NLNet Labs provides an official docker image. You just have to bind mount a suitable configuration file: |
|
58 | + |
|
59 | + docker run -d -v /etc/rtrtr.conf:/etc/rtrtr.conf -p 323:323/tcp nlnetlabs/rtrtr -c /etc/rtrtr.conf |
|
60 | + |
|
61 | +This is a working configuration file for dn42. Maybe change the listen addresses: |
|
62 | + |
|
63 | + log_level = "debug" |
|
64 | + log_target = "stderr" |
|
65 | + http-listen = [] |
|
66 | + [units.dn42-json] |
|
67 | + type = "json" |
|
68 | + uri = "https://dn42.burble.com/roa/dn42_roa_46.json" |
|
69 | + refresh = 600 |
|
70 | + [targets.dn42-rtr] |
|
71 | + type = "rtr" |
|
72 | + listen = ["0.0.0.0:323", "[::]:323"] |
|
73 | + unit = "dn42-json" |
|
74 | + |
|
75 | +For more information cosult the official documentation: https://rtrtr.docs.nlnetlabs.nl/en/stable/ |
|
76 | + |
|
53 | 77 | ### Other tools / generators |
54 | 78 | - bauen1's dn42-roagen: https://gitlab.com/bauen1/dn42-roagen |
55 | 79 | - Kioubit's registry wizard: https://git.dn42.dev/Kioubit/RegistryWizard |
howto/mikrotik.md
... | ... | @@ -22,6 +22,8 @@ |
22 | 22 | |
23 | 23 | 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. |
24 | 24 | |
25 | +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). |
|
26 | + |
|
25 | 27 | ## Tunnel |
26 | 28 | |
27 | 29 | ### IPSec |