IPv6

Aus wiki.freifunk.net
Wechseln zu: Navigation, Suche
Freifunk-logo-V6 170x165.png

Inhaltsverzeichnis

[Bearbeiten] Einleitung

IPv6 ist das Internetprotokoll, das im Laufe der Zeit das zur Zeit verbreitete IPv4 ergänzen, und dann völlig ablösen soll. IPv6 bietet einen sehr großen Adressraum, so dass zur Zeit benötigte Techniken wie NAT wegfallen, wodurch man jedem Gerät eine feste IP-Adresse zuweisen kann, mit der es direkt im Internet sein kann.

[Bearbeiten] Howto für Freifunk mit 6in4 Tunnel

Bis Internetprovider endlich jedem Nutzer IPv6 nach Hause bringen, ist man auf Tunneldienste angewiesen, über die man ins IPv6-Netz kommt. Weil man durch Tunnelanbieter ein paar Milliarden IPv6-Adressen bekommen kann (z.B. 18.446.744.073.709.551.616 Stück in einem /64er Netz für eine Person, wohingegen das heutige Internet auf IPv4-basis nur 4.294.967.296 Adressen für die ganze Welt besitzt), ist es sicherlich nicht schlimm, wenn man einige davon für seine Freifunk-Nutzer reserviert.

Zunächst benötigt man selber einen IPv6-Tunnel; empfehlenswert ist Hurricane Electric (HE) (weil man dort nach schneller, kostenloser Anmeldung direkt ein /64er-Netz und ein noch größeres /48er Netz bekommt), weniger empfehlenswert ist SixXS (weil man dort Credits erwerben muss, bevor man Netze beantragen kann; das ist vergleichsweise umständlich). Dieses Howto bezieht sich auf HE.

Das grobe Vorgehen: Nach der Anmeldung sollte man sich auf der Webseite von HE einloggen und auf seine Seite mit den Tunneldetails schauen. In der Netzwerkkonfiguration seines Routers muss man dann ein Interface erstellen, das den Tunnel zum HE-Server aufbaut. Anschließend verteilt man seinem LAN- und seinem WIRELESS0-Interface Adressbereiche, die von der Software radvd automatisch an verbundene Geräte weitergereicht werden, ähnlich zu DHCP bei IPv4. Man muss dann noch sicherstellen, dass die Firewall des Routers die Weiterleitung von IPv6-Paketen und 4in6-Tunnelpaketen zulässt und dass OLSRd sowohl für IPv4 und IPv6 eine Instanz startet und ist fertig.

Im Detail: Die Konfiguration des Routers für HE ist bereits im wiki von OpenWRT beschrieben. Wer DSL besitzt, wird sich insbesondere den Abschnitt "Dynamic 6in4 tunneling" genau ansehen müssen und da man die Einrichtung für HE braucht, kann man auf der Seite alles ab und inclusive "6to4, 6rd" ignorieren, mit Ausnahme des Kapitels über radvd.

Zu beachten ist, dass man für das automatische Update der IP bei Verbindungstrennung zur Zeit noch eine manuelle Korrektur vornehmen muss, wofür man ein Shellscript der folgenden Art braucht:

/root/ipv6restart.sh:

#!/bin/sh
# username und password wie in der Registrierungsmail angeben, also kein md5, sondern Klartext:
local tunnelid="123456"
local username="FOO"
local password="BAR"
local url="https://$username:$password@ipv4.tunnelbroker.net/ipv4_end.php?tid=$tunnelid"
wget -qO/dev/null "$url" --no-check-certificate

Damit es funktioniert, muss man das Paket wget installieren und mit chmod a+x ipv6restart.sh das Script ausführbar machen. Sobald sich die eigene IP wegen einer DSL-Zwangstrennung geändert hat, ruft man das Script auf. Um das auch automatisiert machen zu können, erstellt man ein weiteres Script, das vom cron-Dienst dann alle paar Minuten aufgerufen wird:

/root/cron_v6_restart.sh:

#!/bin/sh
touch /tmp/fetched_ip
touch /tmp/last_ip
wget --quiet -O /tmp/fetched_ip http://137.226.143.11/~mark/cgi-bin/ip.cgi
diff -q /tmp/fetched_ip /tmp/last_ip > /dev/null
if [ $? == 1 ]
then
       cp /tmp/fetched_ip /tmp/last_ip
       /root/ipv6restart.sh
       echo `date` > /tmp/latest_restart.txt
