OLSRv2: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(Kommandozeile: Wie debuggen?)
(Debian Paket: Auf eine aktuelle und vollständige Anleitung verlinkt)
 
Zeile 95: Zeile 95:
 
== Debian Paket ==
 
== Debian Paket ==
  
Zur Erstellung eines Debian Paketes folgende Schritte ausführen (passendes Tag auswählen):
+
Es gibt leider keine fertigen Debian Pakete für olsrd2. Daher müssen diese selbst erstellt werden.
apt install devscripts dh-systemd cmake
+
git clone https://github.com/OLSR/OONF.git
+
git tag
+
git checkout <tag>
+
files/create_debian_package.sh
+
ls *.deb
+
  
Installation (beispielhaft mit v0.14.1):
+
Eine vollständige Anleitung dazu findest du unter [[Server_Installation#OLSRd_v2]].
 
+
# dpkg -i olsrd2_0.14.1-0_amd64.deb
+
Selecting previously unselected package olsrd2.
+
(Reading database ... 40363 files and directories currently installed.)
+
Preparing to unpack olsrd2_0.14.1-0_amd64.deb ...
+
Unpacking olsrd2 (0.14.1-0) ...
+
Setting up olsrd2 (0.14.1-0) ...
+
Created symlink /etc/systemd/system/multi-user.target.wants/olsrd2.service → /lib/systemd/system/olsrd2.service.
+
Processing triggers for systemd (232-25+deb9u1) ...
+
Processing triggers for man-db (2.7.6.1-2) ...
+
  
 
[[Kategorie:WLAN Protokolle]]
 
[[Kategorie:WLAN Protokolle]]
 
[[Kategorie:Konfiguration|OLSR]]
 
[[Kategorie:Konfiguration|OLSR]]
 
[[Category:Dienste]]
 
[[Category:Dienste]]

Aktuelle Version vom 21. April 2020, 20:34 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. Hier bezieht sich die Dokumentation auf die neue OLSRv2-Version, die wir zukünftig wahrscheinlich einsetzen wollen. Derzeit wird OLSRv1 im Opennet verwendet.

Inhaltsverzeichnis

[Bearbeiten] Testumgebung

Im Opennet gibt es ein paar vereinzelte IPv6 und OLSRv2-fähige Knoten. Auf Server/gai läuft testweise OLSRv2. Dieser UGW-Server ist nicht mit den anderen UGW-Servern verbunden und befindet sich komplett im Testbetrieb.

[Bearbeiten] Nutzer-AP mit der OLSRv2-Wolke verbinden

  1. flashe auf den AP eine aktuelle Testing-Firmware (oder v0.5.3, sobald sie veröffentlicht ist)
  2. wähle unter Opennet -> Basis -> Module das experimentelle Paket on-olsr2
  3. wenige Sekunden später sollte sich der AP mit den OLSRv2-Knoten seiner Umgebung verbinden

[Bearbeiten] UGW-AP mit dem OLSRv2-Gateway verbinden

Falls dein AP ein UGW ist (verbunden mit einem lokalen Internet-Anschluss), dann kannst du unter Opennet -> Internetfreigabe -> Mesh-Verbindungen manuell einen weiteren Server eintragen:

  • Host: gai.opennet-initiative.de
  • Port: 1602

[Bearbeiten] Server mit der OLSRv2-Wolke verbinden

Der folgende Ablauf beschreibt die manuelle Erzeugung eines deb-Pakets entsprechend der olsrd2-Doku:

  • Abhängigkeiten installieren:
 apt-get install --no-install-recommends cmake devscripts dh-systemd
  • Quellen herunterladen, nachkonfigurieren (eth_listener aktivieren) und deb-Paket bauen:
 git clone https://github.com/OLSR/OONF.git
 cd OONF
 sed -i 's/neighbor_probing$/neighbor_probing eth_listener/' src/olsrd2/CMakeLists.txt
 files/create_debian_package.sh
  • das resultierende Pakete enthält ein statisches olsrd2-Binary, sowie ein Init-Skript und eine systemd-Unit

Anstelle des manuellen Build-Prozesses fertiges Paket herunterladen: http://yurika.opennet-initiative.de/~lars/olsrd2/ (nur amd64).

Nach der Installation ist keine weitere Konfiguration erforderlich.

[Bearbeiten] Ergebnisbetrachtung

[Bearbeiten] Konsole

Warte bis der AP sich mit seinen wifi-Nachbarn oder dem UGW-Server gai automatisch verbindet (falls als UGW-AP eingerichtet).

Nachbarschaft prüfen:
echo /nhdpinfo neighbor | nc localhost 2009

Beispiel-Ausgabe:

10.2.0.245	2001:67c:1400:2431::245	true	true	7	false	0	0	ff_dat_metric 1020  bit/s	2105088	infinite	16777215	Everyone MPR	true	true	7
2001:67c:1400:2431::245	10.2.0.245	false	true	7	true	1	0	ff_dat_metric 1020  bit/s	2105088	1020  bit/s	2105088	Everyone MPR	false	true	7

Die Erreichbarkeit der IPv6 Adresse kann man nun per Ping prüfen.

[Bearbeiten] Browser

In dem (optionalen) Zusatzpaket on-olsr2-netjsongraph (installierbar via Opennet -> Basis -> Module) ist eine minimale javascript-Visualisierung der umgebenden Netzknoten integriert. Diese lässt sich via http unter dem Pfad /olsr2.html abrufen (z.B.: https://192.168.2.210/olsr2.html).

[Bearbeiten] Kommandozeile

Aktuelle Routing-Einträge:

 ip -6 route show table olsrd2 | on-function debug_translate_macs

OLSRv2-Knoten anzeigen:

 echo /olsrv2info node | nc localhost 2009 | on-function debug_translate_macs

OLSRv2-Verbindungen anzeigen:

 echo /olsrv2info edge | nc localhost 2009 | on-function debug_translate_macs

Links zu direkten Nachbarn anzeigen:

 echo /nhdpinfo link | nc localhost 2009 | on-function debug_translate_macs

Alle OLSRv2-Hosts anpingen:

 on-function debug_ping_all_olsr2_hosts

OLSRv2 starten im Vordergrund mit Debug Meldungen:

 olsrd2_static --set=log.info=all --load=/etc/olsrd2/olsrd2.conf

[Bearbeiten] Konfiguration

Beispielhafte OLSRv2-Konfiguration im uci-Format für OpenWrt:

config global
       option 'failfast'       'no'
       option 'pidfile'        '/var/run/olsrd2.pid'
       option 'lockfile'       '/var/lock/olsrd2'
config log
       option 'syslog'         'true'
       option 'stderr'         'true'
       option 'file'           '/var/log/olsrd2.log'
       #option 'info'           'all'
       #option 'debug'          'all'
config telnet
       option 'port' '2009'
config olsrv2
       #define local attached networks
       # list 'lan' '::/0'
       # list 'lan' '0.0.0.0/0'
       #make olsrdv2 IPv6 only
       list 'originator'    '-0.0.0.0/0'
       list 'originator'    '-::1/128'
       list 'originator'    'default_accept'
config interface
       #define default values for all interfaces
       #make olsrdv2 IPv6 only
       list 'bindto'        '-0.0.0.0/0'
       list 'bindto'        '-::1/128'
       list 'bindto'        'default_accept'
       list 'name' 'loopback'
       list 'name' 'on_eth_0'
       list 'name' 'tap0'

Die obige Konfiguration (bzw. eine vergleichbare) wird von dem experimentellen Paket on-olsr2 automatisch erzeugt.

[Bearbeiten] Debian Paket

Es gibt leider keine fertigen Debian Pakete für olsrd2. Daher müssen diese selbst erstellt werden.

Eine vollständige Anleitung dazu findest du unter Server_Installation#OLSRd_v2.

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge