Benutzer:P424D0X/Blog:2009 September 23 18:53:20 CEST

Aus Opennet
Wechseln zu: Navigation, Suche

IPv6 - MANet im Laborversuch - Es ist vollbracht!!

Das Opennet expandiert und immer mehr Dörfer in zumeist ländlichen Gegenden ohne wirkliche Chance auf Breitbandinternet, wie auch Groß Potrems, werden an unser Funknetz angeschlossen.. Aber auch die Petrikirche bietet durch ihre hohe zentrale Lage gute Möglichkeiten das bestehende Netz deutlich zu erweitern.. Deshalb finde ich, um später den administrativen Aufwand klein zu halten, mit dem neuen Internetprotokoll zu experimentieren und erste Erfahrungen zu sammeln, das es jetzt höchste Zeit für etwas Neues im Opennet ist, nun, da ein erster Versuch mit IPv6 in der Frieda mit erfreulichem Ergebnis verlaufen ist..

Vor gut zwei Wochen habe ich mich bei meiner Arbeitsstelle in Kiel und in meiner Freizeit wieder ein wenig mit IPv6 im Opennet beschäftigt.. Motiviert hat mich der IPv6-Kongress, welcher vor etwa einem Monat in Frankfurt stattfand, bei dem Internetanbieter wie DE-CIX, Kunden wie T-Systems, Vodafone, aber auch das Bundesministerium den Innern zusammen kamen, um über die möglichst baldige Einführung des neuen Internetprotokolls in Deutschland zu debattieren.. Wie schon lange im IRC und auch im Forum sowie in der Mailinglist von mir angekündigt, habe ich die Vision das Opennet auf ein IPv6-only MANet umzustellen und in einem weiteren Schritt unser dann bestehendes IPv6 - Opennet mit anderen IPng - Freifunknetzen wie Hamburg, Berlin etc. per Tunnel miteinander zu verbinden.. Ich habe mir zum Ziel gesetzt, den Ausbau des IPv6-Netzes voranzutreiben und baue deshalb parallel dazu ein IPv6-only UGW im Ganterweg (meiner Homelocation) auf.. Dies ermöglicht nicht nur die erstmalige Erschließung von Rostock-Dierkow mit unserem freien Funknetz, sondern soll anderen IPv6-begeisterten Opennet-Mitgliedern und Studenten im Rahmen des Koorperationsvertrags mit der Universität Rostock auch die Möglichkeit geben das neue Internetprotokoll im näheren Umfeld um diesen UGW "in the wild" zu testen.. Vom UGW im Ganterweg und vielleicht auch einem anderen regulären GW, welcher bereits auf IPv6 umgestellt ist, könnten die an diesen Gateways angeschlossenen Nodes umgestellt werden und in einem weiteren Schritt die an diesen Nodes angeschlossenen AP.. Einem Computer-Virus gleich, der sich durch das Netz "frißt", könnten längerfristig alle AP's auf diese Weise umgestellt werden..

Nachdem ich den OpenWRT Kamikaze svn-trunk heruntergeladen hatte, nahm ich einige Änderungen am ath9k-Kerneltreiber für die verwendeten WLan-Karten vor.. Die Datei "regd.c" modifizierte ich dahin gehend, das der IBSS-Mode (AdHoc) auch auf den höheren Frequenzen des 5GHz-Bandes für WLan mit der von der Karte maxmimal bereitgestellten Sendeleistung nutzbar ist.. Sprich: "Es wurden alle für die höheren Frequenzen von der Software festgelegen Einschränkungen entfernt".. Einen Patch dieser besagten Datei für Linux-2.6.28.10 sende ich gerne auf eMail-Anfrage.. Am Wochenende in Rostock angekommen, aktualisierte ich meine OpenWRT Kamikaze-Quellen und wendete den Patch auf diese Datei an, kompilierte die Firmware zu den Avila-Images und flashte anschließend das Avila laut Avila-flash-Anleitung hier im Wiki (danke Thomas).. Das Avila war zu diesem Zeitpunkt mit zwei "Sparklan WMIA-199N" Wireless LAN Modulen bestückt.. Trotzdem gab es viele Probleme mit der "Regulatory Domain".. Am Sonnabend gegen 11.oo Uhr rief mich dann Christian wegen der von mir bestellten Schlüssel aus der Frieda23 an.. Also unterbrach ich meine experimente, das Avila mit dem neuen ath9k-Treibern, welches längerfristig mal den madwifi-Treiber ersetzen soll, zum laufen zu bekommen, um meine Schlüssel für die Frieda von Christian zu empfangen.. Nach einem kleinen Schnack machte ich mich wieder auf den Weg nach Hause, um dort weiter zu experimentieren und das Avila mit ath9k-Treiber auf den höheren 5GHz-Bändern per AdHoc zum laufen zu bekommen.. Schließlich gelang es mir so gegen 13.3o Uhr dann doch, das Avila auf 5,7 GHz mit 18 dBm in den IBSS-Mode zu bringen.. Allerdings mußte ich mich dazu der "Macht" von hostapd mit nl80211-Treiber bedienen, der die gepatchte DE-Domain für die WLan-Karte freischaltete.. Mit ath9k/mac80211/hostapd/nl80211 gab es bezüglich der RegDom ab diesem Zeitpunkt keine Probleme mehr..

Aber wer konnte mir sagen, das mir die Software nicht etwas vorgaukelte?! Schließlich kenne ich als Programmierer die softwaretechnischen Macken, die so manches C++-Programm manchmal hat, nur all zu gut; gerade bei komplexeren Programmen.. Da schreibt man ein stückchen Code und das Programm macht etwas völlig anderes und unerwartetes als wie vom Programmierer festgelegt.. Deshalb gilt auch für mich, nachdem es im AdHoc-Modus zu laufen schien, die Devise - "don't beleave the hype".. Also bin ich sogleich mit meinen neuen Schlüsseln, dem Avila-SBC und meinem Notebook zur Frieda.. Dort gegen etwa 14.oo Uhr angekommen, hatte ich meine Schlüssel aber nicht zücken müssen, da die Frieda an diesem Tag einen "Tag der offenen Tür" veranstaltete und Christian noch immer mit der Prüfung der Belege beschäftigt war.. Ich machte mich im Vereinsraum breit, verteilte meine Technik auf der Tischplatte und verband Avila mit Steckernetzteil, Patchkabel und dem seriellen Verbindungskabel.. Christian unterbrach für einen kurzen Moment seine "Abgleicharbeiten" und wandte sich den interessanteren Meldungen auf dem Display meines Notebooks zu, denn ob die WLan-Karte fernab des obligatorisch eingesetzten madwifi-Treiber auch mit einer Treiberkonstellation wie "ath9k/mac80211 und hostapd/nl80211" wirklich zu einem brauchbaren Ergebnis führt, haben auch ihn neugierig gemacht.. Und es lief doch!! Ein Scan zeigte ohne angeschlossenes Pigtail schon das Netz der Frieda, dem Hafennetz und ein anderes WLan-Netz an.. Mit Pigtail waren dann deutlich mehr Netze empfangbar; sogar das vom Yachtclub.. Jetzt war unsere Experimentierfreude geweckt!! Wenn Netze gefunden werden, sollte auch eine Assoziierung mit diesen Möglich sein.. Das probierten wir dann auch gleich am Frieda-Netz aus und wie erwartet funktionierte das ohne Probleme.. Christian reichte dies aber noch immer nicht, denn in seinem Geiste stellte sich die Frage: "komme ich mit dem Board per Frieda-DNS auch ins Internet??".. Und auch hier stellte sich das erwartete Ergebnis ein..

Mich stellte das Ergebnis aber nur zum Teil zu frieden, denn das Board sollte später ja nicht für "managed-mode - Verbindungen" eingesetzt werden, sondern mit anderen Nodes gleichberechtigt Verbindungen aufbauen können (AdHoc bzw IBSS).. Dies zu testen sollte allerdings meine Aufgabe sein, denn Christian hatte keine Zeit mehr für weitere Tests und so verabschiedete sich Christian von mir.. Nun war ich allein mit meinen Boards.. Ich ging zum Schrank mit den Avila's.. Griff mir wahllos eins heraus.. (Natürlich auch ins Leihheft eingetragen!! Nur meine ich einen Fehler bei der Eintragung gemacht zu haben.. Ich nahm mir nicht zwei Avila's, sondern nur eins.. Das andere brachte ich ja selbst mit..) Ich baute die zweite WLan-Karte vom ersten Avila-Board in das Zweite und flashte das Avila mit der von mir gepatchten Firmware.. Um nicht dauernd umstecken zu müssen und Meldungen sofort und gleichzeitig von beiden SBC sehen zu können, nahm ich auch den im Vereinsraum stehenden Ubuntu-Rechner in Beschlag.. Auch hier stellte ich den IBSS-Mode auf 5,7 GHz ein.. Sendeleistung auf 16 dBm.. Die ESSID setzte ich passend zu meinen eigentlichen später noch stattfindenden Tests auf "ipv6.opennet-initiative.de".. Es ließ sich alles ohne eine einzige Ablehnung einstellen, nur legte die Software zwei unterschiedliche Zellen (BSSID) mit der o.a. ESSID an.. Bis hier hin basierte die Konfiguration auf Eingabe über CLI.. Weil ich nicht weiter wußte, rief ich eben nochmal Christian an, der mir den Tip gab, weil er mir auch nicht sagen konnte, wie man die BSSID per CLI einstellt, die BSSID direkt per Konfigurationsdatei an das System zu übergeben.. Gesagt, getan!! Ich erstellte darauf hin die beiden wichtigsten Konfigurationsdateien "/etc/config/network und /etc/config/wireless".. In die "network" kamen die verwendeten IP-Adressen.. eth0 und eth1 auf 192.168.0.11/24 bzw für AP2 192.168.0.12/24.. Das Interface wlan0 habe ich auf 192.168.33.11/24 bzw für AP2 192.168.33.12/24 eingestellt.. Die hostapd.conf in /etc bekam den Country_code DE und das laden des nl80211 eingetragen und in der wireless in /etc/config stand die Verwendung des mac80211-Treibers und Country_code DE, sowie die Einstellungen für IBSS-Mode auf 5,7 GHz mit 16 dBm Sendeleistung und die Vorgabe der ESSID ipv6.opennet-initiative.de mit der zugehörigen identischen BSSID für diese Zelle auf den beiden Boards.. Neustart der Boards und dann bangen!! Gespannt verfolgte ich das booten der Boards.. Startet alles so wie es soll?! Und was noch viel wichtiger war; werden die Interfaces mit den gemachten Einstellungen aus den Konfigurationsdateien richtig initalisiert?! Ich war erleichtert, als ich mich durch Eingabe von iwconfig und ifconfig nach dem booten vom durchweg positiven Ergebnis überzeugte.. Zu meiner Freude haben sich die beiden Avilas auch miteinander assoziiert.. Der letzte Test des frühen Morgens, es war bereits Sonntag 2.oo Uhr, hieß: "ping 192.168.33.12 -I wlan0"!! Mein Atem stockte, das Herz stand für einen Moment still, als ich die Antwort von AP2 bekam und jedes zweite bis dritte ICMP-Paket bestätigt wurde.. Zwischenzeitlich hatte ich bereits Pigtails angeschlossen, nur lagen sie weit auseinander auf der Tischplatte.. Ich legte die beiden Pigtails nahe beieinander, wodurch gut jedes zweite Paket empfangen wurde.. Schließlich stellte ich die beiden Pigtails auf die Tischplatte nahe beieinander und es war wie eine Kabelverbindung.. Um Fehldiagnosen auszuschließen wäres es ratsam die Pigtails auf der Tischplatte nahe nebeneinander hinzustellen; nicht hinlegen!! Komisch fand ich nur, das ich AP1 nicht von AP2 aus pingen konnte, obwohl es umgekehrt ja eigentlich ging.. Dieses Problem wollte ich dann aber nicht mehr angehen.. Ich hatte auch keine geistreichen Einfälle mehr und die Augen wollten auch nicht mehr offen bleiben.. So fuhr ich nach Hause, um meinen, wie ich meine, wohl verdienten Schlaf nachzuholen..

Am Sonntag war ich dann gegen Mittag wieder top ausgeruht für neue Blitzideen.. Ich ging in den IRC; ziemlich ruhig war es dort; und loggte mich ins Jabber ein.. Mathias schrieb mir; fragte mich, ob ich am Abend noch in der Frieda zu gange gewesen sei, da ihm aufgefallen ist, das am späten Abend im Vereinsraum noch Licht brannte.. Ich schrieb ihm von meinen Versuchen und machte mich kurz darauf wieder auf den Weg zur Frieda.. Ich schloß den Vereinsraum auf.. Die beiden Boards lagen noch an Ort und Stelle.. Scheinbar war in diesen neun Stunden niemand hier gewesen.. Also verband ich mein Notebook wieder mit dem SBC und schaltete den Ubuntu-Rechner ein, steckte die Steckernetzteile der Avilas wieder in die Steckdosenleiste und experimentierte weiter.. Komischer Weise funktionierte nun ein "bidirektionales" Ping.. Ich war zunächst etwas verwundert aber kümmerte mich nicht mehr weiter um IPv4, denn für mich war es an der Zeit nun endlich die ersten Versuche mit IPv6 im MANet zu unternehmen..

