OLSR mit Mac OS X

Aus wiki.freifunk.net
Zur Navigation springenZur Suche springen
OLSR
OLSR
Developer
First released
Latest preview version
Release date and age
Frequently updated yes
Programming language
Platform Gnu/Linux
Language Multilingual
Status active
Genre
License GNU General Public License, LGPL
Website
Download http://olsr.org

OLSR ist das Routingprotokoll im Einsatz in den meisten Freifunk-Netzwerken. Auf dieser Seite gibt es Informationen für die Installation auf Mac OS X. Für Mac-User empfiehlt sich auch ein Blick auf OLSR_mit_Linux, weil die Informationen zur Konfigurationsdatei dort umfangreicher und "Unix-allgemeiner" sind und größtenteils übernommen werden können.

Vorwort

Wer in seiner Nachbarschaft ein Freifunk-Netz sieht und nun vielleicht einmal ausprobieren möchte, wie Freifunk sich so surft und was man damit so machen kann, der muß nicht gleich einen Router kaufen. Jeder Mac mit einer eingebauten Airport-Karte bringt alles mit, um sich mit dem Freifunk-Netz zu verbinden. Leider ist die Prozedur, um auf dem Mac Freifunk zu spielen, nicht wirklich "maclike". Um im Freifunk mitspielen zu können, braucht man ein kleines Programm, das den Mac mit dem Freifunk - Netzwerk verbindet. Zur Zeit ist hier noch etwas Handarbeit im Terminal notwendig um dieses zu installieren und zu starten. Wer mit dem Konzept von Macs eingebauten Unix nicht vertraut ist, oder nicht weiß wie man sein Netzwerk konfiguriert, dem empfehle ich, sich vorher etwas Grundwissen anzueignen. Eine Anleitung wie die Installation prinzipiell auszusehen hat findet sich auf den Seiten der Brandenburger Freifunk Gemeinde ---> Freifunk unter Mac OS X. Die Brandenburger Seite hat den Nachteil, dass sie eben für Brandenburg beschreibt wie es geht und die englische Seite führte mich nicht wirklich zum Erfolg. Hier nun ein kleines HowTo zugeschnitten auf die Berliner Verhältnisse. Getestet habe ich das Ganze mit einem Powerbook G4 und einem MacbookPro Intel. MAC OS X Version 10.5.8, aber ich denke das sollte auch abwärtskompatibel sein. TryAndPray :-)

compile (can be skipped)

Pre

  • have Xcode installed
  • ACHTUNG: olsrd-0.5.5-r2 does not work.

Kompilieren

  • downlod sourcecode from www.olsr.org or even better use the current -STABLE branch (0.5.6 branch) from http://gredler.at/hg/olsrd-0.5.6
  • unpack sourcecode
  • cd into directory
  • compile
    • make PREFIX=/usr build_all
    • make PREFIX=/usr libs
    • sudo make PREFIX=/usr install
    • sudo make PREFIX=/usr install_libs
  • config
    • take files/olsrd.conf.default.lq-fisheye and put it to /etc/olsrd.conf
    • change line 'Interface "eth1"' into 'Interface "en1"' or en0 for macbook air
    • add plugins as you want, take care, libraryversions in exampleconfig does not alway match with installed version.
  • create new network location in network prefs according to data from http://ip.berlin.freifunk.net


Installation

gebraucht wird

  • etwas Geduld
  • das Programm OLSRD. Das kann man sich selber kompilieren. Den Sourcecode findet man auf den Seiten von ---> olsr.org. Wem das zu umständlich ist: Ich habe das Programm in der Version 0.5.6-r5 frisch kompiliert und zum download auf unsere Seiten eingestellt ---> olsrd-universal-binary. Dort ist auch eine Beispielkonfigurationsdatei zu finden ---> olsrd.conf
  • eine Freifunk IP


olsrd installieren

  • auf dem Mac als Administrator anmelden
  • ein Terminal öffnen
  • olsrd in das Vereichnis /bin/ kopieren
  sudo cp /pfadZuOlsrd/olsrd /bin/olsrd
  • olsrd.conf nach /etc/ kopieren
  sudo cp /pfadZuOlsrd/olsrd.conf /etc/olsrd.conf

Netzwerk konfigurieren

  • eine Netzwerk Umgebung erstellen wie bei den Brandenburgern beschrieben.
  • Deine IP eintragen
  • Als DNS Server habe ich 141.1.1.1 eingetragen
  • Den Mac mit olsr.freifunk.net verbinden

Freifunk starten

  • Als erstes ein Hinweis auf die Mac Firewall. Wenn das olsrd läuft befindet ihr euch im günstigsten Fall in einem richtig großem Netzwerk! Auch wenn der Mac diesbezüglich eine recht gutmütige Hardware ist, empfehle ich in der Firewall unter Systemsteuerung->Sicherheit->Firewall die Option: "Zugriff für bestimmte Dienste und Programme festlegen" zu aktivieren. Das Programm Little Snitch verschafft einem zusätzlich einen guten Überblick über seine Netzwerkaktivitäten.
  • ein neues Terminal öffnen
  • olsrd starten
  sudo olsrd -d 2
  • crtl-c oder das Schliessen des Terminalfensters beendet den olsrd

Sodele.... so sollte es mit den Nachbarn klappen... Viel Spass

Running

  • change network location to freifunk
  • join olsr.freifunk.net with airport
  • start olsrd with 'sudo olsrd -d 2' in terminal.
  • if you see routes scrolling, it looks like working, stop olsrd with ctrl-c and start it with 'sudo olsrd -nofork'

other way:

starting

#!/bin/bash
scselect olsr.freifunk.net
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport --associate=olsr.freifunk.net
sudo route delete default
sudo olsrd -nofork

stopping

  • press ctrl-c in olsrd terminal window.
  • change airport and network location back


Mögliche Fehler

In der olsrd.conf findet sich die Zeile:

  Interface "en1" {
       Ip4Broadcast	104.255.255.255

Was die Broadcast-Adresse betrifft gibt es seit neusten das Bestreben dieses zu vereinheitlichen. Verschieden Gemeinden benutzen verschiedene Broadcast - Adressen. So gibt es Access-Points welche, z.B. die Adresse 255.255.255.255 benutzen. Hier scheint es mit dem Mac noch Probleme zu geben. Welche für euch nun die gültige ist, müsst ihr im Zweifel erforschen. Auch kann es sein, dass die Bezeichnung "en1" auf älteren Macs eine andere ist. Mit einem beherzten

  ifconfig

im Terminal erhaltet Ihr eine Übersicht über eure Schnittstellen.


Wem das ganze zu verwirrend erscheint, oder was besser weiß, den bitte ich um Korrektur.

Fragen, Tipps oder Anregungen an julius (dot) gruhlstein (ät) berlin (dot) de

todos:

  • upload terminalfile for easy clicking.
  • write installer for osx which does:
    • install olsrd
    • creates valid config based on interface information
    • creates a network location for freifunk.
    • hooks a script into the system to start and stop olsrd when changing network location