OLSR: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
K (Bilder)
(txtinfo Plugin: erzwinge IPv4 weil auf IPv6 der Prozess nicht hört)
 
(26 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
OLSR (Optimized Link State Routing) wird zur Auswahl der Übertragungswege im Netzwerk (Routing) eingesetzt und ist damit eine wichtige Technik zur Kommunikation im Opennet.  
+
OLSR (Optimized Link State Routing) wird zur Auswahl der Übertragungswege im Netzwerk (Routing) eingesetzt und ist damit eine wichtige Technik zur Kommunikation im Opennet. Weitere Details findet ihr in dem Buch [https://www.opensourcepress.de/index.php?26&backPID=232&tt_products=158 Mesh - Drahtlose Ad-hoc-Netze], das wir im [[Vereinsraum]] vorrätig haben.
  
== Konfigurationsdatei (Opennet) ==
+
Es gibt eine Weiterentwicklung von OLSR, welche sich [[OLSRv2]] nennt. Beide Versionen unterscheiden sich stark voneinander und sind daher inkompatibel. Wir betreiben derzeit beide Protokolle parallel. Mit OLSR wird das IPv4 Protokoll und mit OLSRv2 das IPv6 Protokoll bereit gestellt.
 
+
Das wichtigste zu Beginn, die aktuell zum Opennet kompatible ''olsrd.conf'' (passend zu olsr 0.4.10 und höher):
+
 
+
DebugLevel 0
+
Pollrate 0.1
+
TcRedundancy 2
+
MprCoverage 7
+
LinkQualityFishEye 1
+
LinkQualityDijkstraLimit 0 9.0
+
LinkQualityWinSize 100
+
LinkQualityLevel 2
+
UseHysteresis no
+
LoadPlugin "olsrd_httpinfo.so.0.1"
+
{
+
  PlParam "port" "80"
+
  PlParam "Host" "127.0.0.1"
+
  PlParam "Net" "192.168.0.0 255.255.0.0"
+
}
+
Interface "eth0"
+
{
+
  HelloInterval 6.0
+
  HelloValidityTime 108.0
+
  TcInterval 4.0
+
  TcValidityTime 324.0
+
  MidInterval 18.0
+
  MidValidityTime 324.0
+
  HnaInterval 18.0
+
  HnaValidityTime 108.0
+
}
+
  
 
== Linux Tutorial ==
 
== Linux Tutorial ==
  
''Diskussion im Forum'': [http://forum.opennet-initiative.de/thread.php?threadid=340]
+
Wir wollen im Folgenden einen Linux-Host als mobilen Knoten im Opennet konfigurieren. Dazu muss eine feste Opennet-Adresse unter [[Opennet Nodes]] reserviert werden. Anschließend wird die WLAN-Karte konfiguriert und der OLSR-Dienst installiert.
  
Wir wollen im Folgenden einen Linux-Host als mobilen Knoten im Opennet konfigurieren. Dazu muss eine feste Opennet-Adresse unter [[Opennet_Nodes#Mobile_Nodes|Mobile Teilnehmer]] reserviert werden. Anschließend wird die WLAN-Karte konfiguriert und der OLSR-Dienst installiert.
+
Im Verein solltet ihr für die mobile Teilnahme bereits Mitglied sein und einen Access Point betreiben bzw. sponsern (siehe [[Mitmachen]]).
 
+
Im Verein solltet ihr für die mobile Teilnahme bereits Mitglied sein und einen Access Point betreiben bzw. sponsern.
+
  
 
=== WLAN-Karte einrichten ===
 
=== WLAN-Karte einrichten ===
Zeile 46: Zeile 15:
 
# ifconfig <dev> 192.168.7.X netmask 255.255.0.0 broadcast 192.168.255.255
 
# ifconfig <dev> 192.168.7.X netmask 255.255.0.0 broadcast 192.168.255.255
  
Das Device (<dev>) heißt häufig "wlan0" oder "eth1". Die IP "192.168.7.X" durch eure reservierte Adresse ersetzen.
+
Das Device (<dev>) heißt häufig "wlan0" oder "eth1". Die IP "192.168.7.X" durch eure [[Opennet_Nodes#Mobile_Teilnehmer | hier]] reservierte Adresse ersetzen (siehe auch [[Adressierungsschema]]).
  
 
=== OLSRd einrichten ===
 
=== OLSRd einrichten ===
Zeile 59: Zeile 28:
 
# Übersetzen -> make; make install (nur OLSR) oder make build_all; make install_all (incl. aller Plugins)
 
# Übersetzen -> make; make install (nur OLSR) oder make build_all; make install_all (incl. aller Plugins)
 
# Konfigurationsdatei bearbeiten -> vi /etc/oslrd.conf (siehe [[OLSR#Konfigurationsdatei_.28Opennet.29|oben]])
 
# Konfigurationsdatei bearbeiten -> vi /etc/oslrd.conf (siehe [[OLSR#Konfigurationsdatei_.28Opennet.29|oben]])
# OLSRd starten -> olsrd
+
# OLSRd starten -> olsrd -i <name-des-wlan-interfaces>
  
 
Es wird auf der Console ein Statusbildschirm angezeigt mit den Links, Nachbarn und der gelernten Topologie. Ab sofort sollte man vollen Zugang zum Opennet haben. Um auch das Internet zu nutzen, muss noch [[OpenVPN]] installiert werden.
 
Es wird auf der Console ein Statusbildschirm angezeigt mit den Links, Nachbarn und der gelernten Topologie. Ab sofort sollte man vollen Zugang zum Opennet haben. Um auch das Internet zu nutzen, muss noch [[OpenVPN]] installiert werden.
Zeile 80: Zeile 49:
  
 
== Mac OS X Tutorial ==
 
== Mac OS X Tutorial ==
 
Diskussion im Forum: []
 
  
 
=== WLAN-Karte einrichten ===
 
=== WLAN-Karte einrichten ===
  
* Nutze das grafische Tool zum einrichten der Konfiguration.
+
* Nutze das grafische Tool zum Einrichten der Konfiguration.
 
* Finder -> Systemeinstellungen -> Netzwerk
 
* Finder -> Systemeinstellungen -> Netzwerk
 
[[Bild:Bild_02.png|thumb|300px|center| vergrößern]]
 
 
 
* Hier auf Umgebung klicken und dann auf Umgebungen bearbeiten.
 
* Hier auf Umgebung klicken und dann auf Umgebungen bearbeiten.
 
[[Bild:install_03.png|thumb|300px|center| vergrößern]]
 
 
 
* Nun auf das Pluszeichen klicken und einen Namen z.B. Opennet eingeben und auf Fertig klicken.
 
* Nun auf das Pluszeichen klicken und einen Namen z.B. Opennet eingeben und auf Fertig klicken.
 
* Jetzt als Umgebung die von dir gerade erstellte Umgebung auswählen.
 
* Jetzt als Umgebung die von dir gerade erstellte Umgebung auswählen.
Zeile 100: Zeile 61:
 
* Hier nun den Reiter TCP/IP und bei IPv4 konfigurieren Manuell auswählen.
 
* Hier nun den Reiter TCP/IP und bei IPv4 konfigurieren Manuell auswählen.
 
* Bei IPv4 -Adresse tragen wir die unter [[Opennet_Nodes#Mobile_Teilnehmer| Mobile Teilnehmer]] reservierte IP-Adresse ein. Bei Teilnetzmaske tragen wir 255.255.0.0 ein.  
 
* Bei IPv4 -Adresse tragen wir die unter [[Opennet_Nodes#Mobile_Teilnehmer| Mobile Teilnehmer]] reservierte IP-Adresse ein. Bei Teilnetzmaske tragen wir 255.255.0.0 ein.  
* Nun den Reiter DNS auswählen. Hier nun einen oder mehrere DNS Server eintragen. Dieses durch klicken auf das Pluszeichen unter DNS Server. Als DNS Server kannst du 192.168.0.247, 192.168.0.251 und 192.168.0.254 eintragen. Pro Zeile jeweil nur eine DNS IP eintragen.
+
* Nun den Reiter DNS auswählen. Hier nun einen oder mehrere DNS Server eintragen. Dieses durch klicken auf das Pluszeichen unter DNS Server. Als DNS Server kannst du 192.168.0.246, 192.168.0.247 und 192.168.0.248 eintragen. Pro Zeile jeweils nur eine DNS IP eintragen.
* Jetzt einfach mit OK und anschließend Anwenden Bestätigen.  
+
* Jetzt einfach mit OK und anschließend Anwenden Bestätigen.
  
=== OLSRd einrichten ===
 
  
* Download der Binary unter http://www.olsr.org/
+
==== Screenshots ====
'''Hinweis''': aktuell (26.01.2009) funktionieren die Versionen 0.5.6-r2 & 0.5.6-r3 nicht unter Mac OS X 10.5.6. Benutze hierfür bitte 0.5.5.
+
 
 +
<gallery>
 +
Bild:Bild_01.png|
 +
Bild:Bild_02.png|
 +
Bild:install_03.png|
 +
Bild:Bild_04.png|
 +
Bild:Bild_05.png|
 +
Bild:Bild_06.png|
 +
Bild:Bild_07.png|
 +
Bild:Bild_08.png|
 +
</gallery>
 +
 
 +
=== OLSRd installieren ===
 +
 
 +
'''Hinweis''': Für Mac OSX werden auf der Website der Entwickler keine Binaries von OLSR veröffentlicht. Deshalb muß OLSR als Quellcode zum selber kompilieren von der Projekt-Seite heruntergeladen, oder aber auf die hier zum Download bereitgestellten vorkompilierten Binaries zurückgegriffen werden. Diese Binaries liegen in zwei Varianten vor, wobei eine ohne Opennet-Patches und die andere mit Opennet-Patches kompiliert wurde. Für den Einsatz im Opennet wird die Variante mit Opennet-Patches empfohlen. Alle anderen User außerhalb des Opennet benutzen die OLSR-Variante ohne Opennet-Patches (ohne Änderungen kompiliert).
 +
 
 +
==== OLSRd aus dem Quellcode kompilieren ====
 +
 
 +
* Zielverzeichnis erstellen:
 +
sudo mkdir -p /usr/local/src/olsr/; cd /usr/local/src/olsr
 +
* Download des Quellcode-Tarballs von http://www.olsr.org/
 +
wget http://www.olsr.org/releases/0.6/olsrd-0.6.x.tar.bz2; tar xfvj olsrd-0.6.x.tar.bz2
 +
* Kompilieren
 +
** HINWEIS!! Für die Installation werden Admin-Rechte benötigt
 +
make; make install;  #nur OLSR
 +
make build_all; make install_all;  #inkl. aller Plugins
  
Installation als Nutzer mit Admin-Rechten
+
==== OLSRd einrichten ====
  
* Zielverzeichnis erstellen: sudo mkdir -p /usr/local/olsr/; cd /usr/local/olsr
+
* OLSRd im Terminal starten:
* Binary-Archiv herunterladen und entpacken: wget <download-url>; unzip <downloaded-file>
+
** Bei Problemen das Debug-Level in der Konfigurationsdatei erhöhen
* Übersetzen -> make; make install (nur OLSR) oder make build_all; make install_all (incl. aller Plugins)
+
sudo olsrd start
** Zum Übersetzen (Compilen) benötigst du ggf. Xcode von Apple. Das kannst du mit deiner Apple ID (falls du keine hast, einfach Anmelden) [http://developer.apple.com/technology/xcode.html hier] Downloaden und dann installieren.
+
* OLSRd wieder stoppen:
* Konfigurationsdatei erstellen: sudo vi /etc/olsrd.conf (Inhalt von [[OLSR#Konfigurationsdatei_.28Opennet.29|oben]] einfügen + vollen Pfad zum zum http-Plugin eintragen, z.B. "/usr/local/olsr/olsrd-current/lib/olsrd_httpinfo.so.0.1")
+
sudo killall olsrd
* OLSRd im Terminal starten: sudo olsrd start (sollte es Probleme geben, erhöhe das Debug-Level in der Konfigurationsdatei)
+
* OLSRd wieder stoppen: ''sudo killall olsrd''
+
  
 
== Windows Tutorial ==
 
== Windows Tutorial ==
Zeile 122: Zeile 105:
 
''Diskussion im Forum'': [http://forum.opennet-initiative.de/thread.php?threadid=203]
 
''Diskussion im Forum'': [http://forum.opennet-initiative.de/thread.php?threadid=203]
  
Wir wollen im Folgenden einen Windows-Host als mobilen Knoten im Opennet konfigurieren. Dazu muss eine feste Opennet-Adresse unter [[Opennet_Nodes#Mobile_Nodes|Mobile Teilnehmer]] reserviert werden. Anschließend wird die WLAN-Karte konfiguriert und der OLSR-Dienst installiert.
+
Wir wollen im Folgenden einen Windows-Host als mobilen Knoten im Opennet konfigurieren. Dazu muss eine feste Opennet-Adresse unter [[Opennet Nodes]] reserviert werden. Anschließend wird die WLAN-Karte konfiguriert und der OLSR-Dienst installiert.
  
 
Im Verein solltet ihr für die mobile Teilnahme bereits Mitglied sein und einen Access Point betreiben bzw. sponsern.
 
Im Verein solltet ihr für die mobile Teilnahme bereits Mitglied sein und einen Access Point betreiben bzw. sponsern.
Zeile 130: Zeile 113:
 
Kurze Anleitung, wie man mit dem Notebook ins Opennet kommt:
 
Kurze Anleitung, wie man mit dem Notebook ins Opennet kommt:
 
* Adresse besorgen
 
* Adresse besorgen
** ihr erhaltet eine 192.168.7.X (unter [[Opennet_Nodes#Mobile_Nodes|Mobile Teilnehmer]] reservieren)
+
** ihr erhaltet eine 192.168.7.X (unter [[Opennet Nodes]] reservieren)
 
** zum Testen eine frei gewählte aus 192.168.33.X benutzen
 
** zum Testen eine frei gewählte aus 192.168.33.X benutzen
 
* olsrd von [http://www.olsr.org/index.cgi?action=download www.olsr.org] besorgen und installieren
 
* olsrd von [http://www.olsr.org/index.cgi?action=download www.olsr.org] besorgen und installieren
 
* WLAN-Interface konfigurieren
 
* WLAN-Interface konfigurieren
** Ad-Hoc-Modus
 
** SSID "olsr.opennet-initiative.de"
 
 
** IP-Adresse von oben
 
** IP-Adresse von oben
 
** Subnet-Mask 255.255.0.0
 
** Subnet-Mask 255.255.0.0
** Standardgateway ein Opennet-Gateway (z.B.192.168.0.254), die IP deines Rechners (172.16.0.X) oder einfach 1.0.0.0 eintragen
+
** DNS Server ein Opennet-Gateway, z.B. 192.168.0.246
** DNS Server ein Opennet-Gateway, z.B. 192.168.0.254
+
 
* OLSR Switch starten und den olsrd für das entsprechende WLAN-Interface aktivieren
 
* OLSR Switch starten und den olsrd für das entsprechende WLAN-Interface aktivieren
  
Zeile 153: Zeile 133:
 
Bild:Screenshot-OLSR-Windows7.JPG|7. Opennet auswählen; Verbinden;  
 
Bild:Screenshot-OLSR-Windows7.JPG|7. Opennet auswählen; Verbinden;  
 
Bild:Windows olsr switch.jpg|8. OLSR-Switch öffnen, Netzwerkkarte auswählen (IP-Adresse); Starten - Fertig!
 
Bild:Windows olsr switch.jpg|8. OLSR-Switch öffnen, Netzwerkkarte auswählen (IP-Adresse); Starten - Fertig!
</gallery>
 
 
[[Kategorie:Konfiguration|OLSR]]
 
 
=== Kanal Einstellung (Häufig auftretender Fehler!) ===
 
* Bei vielen Wlan Karten sieht es so aus als ob die Karte nur Daten sendet aber keine empfangen kann.
 
** Zu sehen beim Status von der Drahtlosen Netzwerkkarte empfangene Pakete = 0 oder die Anzahl der empfangenen Pakete verändert sich nicht.
 
* '''Lösung: Den Kanal auf 1 stellen'''
 
** Klicke auf Start->Alle Programme->Zubehör->Kommunikation->Netzwerkverbindungen
 
** Rechte Maustaste auf die "Drahtlose Netzwerkverbindung" dann auf Eigenschaften
 
** In dem neu öffnenden Fenster auf Konfigurieren klicken und im dem neuen Fenster auf Erweitert klicken
 
** Dort nach Kanal Nummer suchen und als Wert Kanal 1 eintragen
 
** Das Fenster mit OK schließen
 
 
=== Screenshots ===
 
 
<gallery>
 
Bild:Screenshot-OLSR-Windows1.JPG|1. Netzwerkumgebung öffen - Drahtlose Netzwerkumgebung - Eigenschaften (Rechte Maustaste)
 
Bild:Eigenschaften_von_Drahtlos_Netzwerkverbindung.JPG|2. Konfiguration
 
Bild:Konfiguration_von_Drahtlos_Netzwerkverbindung.JPG|3. Erweiter - Bei Eigenschaft: Kannalnummer - Bei Wert: 1; OK
 
Bild:Windows olsr switch.jpg|4. OLSR-Switch öffnen, Netzwerkkarte auswählen (IP-Adresse); Starten - Fertig!
 
 
</gallery>
 
</gallery>
  
Zeile 191: Zeile 150:
  
 
== Fehlersuche ==
 
== Fehlersuche ==
 +
 +
=== txtinfo Plugin ===
 +
 +
Es gibt viele Informationen in OLSR, welche direkt ausgegeben werden können. Hierfür kann das txtinfo Plugin genutzt werden (https://github.com/OLSR/olsrd/blob/master/lib/txtinfo/README_TXTINFO). Beispiele:
 +
 +
# echo "/hna" |  nc 127.0.0.1 2006
 +
HTTP/1.1 200 OK
 +
 +
Table: HNA
 +
Destination Gateway
 +
192.168.5.34/32 192.168.3.38
 +
192.168.1.32/32 192.168.1.32
 +
192.168.5.22/32 192.168.1.187
 +
192.168.5.23/32 192.168.1.187
 +
192.168.33.127/32 192.168.1.33
 +
139.30.241.208/32 192.168.10.21
 +
192.168.5.8/32 192.168.1.23
 +
192.168.0.248/32 192.168.0.248
 +
78.24.191.177/32 192.168.0.248
 +
148.251.78.235/32 192.168.0.248
 +
 +
# echo "/all" |  nc 127.0.0.1 2006
 +
Table: Neighbors
 +
IP address SYM MPR MPRS Will. 2-hop count
 +
192.168.1.117 YES YES NO 3 2
 +
 +
Table: Links
 +
Local IP Remote IP Hyst. LQ NLQ Cost
 +
192.168.2.50 192.168.1.117 0.000 1.000 1.000 1.000
 +
 +
Table: Routes
 +
Destination Gateway IP Metric ETX Interface
 +
10.2.0.245/32 192.168.1.117 5 10.710 wlan0
 +
10.2.0.246/32 192.168.1.117 5 9.930 wlan0
 +
10.2.0.247/32 192.168.1.117 5 10.710 wlan0
 +
10.2.0.248/32 192.168.1.117 10 15.555 wlan0
 +
10.2.1.17/32 192.168.1.117 6 17.420 wlan0
 +
10.2.1.31/32 192.168.1.117 12 12.293 wlan0
 +
....
  
 
=== Packetmitschnitte ===
 
=== Packetmitschnitte ===
Zeile 213: Zeile 211:
  
 
== Siehe auch ==
 
== Siehe auch ==
* OLSR Quellen: http://www.olsr.org/
+
* OLSRD Projektseite: http://www.olsr.org/
* Berliner OLSR Patches: http://olsrexperiment.de/sven-ola/nylon/packages/olsrd/files/
+
* [[Olsrd_patches | Opennet olsrd patches]]
+
  
[[Kategorie:Konfiguration]]
+
[[Kategorie:WLAN Protokolle]]
 +
[[Kategorie:Konfiguration|OLSR]]
 +
[[Category:Dienste]]

Aktuelle Version vom 14. April 2024, 08:49 Uhr

OLSR (Optimized Link State Routing) wird zur Auswahl der Übertragungswege im Netzwerk (Routing) eingesetzt und ist damit eine wichtige Technik zur Kommunikation im Opennet. Weitere Details findet ihr in dem Buch Mesh - Drahtlose Ad-hoc-Netze, das wir im Vereinsraum vorrätig haben.

Es gibt eine Weiterentwicklung von OLSR, welche sich OLSRv2 nennt. Beide Versionen unterscheiden sich stark voneinander und sind daher inkompatibel. Wir betreiben derzeit beide Protokolle parallel. Mit OLSR wird das IPv4 Protokoll und mit OLSRv2 das IPv6 Protokoll bereit gestellt.

Inhaltsverzeichnis

[Bearbeiten] Linux Tutorial

Wir wollen im Folgenden einen Linux-Host als mobilen Knoten im Opennet konfigurieren. Dazu muss eine feste Opennet-Adresse unter Opennet Nodes reserviert werden. Anschließend wird die WLAN-Karte konfiguriert und der OLSR-Dienst installiert.

Im Verein solltet ihr für die mobile Teilnahme bereits Mitglied sein und einen Access Point betreiben bzw. sponsern (siehe Mitmachen).

[Bearbeiten] WLAN-Karte einrichten

Geht ganz einfach:

  1. iwconfig <dev> mode Ad-Hoc essid olsr.opennet-initiative.de
  2. ifconfig <dev> 192.168.7.X netmask 255.255.0.0 broadcast 192.168.255.255

Das Device (<dev>) heißt häufig "wlan0" oder "eth1". Die IP "192.168.7.X" durch eure hier reservierte Adresse ersetzen (siehe auch Adressierungsschema).

[Bearbeiten] OLSRd einrichten

Download: http://www.olsr.org/?q=download
Weiterführende Dokumentation: http://www.olsr.org/?q=links

Als Superuser (root):

  1. Quellen runterladen, am besten die "Latest Release" als tar.bz2-Archiv
  2. Quellen entpacken -> tar xfj olsrd-X.X.X.tar.bz2
  3. Voraussetzungen prüfen/installieren (Bsp. Debian) -> apt-get install libc6-dev bison flex
  4. Übersetzen -> make; make install (nur OLSR) oder make build_all; make install_all (incl. aller Plugins)
  5. Konfigurationsdatei bearbeiten -> vi /etc/oslrd.conf (siehe oben)
  6. OLSRd starten -> olsrd -i <name-des-wlan-interfaces>

Es wird auf der Console ein Statusbildschirm angezeigt mit den Links, Nachbarn und der gelernten Topologie. Ab sofort sollte man vollen Zugang zum Opennet haben. Um auch das Internet zu nutzen, muss noch OpenVPN installiert werden.

[Bearbeiten] Tipps und Tricks

Benutzerschnittstellen:

  • olsrd-Console
    • wird nach dem Starten von olsrd angezeigt, falls "DebugLevel" nicht 0 ist (/etc/oslrd.conf)
    • liefert Links, Nachbarn und Topologie; jeweils mit Link-Qualität
  • olsrd-gui GTK-Frontend
    • muss separat übersetzt werden (make; make install im Verzeichnis gui/linux-gtk/)
    • IPC-Zugriff auf olsrd muss erlaubt sein (/etc/olsrd.conf: IpcConnections - MaxConnections 1)
  • HTTP-Status-Plugin
    • Konfiguration in /etc/olsrd.conf entsprechend README_HTTPINFO:
    LoadPlugin "olsrd_httpinfo.so.0.1" {
    PlParam "port" "80"
    PlParam "Net" "192.168.0.0 255.255.0.0" }

[Bearbeiten] Mac OS X Tutorial

[Bearbeiten] WLAN-Karte einrichten

  • Nutze das grafische Tool zum Einrichten der Konfiguration.
  • Finder -> Systemeinstellungen -> Netzwerk
  • Hier auf Umgebung klicken und dann auf Umgebungen bearbeiten.
  • Nun auf das Pluszeichen klicken und einen Namen z.B. Opennet eingeben und auf Fertig klicken.
  • Jetzt als Umgebung die von dir gerade erstellte Umgebung auswählen.
  • Bei Netzwerkname jetzt "olsr.opennet-initiative.de" auswählen.
  • Nun gehts weiter bei weitere Optionen.
  • Hier nun den Reiter TCP/IP und bei IPv4 konfigurieren Manuell auswählen.
  • Bei IPv4 -Adresse tragen wir die unter Mobile Teilnehmer reservierte IP-Adresse ein. Bei Teilnetzmaske tragen wir 255.255.0.0 ein.
  • Nun den Reiter DNS auswählen. Hier nun einen oder mehrere DNS Server eintragen. Dieses durch klicken auf das Pluszeichen unter DNS Server. Als DNS Server kannst du 192.168.0.246, 192.168.0.247 und 192.168.0.248 eintragen. Pro Zeile jeweils nur eine DNS IP eintragen.
  • Jetzt einfach mit OK und anschließend Anwenden Bestätigen.


[Bearbeiten] Screenshots

[Bearbeiten] OLSRd installieren

Hinweis: Für Mac OSX werden auf der Website der Entwickler keine Binaries von OLSR veröffentlicht. Deshalb muß OLSR als Quellcode zum selber kompilieren von der Projekt-Seite heruntergeladen, oder aber auf die hier zum Download bereitgestellten vorkompilierten Binaries zurückgegriffen werden. Diese Binaries liegen in zwei Varianten vor, wobei eine ohne Opennet-Patches und die andere mit Opennet-Patches kompiliert wurde. Für den Einsatz im Opennet wird die Variante mit Opennet-Patches empfohlen. Alle anderen User außerhalb des Opennet benutzen die OLSR-Variante ohne Opennet-Patches (ohne Änderungen kompiliert).

[Bearbeiten] OLSRd aus dem Quellcode kompilieren

  • Zielverzeichnis erstellen:
sudo mkdir -p /usr/local/src/olsr/; cd /usr/local/src/olsr
wget http://www.olsr.org/releases/0.6/olsrd-0.6.x.tar.bz2; tar xfvj olsrd-0.6.x.tar.bz2
  • Kompilieren
    • HINWEIS!! Für die Installation werden Admin-Rechte benötigt
make; make install;   #nur OLSR
make build_all; make install_all;   #inkl. aller Plugins

[Bearbeiten] OLSRd einrichten

  • OLSRd im Terminal starten:
    • Bei Problemen das Debug-Level in der Konfigurationsdatei erhöhen
sudo olsrd start
  • OLSRd wieder stoppen:
sudo killall olsrd

[Bearbeiten] Windows Tutorial

Diskussion im Forum: [1]

Wir wollen im Folgenden einen Windows-Host als mobilen Knoten im Opennet konfigurieren. Dazu muss eine feste Opennet-Adresse unter Opennet Nodes reserviert werden. Anschließend wird die WLAN-Karte konfiguriert und der OLSR-Dienst installiert.

Im Verein solltet ihr für die mobile Teilnahme bereits Mitglied sein und einen Access Point betreiben bzw. sponsern.

[Bearbeiten] Anleitung

Kurze Anleitung, wie man mit dem Notebook ins Opennet kommt:

  • Adresse besorgen
    • ihr erhaltet eine 192.168.7.X (unter Opennet Nodes reservieren)
    • zum Testen eine frei gewählte aus 192.168.33.X benutzen
  • olsrd von www.olsr.org besorgen und installieren
  • WLAN-Interface konfigurieren
    • IP-Adresse von oben
    • Subnet-Mask 255.255.0.0
    • DNS Server ein Opennet-Gateway, z.B. 192.168.0.246
  • OLSR Switch starten und den olsrd für das entsprechende WLAN-Interface aktivieren

[Bearbeiten] Screenshots

[Bearbeiten] OLSR im Detail

OLSR (Optimized Link State Routing) ist ein Routing-Protokoll für MANETs (Mobile Ad-Hoc Networks), also Netze mit mobilen Stationen, die ohne jegliche feste Infrastruktur auskommen (müssen).

Es basiert darauf, dass eine Station regelmäßig mit jeder benachbarten Station Nachrichten austauscht, in denen die Nachbarn über andere Nachbarn der Station informiert werden (sog. HELLO-Messages). Somit wissen die Nachbarn, welche Stationen sie über 2 Hops erreichen können (einmal ihre direkten Nachbarn mit einem Hop, und über diese noch deren Nachbarn). Diese Informationen werden an alle Stationen im Netz verteilt, damit jede Station aus ihren eigenen Daten eine Route zu jeder anderen Station ermitteln kann (daher der Begriff Link State Routing).

Im normalen OLSR (wie in RFC3626 beschrieben) werden Routen nach der minimalen Anzahl Hops ausgesucht. Dieses ist nicht unbedingt die beste Route, da in einem drahtlosen Netz die Verbindungsqualität eine erhebliche Rolle spielt. Für OLSR gibt es deshalb eine Erweiterung, die die Verbindungsqualität als Kriterium für die Auswahl einer Route nutzt (LQ - Link Quality Extension). Die Verbindungsqualität ist in diesem Falle die Wahrscheinlichkeit, dass ein Paket korrekt übertragen wird. Es wird somit die Route gewählt, auf der die größte Wahrscheinlichkeit besteht, dass das Paket auf Anhieb fehlerfrei durchkommt.

Informationen über Gateways zu anderen Netzen (in unserem Falle das Internet) werden automatisch verbreitet. Gibt also ein großzügiger Teilnehmer mal seinen DSL/Infocity-Zugang frei, so wird das gesamte Netz darüber informiert (natürlich nur, wenn das auch gewünscht ist). Das könnte ganz praktisch sein weil so sehr einfach mal kurzfristig ein Gateway zugeschaltet werden kann, ohne dass es Probleme gibt wenn der wieder abgeschaltet wird.

So sagt es zumindest die Theorie ...

[Bearbeiten] Fehlersuche

[Bearbeiten] txtinfo Plugin

Es gibt viele Informationen in OLSR, welche direkt ausgegeben werden können. Hierfür kann das txtinfo Plugin genutzt werden (https://github.com/OLSR/olsrd/blob/master/lib/txtinfo/README_TXTINFO). Beispiele:

# echo "/hna" |  nc 127.0.0.1 2006
HTTP/1.1 200 OK

Table: HNA
Destination	Gateway
192.168.5.34/32	192.168.3.38
192.168.1.32/32	192.168.1.32
192.168.5.22/32	192.168.1.187
192.168.5.23/32	192.168.1.187
192.168.33.127/32	192.168.1.33
139.30.241.208/32	192.168.10.21
192.168.5.8/32	192.168.1.23
192.168.0.248/32	192.168.0.248
78.24.191.177/32	192.168.0.248
148.251.78.235/32	192.168.0.248
# echo "/all" |  nc 127.0.0.1 2006 
Table: Neighbors
IP address	SYM	MPR	MPRS	Will.	2-hop count
192.168.1.117	YES	YES	NO	3	2 

Table: Links
Local IP	Remote IP	Hyst.	LQ	NLQ	Cost
192.168.2.50	192.168.1.117	0.000	1.000	1.000	1.000

Table: Routes
Destination	Gateway IP	Metric	ETX	Interface
10.2.0.245/32	192.168.1.117	5	10.710	wlan0	
10.2.0.246/32	192.168.1.117	5	9.930	wlan0	
10.2.0.247/32	192.168.1.117	5	10.710	wlan0	
10.2.0.248/32	192.168.1.117	10	15.555	wlan0	
10.2.1.17/32	192.168.1.117	6	17.420	wlan0	
10.2.1.31/32	192.168.1.117	12	12.293	wlan0	
....

[Bearbeiten] Packetmitschnitte

Analyse kann unter anderem mit tcpdump, tshark oder graphisch per wireshark erfolgen. Hier einige sinnvolle tshark Consolen Befehle.

Statistiken erzeugen:

# tshark -qz io,phs,udp.port=olsr -i <interface>
# tshark -qz io,stat,1,udp.port=olsr -i <interface>

Aktive Verbindungen anzeigen:

# tshark -qz conv,udp,port=olsr -i <interface>

Datenverkehr im Detail:

# tshark -i <interface> udp port 698

[Bearbeiten] Debugging/GDB

Erzeugen von Stacktraces per GDB hilft den OLSRd Entwicklern, Hinweise siehe:

[Bearbeiten] Siehe auch

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge