Freifunk-Gateway aufsetzen/radvd: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
Zeile 70: Zeile 70:
Wenn man auch Public IPv6 Adressen verteilen möchte, muss folgendes noch geändert werden:
Wenn man auch Public IPv6 Adressen verteilen möchte, muss folgendes noch geändert werden:


Zuerst darf AdvDefaultLifetime nicht 0 sein, damit eine default Route mit ausgegeben wird. Hie rhat sich z.b. 600 sehr bewährt
Zuerst darf AdvDefaultLifetime nicht 0 sein, damit eine default Route mit ausgegeben wird.
Solange es keinen Grund dagegen gibt, sollte der Default verwendet werden, indem die Option weggelassen wird.


Weiterhin muss das Subnetz auch expliziet als prefix mit angegeben werden, wie wir es bei den ULA Adressen schon machen. Der Abschnitt könnte dann z.b. so aussehen:
Weiterhin muss das Subnetz auch expliziet als prefix mit angegeben werden, wie wir es bei den ULA Adressen schon machen. Der Abschnitt könnte dann z.b. so aussehen:
<pre>
<pre>
prefix 2001:DB8:aaaa:bbbb::/64 {
prefix 2001:db8:aaaa:bbbb::/64 {
    AdvOnLink on;
    AdvAutonomous on;
};
};
</pre>
</pre>

Version vom 23. Juni 2019, 19:11 Uhr

Funktion

radvd wird verwendet umd Router Advertisements mit den passenden Parametern für SLAAC in das Batman-Netz zu senden. Damit können sich Freifunk Clients informieren, welche Router es gibt und sich Adressen zuweiswen.

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 bat-nuernberg { 
	AdvSendAdvert on;
	AdvDefaultLifetime 0;
	AdvRASrcAddress {
		fe80::IRGENDWAS;
	};
	prefix fd43:5602:29bd:x::/64 {
	};
	route fc00::/7 {
	};
};

ACHTUNG: Die fe80:: die bei AdvRASrcAddress eingetragen ist muss fest an das batX Interface gebunden werden. (siehe Freifunk-Gateway_aufsetzen/Batman-adv#IPv6_Link_Local_f.C3.BCr_das_Senden_von_Router_Advertisements).

Die Adresse sollte zufällig generiert sein, die Adressen müssen in jeder Hood eindeutig sein.

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 zu Verbindungsabbrüchen.

Danach radvd neu starten, damit die Konfiguration übernommen wird:

systemctl restart radvd

Public IPv6

Wenn man auch Public IPv6 Adressen verteilen möchte, muss folgendes noch geändert werden:

Zuerst darf AdvDefaultLifetime nicht 0 sein, damit eine default Route mit ausgegeben wird. Solange es keinen Grund dagegen gibt, sollte der Default verwendet werden, indem die Option weggelassen wird.

Weiterhin muss das Subnetz auch expliziet als prefix mit angegeben werden, wie wir es bei den ULA Adressen schon machen. Der Abschnitt könnte dann z.b. so aussehen:

prefix 2001:db8:aaaa:bbbb::/64 {
};

Testen der Konfiguration

  • Kann erst nach Abschluss der Konfiguration getestet werden!

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.