From 79f6927ae851f65ffcb0b8f738ea604cdd1d1f05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20K=C3=BCthe?= Date: Sun, 1 Jan 2023 19:27:39 +0100 Subject: [PATCH] add missing documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marek Küthe --- docs/additional/dns.md | 2 -- docs/entitydb/index.md | 2 ++ docs/home-network/dns.md | 26 ++++++++++++++++++++++++-- docs/home-network/radv.md | 38 +++++++++++++++++++++++++++++++++++++- 4 files changed, 63 insertions(+), 5 deletions(-) diff --git a/docs/additional/dns.md b/docs/additional/dns.md index 84c4aa5..5f82170 100644 --- a/docs/additional/dns.md +++ b/docs/additional/dns.md @@ -1,7 +1,5 @@ # Servers -HINT: This is currently a work in progress by @mark22k - ## Recursive | DNS | IP address | diff --git a/docs/entitydb/index.md b/docs/entitydb/index.md index 6d1a715..fda206a 100644 --- a/docs/entitydb/index.md +++ b/docs/entitydb/index.md @@ -5,6 +5,8 @@ Note: This documentation is in WIP. In entitydb, the persons or organizations are registered in CRXN with their IP addresses. Here, each entity has a JSON file in which the data is recorded. The entitydb is also abbreviated as edb. +[entitydb](https://codeberg.org/CRXN/entitydb/) + - [Format and Rules](format-rules) Attributes: diff --git a/docs/home-network/dns.md b/docs/home-network/dns.md index ef3970a..8b4f77e 100644 --- a/docs/home-network/dns.md +++ b/docs/home-network/dns.md @@ -1,5 +1,27 @@ # DNS -TODO: Add documentation @mark22k +In the `radv` protocol in bird, there is a possibility to pass DNS servers to the clients. This requires a working recursive DNS server. If you only want to resolve CRXN domains, you can use a DNS server from [Additional/DNS](../additional/dns). If you also want to resolve Clearnet domains, it is recommended to use your own DNS resolver (recursive or forward) like Coredns or Unbound. -You can take look at [Additional/DNS](../additional/dns) in the meantime. +With the following option, you can specify a DNS server: +``` +rdnss fd92:58b6:2b2::5353; +``` + +The following option allows you to specify multiple DNS servers: +``` +rdnss { + ns fd92:58b6:2b2::5353; + ns fd92:58b6:2b2::5354; +}; +``` + +If you also have a CRXN domain, you can also tell the clients a search domain: +``` +dnssl "home.example.crxn"; +``` +``` +dnssl { + domain "home.example.crxn"; + domain "lab.home.example.crxn"; +}; +``` diff --git a/docs/home-network/radv.md b/docs/home-network/radv.md index a5cbc38..8dc1bc9 100644 --- a/docs/home-network/radv.md +++ b/docs/home-network/radv.md @@ -39,7 +39,43 @@ You can advertise a default route, to `fd00::/8` or simply all routes in your ro ### Advertising a single `fd00::/8` -TODO: Add this as I normally don't do this even though one should as it means less memory consumption and advertisement updates +In order not to have the default route in our normal routing table, it is recommended to make an extra routing table for the radv routes. There we define the default route. + +``` +ipv6 table radv_routes; + +protocol static { + ipv6 { + table radv_routes; + export all; + }; + + route fd00::/8 unreachable; +} + +protocol radv +{ + # Enable propagating of routes exported to us via radv to hosts + propagate routes yes; + + ipv6 { + # Export ula default routes into the radv advertisement + export all; + table radv_routes; + }; + + # Interface to run radv on - only eth0 (change to what you want) + interface "eth0" { + # Advertise your prefix + prefix fd40:ec65:5b4c::/64 { + # Defaults are fine + }; + + # Prevent advertising of default route + default lifetime 0; + }; +} +``` ### Advertising all known routes