fi

Dieses Script fragt aus dem Internet die aktuell verwendete IP ab, speichert sie ab und vergleicht sie mit der IP der letzten Anfrage. Wenn es eine Änderung gegeben hat, wird das vorige Script zur Änderung der Client IPv4 Adresse bei HE aufgerufen. Damit dascron-Script alle paar Minuten aufgerufen wird, muss man noch crontab -e eingeben und in der so geöffneten Datei dann

*/10 * * * *    /root/cron_v6_restart.sh

eintragen, was also eine IP-Prüfung alle 10 Minuten bewirkt, sobald man die Datei abgespeichert hat. Wer eine elegantere Möglichkeit findet, maile an Mark.

Ist man dem Howto bis dahin gefolgt, sollte man in der Lage sein, in seinem LAN und von seinem Router aus auf IPv6-Seiten wie http://six.heise.de zu gelangen. Falls nicht, muss man dem Troubleshooting des Howtos folgen. Ansonsten kann man sich jetzt darum kümmern, ein IPv6-Netz für den Freifunk abzuzweigen. Man muss beachten, dass man zwar ein /64er Netz bekommen hat und dieses in Teilnetze unterteilen könnte, aber die automatische IP-Zuweisung funktioniert nur mit /64er Netzen, nicht mit größeren und nicht mit kleineren. Daher nimmt man das /48er Netz von HE und zerlegt es so, dass man /64er-Netze erhält: Hat man z.B. 2001:470:1f01::/48 zugewiesen bekommen, kann man dieses unterteilen in 2001:470:1f01:0001::/64, 2001:470:1f01:0002::/64, 2001:470:1f01:0003::/64 usw. Man kann seinem WIRELESS0-Interface dann den ersten Bereich (in dem Beispiel also 2001:470:1f01:0001::/64) zuweisen und kopiert in der Konfiguration von radvd (/etc/config/radvd) alle Einträge vom LAN-Interface, ändert in der Kopie überall 'lan' zu 'wireless0' und trägt als IPv6-IP dann jeweils den ersten Bereich ein (2001:470:1f01:0001::/64). Das Interface wireless0dhcp kann man ignorieren, es ist nur ein alias auf wireless0. In der Konfiguration von OLSRd stellt man dann sicher, dass als Protokoll 6and4 statt ipv4 ausgewählt ist. Nach einem Neustart vom Netzwerk oder gleich dem ganzen Router steht allen Geräten, die sich mit dem Router verbinden, dann sowohl IPv4, als auch IPv6 zur Verfügung.

[Bearbeiten] Planung eines übergreifenden IPv6-Meshes

[Bearbeiten] Prinzip

Es soll für die Zukunft zum Einsparen von den nur begrenz verfügrbaren öffentliche (Public-) IPv4-Adressen ein IPv6 - Meshnetz den Transport der Daten vornehmem. An den Enden des Mesh-Netzwerk soll ein siit die Konvertierung der IPv4 -Pakete in IPv6 Pakete zum Transport übernehmen. Weitere Informationen dazu hier

[Bearbeiten] Erste Tests

auf dem 25c3 wurde ein 6mesh.freifunk.net in 2,4 und 5 GHz - Bereich aufgebaut. Aus diesen Erfahrungen werden nun "Testwolken" aufgebaut, auf denen über IPv6 geroutet wird. Es soll vorgesehen werden, dass bestimmte Entwickler Zugriff auf ein paar Knoten bekommen sollen, um dort ihre Software zu erproben.

See 6mesh.freifunk.net

[Bearbeiten] ältere Überlegungen

[Bearbeiten] IPv6 only mesh

Eine Idee ist, ein IPv6 only Mesh-Netzwerk zu haben. Die wireless Wolke spricht als Routing-Protokoll OLSR über IPv6. Damit werden auf den APs keine IPv4 Adressen gebraucht und verbraten. Die Rechner hinter den APs sollen aber dennoch mit IPv4 ansprechbar sein, einerseits zum Surfen im Internet und andererseits zur Kommunikation untereinander. Siehe hierzu: Niit.

[Bearbeiten] Links

Zum ersten Einstieg gibts Links:

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Grundlagen
Freifunk
Werkzeuge