diff --git a/docs/bird_basics.md b/docs/bird_basics.md new file mode 100644 index 0000000..e8f7656 --- /dev/null +++ b/docs/bird_basics.md @@ -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 \ No newline at end of file diff --git a/docs/routing.md b/docs/routing.md new file mode 100644 index 0000000..c132c88 --- /dev/null +++ b/docs/routing.md @@ -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) \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 9ca08f2..80fd2ac 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -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