Also frisch ans Werk!! Für meine ersten Tests verwendete ich eine Unique Local Unicast (ULA), welche ich fest in die /etc/config/network eingetragen habe (dies ist bei OpenWRT zwingend).. Das Präfix lautet: "fda3:e531:48ad".. Zusammen mit der MAC des entsprechenden NIC wird mit dem Tool ipv6calc und der Befehlszeile "ipv6calc --in prefix+mac fda3:e531:48ad::/48 00:18:39:ED:D3:C6 --out ipv6addr --action prefixmac2ipv6" im CLI die ULA: "fda3:e531:48ad::218:39ff:feed:d3c6/48".. Last but not least habe ich auch einige Anpassungen der /etc/config/olsrd vorgenommen, um aus dem AdHoc-Netz ein MANet (mobile adhoc network) zu machen.. Damit OLSR weis, das es nun fortan mit IPv6 arbeiten soll, steht bei der Angabe des Internetprotokolls nun der Wert 6.. Den Interface-Mode habe ich auf "mesh" und den IPv6-Adresstyp auf "global" gesetzt.. Die globale Boadcastadresse lautet: "ff3e::1".. Mit diesen Einstellungen ist OLSR eigentlich schon IPv6-fähig.. Ein Test mittels Ping6 bestätigte dies.. ABER!! Ob das Ganze auch in einem großen MANet wie Opennet funktioniert, müssen weitere Tests "in the wild" erst zeigen..

Nach eindringlicher Bitte von Christian, werde ich später bei Gelegenheit ein ausführliches HowTo verfassen und in die ON-I - Wiki hochladen.. Verfolgt auch die Beiträge im Forum [[1]]

Wen IPv6 interessiert und auch zu den IPv6-Opennet-Mitstreitern gehören möchte, der kann sich am 25.09.2009 ab 17.oo Uhr in der Frieda23 einfinden, wo ich zwei bereits konfigurierte Avila's mitbringe.. Anhand eines dritten Avila-Boards mit bestückten CM9-WLan-Modulen, möchte ich erstmals die Konfiguration, das Compilen und das Flashen eines Avila-Images (Firmware) mit IPv6-Unterstützung vorführen, in der Hoffnung, das es sich mit der bereits bestehenden IPv6-Zelle assoziiert.. Das wäre eine Premiere, da ich bisher noch kein Versuch mit drei Avila-Boards durchgeführt habe.. Vielleicht kann Jemand noch sein Notebook mitbringen, um von jedem SBC Meldungen ohne lästiges Umstecken sehen zu können.. Bevor aber groß mit IPv6 im Opennet begonnen wird, sollte zunächst noch untersucht werden, ob sich auch bei einem Linksys-Router (WRT54) IPv6 aktivieren läßt und stabil in eine IPv6-Wolke (ipv6.opennet-initiative.de) senden kann.. Dieses Problem möchte ich gerne angehen, wenn ein Test mit drei Avila-Boards und WMIA-199N- und CM9-Karten erfolgreich verlaufen ist..

Auf dem noch stattfindenden Admin-Treffen sollten auch Strategien zur Migration besprochen werden.. Mein Vorschlag wäre, in der Phase 1 zunächst an einem GW und einem UGW die IPv6-Unterstützung zu aktivieren und von dort aus alle im Backbone befindlichen Nodes schrittweise umzustellen.. Schwierig wird es bei Nodes ohne Redundanz-Linkstrecke, da auch alle anderen AP hinter diesem Node in "einem Rutsch" umgestellt werden müssen.. Mit der Phase 2 werden auch alle Endnutzer (außerhalb des Backbone) IPv6 verwenden.. Die Phase 3 ist erreicht, wenn alle AP im Opennet das Internetprotokoll Version 6 verwenden und das IPv4 ablösen.. In der letzten Phase 4 wird das Opennet mit IPv6-Funknetzen anderenorts vernetzt, wie z.B. Berlin, Hamburg etc.. Um den Überblick nicht zu verlieren, welche AP bereits umgestellt worden sind, sollte in der Wiki (Teilnehmerliste) zusätzlich ein Feld eingefügt werden, die Aufschluß über die verwendete Protokollversion gibt (4, 6 oder 4/6).. Zusätzlich würde in der AP-Beschreibung auch die Angabe der IPv6-Adresse für jedes einzelne Interface Sinn machen..

Spätestens mit Anlauf der Phase 2 wäre auch über eine ausführliche Präsentation über IPv6 im Opennet-MANet nachzudenken, welche im Peter-Weiß-Haus stattfinden könnte und allen Opennet-Mitgliedern vermitteln soll, die IPv6-Unterstützung ihres AP selbst administrieren zu können.. Damit auch ein Großteil der Mitglieder teilnehmen können, sollte diese Präsentation ein- /zweimal wiederholt werden..

Hier noch ein paar Bilder über die IPv6-Versuche in der Frieda23:

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge