radvd
Funktion
radvd wird verwendet damit Freifunk Clients eine fd43 Adresse bekommen. Er muss somit die fd43 der Hood in das batX Interface pusten.
Installation
Damit radvd nicht die fe80::1 als Source-IP verwendet (geht ziemlich kaputt), muss mindestens Version 2.16 installiert sein. Das kann man so überprüfen:
radvd -v
In den Debian 9 Packetquellen wird leider noch 2.15 ausgeliefert.
Man kann radvd aber aus Debian 10 (aktuell testing) backporten.
Damit nicht alle Pakete auf die buster-Version aktualisiert werden:
/etc/apt/preferences.d/limit-buster
Package: * Pin: release n=buster Pin-Priority: 150
Dann die buster Packetquellen einfügen:
/etc/apt/sources.list.d/buster.list
deb http://ftp.de.debian.org/debian/ buster main
Und radvd installieren:
apt-get update apt-get -t buster install radvd
Beispiel Konfiguration
radvd muss dann in jeder Hood Router Advertisements senden und die entsprechende ULA als Autonomous Prefix announcen:
/etc/radvd.conf
interface bat0 { AdvSendAdvert on; AdvDefaultLifetime 0; AdvRASrcAddress { fe80::IRGENDWAS; }; prefix fd43:5602:29bd:x::/64 { AdvOnLink on; AdvAutonomous on; }; route fc00::/7 { }; };
ACHTUNG: Die fe80:: die bei AdvRASrcAddress eingetragen ist muss fest an das batX Interface gebunden werden. (siehe interface-config oben). Die Adresse zufällig zu generieren bietet sich an, damit die Adressen in jeder Hood eindeutig sind. Es muss die gleiche Adresse sein, die in /etc/network/interfaces an das jeweilige batX Interface gebunden wurde.
AdvRASrcAddress ist nötig, damit die Router Advertisements nicht von der fe80::1 gesendet werden. Denn wenn zwei Gateways verschiedene Router Advertisements von der gleichen Link Local Adresse senden, sind die Clients verwirrt und es kommt unter Umständen zu einer instabilen Verbindung.
Danach radvd neu starten, damit die Konfiguration übernommen wird:
systemctl restart radvd
Testen der Konfiguration
Es muss sich auf einen Knoten der in der Hood ist verbunden werden und ein Client (z.b. Laptop) muss sich in das WLAN einbuchen. Danach muss geprüft werden ob der Client eine fd43 Adresse aus dem Subnetz bekommen hat.