Added Bird and general routing documentation (WIP)

This commit is contained in:
Tristan B. Velloza Kildaire 2021-05-20 13:45:15 +02:00
parent bc4d6bb3dc
commit fcb279e012
3 changed files with 51 additions and 0 deletions

35
docs/bird_basics.md Normal file
View File

@ -0,0 +1,35 @@
Basics
======
## Installing bird
Installation of bird is relatively simple, your distro should have a `bird` package.
Versions 1.6 and 2.0 will both work, there are slight differences in the configuratio
however but those will be shown in the configuration section that follows.
## Enabling forwarding
We will be setting up the machine that runs bird as a router so therefore
we need to make your Linux kernel's network stack not drop IPv6 packets
that it receives (addressed to it via Ethernet) but are not addressed to
it via IPv6 address - in other words it must try do something with these packets,
namely attempt to forward them one hop closer to their initial destination.
Enabling forwarding on all interfaces can be achieved as follows (you will need
to be root):
```bash
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
```
However, after reboot it won't be saved and will go back to its defaults. Therefore
what you need to do is to enable forwarding on boot-up, this can be done by
adding an additional line to your `/etc/sysctl.conf` (which holds a bunch of
these statements), it should look like this:
```bash
sys.net.ipv6.conf.all.forwarding=1
```
TODO: Weird experience with me, only doing `all` made it work

8
docs/routing.md Normal file
View File

@ -0,0 +1,8 @@
Setting up routing
==================
There are 3 methods (so far) of doing routing on CRXN, we list them
below each with their corresponding setup procedures. The recommended
procedure is, however, using Bird.
1. [Bird](bird)

View File

@ -6,6 +6,14 @@ nav:
- Getting started:
- Guide: getting-started.md
- Rules: rules.md
- Requirements: requirements.md
- Assigning subnet: prefixes.md
- Routing:
- Introduction: routing.md
- Bird-based routing:
- Basics: bird_basics.md
- Babeld-based routing
- Mikrotik-based routing
- Tutorial:
- Peering: peering.md
- CRXNv6: crxnv6.md