Automatische IPv6 Netzwerk-Konfiguration
In diesem Artikel wird zusammengefasst, was für Ansätze ich gerade verfolge, um eine automatische IPv6 Netzwerk-Konfiguration für Freifunk-Netzwerke zu ermöglichen. Der spezielle Fokus liegt auf der Firmware für Berlin
Ansätze
Source-Specific-Routing
Der am stärksten verfolgte Idee ist, mit Hilfe moderner Routing-Protokolle wie Babel oder OLSRv2, die Source-Specific-Routing implementieren, Prefixes von Gateways überall im Netz nutzbar zu machen. Dazu gibt es vor allem zwei Ansätze:
HNCP
HNCP ist ein Protokoll, das es ermöglichen soll, in multi-homed Netzwerken Prefixe und DNS-Informationen zu verteilen. Es ist Routing-Protokoll agnostisch, bringt aber den Overhead eines eigenen Floating-Mechanismus mit sich.
DHCP über Unicast
Eine andere Idee ist es, schlicht DHCP-Server und Clients so anzupassen, dass einzelne Router Anfragen über das Netz hindurch direkt an gut erreichbare Gateways stellen können. Die Informationen, welche Gateways Prefixe zum deligieren haben, könnten über Erweiterungen der Routing-Protokolle ohne viel Overhead mitgeliefert werden.
Komplett andere Protokolle
BMX oder BATMAN funktionieren grundsätzlich anders als z.B. OLSR und könnten unten Umständen auch die benötigten Fähigkeiten mitbringen.
Bisherige Verlauf
Bisher teste ich verschiedene Ansätze in einem virtuellem Mesh-Netzwerk. Kleine Tools und Konfigurationen dazu sammel ich hier
Hauptaugenmerk ist gerade, einen Prototypen für das DHCP über Unicast zu entwickeln. Dazu modifiziere ich odhcp6c und odhcpd Die Idee dabei ist, möglichst viel schon vorhandene Infrastruktur zu nutzen und nur kleine Änderungen vorzunehmen. Die Routing-Protokolle OLSRv2 und Babel bringen schon sehr viele Informationen mit sich und DHCP ist selbstsprechend wohl erprobt.
Dabei erkennt ein Client aus den Daten des Routing-Protokolls, welche Gateways für ihn interessant sind und fragt diese gezielt nach Prefixen per DHCP. Die Anfragen werden per Unicast anstatt Multicast gestellt und somit geroutet. Wenn große Prefixe delegiert werden, können diese an lokal verbundene Geräte weiterverteilt werden.