Skip to content

Commit d800d1e

Browse files
author
Emery Hemingway
committed
fixup! nixos/yggdrasil: add manual section
1 parent 764a925 commit d800d1e

1 file changed

Lines changed: 10 additions & 20 deletions

File tree

nixos/modules/services/networking/yggdrasil.xml

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,8 @@
1010
<link xlink:href="https://yggdrasil-network.github.io/"/>
1111
</para>
1212
<para>
13-
Yggdrasil is an early-stage implementation of a fully end-to-end encrypted
14-
IPv6 network. It is lightweight, self-arranging, supported on multiple
15-
platforms and allows pretty much any IPv6-capable application to communicate
16-
securely with other Yggdrasil nodes.
17-
</para>
18-
<para>
19-
When enabled the Yggdrasil service creates a tun device with a unique IPv6 in
20-
the <literal>200::/8</literal> address space. This device and address can be
21-
used to communicate with all other connected nodes in the
22-
<literal>200::/7</literal> Yggdrasil network. Each Yggdrasil node can also
23-
route a subnet using the first half of its address with the eighth bit masked
24-
as a prefix, that is to say, within the <literal>300::/8</literal> space. This
25-
prefix may be announced to locally attached networks.
26-
</para>
27-
<para>
28-
Despite the normal distribution of nodes within the <literal>200::/8</literal>
29-
space, the addresses of connected nodes can be readily enumerated, unlike the
30-
the traditional global IPv6 network. For this reason, all open services on a
31-
node should be considered public, or the system firewall should be enabled.
13+
Yggdrasil is an early-stage implementation of a fully end-to-end encrypted,
14+
self-arranging IPv6 network.
3215
</para>
3316
<section xml:id="module-services-networking-yggdrasil-configuration">
3417
<title>Configuration</title>
@@ -40,6 +23,10 @@ An annotated example of a simple configuration:
4023
{
4124
services.yggdrasil = {
4225
enable = true;
26+
persistentKeys = false;
27+
# The NixOS module will generate new keys and a new IPv6 address each time
28+
# it is started if persistentKeys is not enabled.
29+
4330
config = {
4431
Peers = [
4532
# Yggdrasil will automatically connect and "peer" with other nodes it
@@ -48,6 +35,8 @@ An annotated example of a simple configuration:
4835
# network that it can tunnel to.
4936
"tcp://1.2.3.4:1024"
5037
"tcp://1.2.3.5:1024"
38+
# Public peers can be found at
39+
# https://github.com/yggdrasil-network/public-peers
5140
];
5241
};
5342
};
@@ -115,7 +104,8 @@ A NixOS container attached to the Yggdrasil network via a node running on the
115104
host:
116105
<programlisting>
117106
let
118-
yggPrefix64 = "&#x2026;";
107+
yggPrefix64 = "310:5217:69c0:9afc";
108+
# Again, taken from the output of "yggdrasilctl getself".
119109
in
120110
{
121111
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = 1;

0 commit comments

Comments
 (0)