From 5d4a2db47fc4a94e3bf4f494cbad265ca1fd0f11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20K=C3=BCthe?= Date: Fri, 9 Dec 2022 22:53:54 +0100 Subject: [PATCH] fix a few links and add me as peering partner under peers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marek Küthe --- docs/additional/index.md | 4 + docs/home_network/index.md | 1 + docs/peers.md | 16 +++- docs/people.md | 2 +- docs/routing/{bird => }/bird.md | 0 docs/routing/bird/bird2_old.md | 141 -------------------------------- docs/routing/index.md | 3 + 7 files changed, 22 insertions(+), 145 deletions(-) create mode 100644 docs/additional/index.md rename docs/routing/{bird => }/bird.md (100%) delete mode 100644 docs/routing/bird/bird2_old.md create mode 100644 docs/routing/index.md diff --git a/docs/additional/index.md b/docs/additional/index.md new file mode 100644 index 0000000..b138613 --- /dev/null +++ b/docs/additional/index.md @@ -0,0 +1,4 @@ + +- [DNS](dns) +- [DN42 interconnection](dn42_interconnection) +- [OTG](otg) diff --git a/docs/home_network/index.md b/docs/home_network/index.md index e013805..f025007 100644 --- a/docs/home_network/index.md +++ b/docs/home_network/index.md @@ -1,3 +1,4 @@ - [Setting up radv (router)](radv) - [Setting up SLAAC (hosts)](slaac) +- [DNS](dns) diff --git a/docs/peers.md b/docs/peers.md index 074903c..4378f3f 100644 --- a/docs/peers.md +++ b/docs/peers.md @@ -1,4 +1,14 @@ -Peers -===== +# Peers -This aims to be a public directory of all known peers willing to publically accept connections for tunnels. \ No newline at end of file +This aims to be a public directory of all known peers willing to publically accept connections for tunnels. + +### Peering with Bandura Communications + +- Name: Bandura Communications +- Peering policy: open +- Tunneling protocols: WireGuard, fastd, OpenVPN, GRE and others +- Nodes: [https://byeob.de/crxn/](https://byeob.de/crxn/) +- Website: [https://byeob.de/](https://byeob.de/) + +> Hello, +I am Marek Küthe and I operate Bandura Communications. We have a few servers, which are distributed around the world. We are happy to peer! We support WireGuard, fastd, OpenVPN, GRE and some other tunnel protocols. Just write us at: [crxn@mk16.de](mailto:crxn@mk16.de) diff --git a/docs/people.md b/docs/people.md index e95cffe..511233a 100644 --- a/docs/people.md +++ b/docs/people.md @@ -23,7 +23,7 @@ Matrix: `deavmi@envs.net` Amazing German dude. Roles: Network services, Routing -BNET IRC: `chris2001` on `#crxn` +BNET IRC: `chris2001` ### Ty3r0X `~ty3r0x` diff --git a/docs/routing/bird/bird.md b/docs/routing/bird.md similarity index 100% rename from docs/routing/bird/bird.md rename to docs/routing/bird.md diff --git a/docs/routing/bird/bird2_old.md b/docs/routing/bird/bird2_old.md deleted file mode 100644 index db5927e..0000000 --- a/docs/routing/bird/bird2_old.md +++ /dev/null @@ -1,141 +0,0 @@ -Configuring Bird 2 -================== - -This document aims to provide the configuration file template required -for CRXN and along with a description of what parameters need to be set -for your node specifically. - - - -## Configuration - -The configuration template is constructed out of the following files: - -1. `filters.conf` - * Filter functions and the filter itself -2. `networks.conf` - * Advertisement of ULA -3. `tables.conf` - * The table definitions -4. `router.conf` - * This contains the needed protocol definition for discovering - your interface's prefixes and generating routes form them - * It also contains the needed protocol definitions to sync bird - routes into the Linux kernel's routing table (so you cna forward - packets based on the routes from Bird) -5. `protocols.conf` - * Depending on what protocol you want to use this will contains - configurations for each - -All of these will be included in a file saved at `/etc/bird/bird.conf` like so: - -``` -router id ; - -include "/etc/bird/crxn/tables.conf"; -include "/etc/bird/crxn/filters.conf"; -include "/etc/bird/crxn/router.conf"; -include "/etc/bird/crxn/networks.conf"; -``` - -Additionally, add the files for the route distribution protocol which we configure in the next steps. -``` -include "/etc/bird/crxn/babel.conf"; # For babel routing -include "/etc/bird/crxn/ospfv3.conf"; # For OSPFv3 routing -``` - -Remember to set a unique router ID in ``, make it anything - it doesn't have to even be an address you own. - -#### `filters.conf` - -This file holds all the required functions for subnet matching and also -filters that match to the specific prefix aggregates (regional subnets) -that CRXN uses. - -``` -filter crxnFilter -{ - if (net ~ fd00::/8) then accept; - reject; -} -``` - -#### `tables.conf` - -This file holds all table definitions. There are only two actually. -The table `crxn` is the one we actually use, `master` is optional -and is only present because if one uses `bird-lg-go` (the looking glass -we use) then it, by default, only shows routes in the `master` table. -It is meant to have the same routes as the `crxn` table. - -``` -# CRXN table -ipv6 table crxn; -``` - -#### `router.conf` - -This contains an instance of the `direct` protocol which reads the address -and prefix assigned to your AF_INET6 interfaces and generates routes from -those that represent routes to directly atrtached networks those interfaces -are on. The reason for this is that the `kernel` protocol never learns routes -in the Linux kernel's routing table that have the `kernel` protocol which -is what you get when you assign interfaces addresses and prefixes. This -doesn't even need those, it gets them from the interface. - -``` -# The kernel protocol doesn't grab kernel routes that are added by you when you assign an -# address and prefix. So instead of reading this from all routes with `proto kernel` this just -# yeets the routes off of the interface structure itself (even if you didn't have a route for your -# directly attached networks - i.e. nexthop = 0.0.0.0) -protocol direct crxnDirect -{ - ipv6 - { - table crxn; - import filter crxnFilter; - }; - # Interfaces to find neighbours on - interface "eth*"; -} - -protocol device { -} -``` - -The second part is for syncing routes from Bird to the Linux kernel's routing -table such that you can forward traffic based on the routes in Bird. - -TODO: Check, defualt `learn` should learn non `kernel` and non-`bird` routes - -``` -# CRXN Kernel protocol -# We import any routes from the kernel table other than `proto bird` and `proto kernel`, -# could be `proto static` for example. By default it will learn these. -# Of course we also then export all routes from our Bird tables into the kernel so you can actually forward packets -protocol kernel crxnKernel -{ - ipv6 { - # bird's crxn table -> kernel - table crxn; - export filter crxnFilter; - }; -} -``` - -#### `networks.conf` - -This is just something we normally add. Usually you would assign a `/64` within your ULA `/48` but you also want to claim the whole `/48` by advertising a blackhole for it. Here our `/48`/ULA is `fd40:ec65:5b4c::/48`. - -``` -protocol static crxnStatic -{ - # Advertise your /48 with a blackhole - route fd40:ec65:5b4c::/48 blackhole; - - ipv6 { - import filter crxn6; - table crxn; - } -} -``` diff --git a/docs/routing/index.md b/docs/routing/index.md new file mode 100644 index 0000000..52baec4 --- /dev/null +++ b/docs/routing/index.md @@ -0,0 +1,3 @@ + +- [Forwarding](forwarding) +- [Setting up Bird](bird)