Benutzer-Werkzeuge

Webseiten-Werkzeuge


freifunk:debian

Rechner & Server mit freifunk-Stack

Ähnlich der Router-Firmware werden wir aus dem Quellcode/Paketquellen die Software bauen, die ein Rechner braucht, um Teil des Freifunk-Netzes zu werden. (Wir kompilieren die notwendige Software, die nicht in Paketform vorliegt, in diesem Fall direkt auf dem Zielgerät).

Aufgrund der Komplexität, zu unserer ausgerollten Konfiguration passenede, generische Installations-Doku zu bieten, wird die folgende manuelle Dokumentation Schritt für Schritt mit Codes und Templates unseres Konfigurationsmanagements in Ansible ersetzt, das im Gitlab auf dem neusten Stand gehalten wird.

Mit der entsprechenden Basiskonfiguration können damit Zielsysteme automatisch aufgesetzt und aktuell gehalten werden.

Diese Anleitung wurde benutzt für:

Architektur Distribution Kernel Zustand wer Kommentar Spezial
amd64 Ubuntu Trusty 3.13 läuft/lief ? Supernode
amd64 Debian / Kali Linux 3.14 ? läuft?? ? + Ralink USB WLAN Karte mit Knoten-WLAN
amd64 Debian Jessie 3.16 läuft protagonist virtuelle Maschine unter KVM Netzbrücke für Drittgeräte
amd64 Debian Jessie 3.16 läuft protagonist - Supernode SN5
amd64 Debian Jessie 3.16.0-4 läuft protagonist - Supernode SN4
amd64 Debian 4.2.0-1 läuft mar - Supernode SN3
amd64 Debian 4.3.0-1 läuft protagonist gluon BATMAN Supernode SN10
armv6l Raspian raspberry pi B 4.1.7+ alles compiled fuzzle Raspberry Pi 2 in Arbeit

Sie sollte sich aber für andere Server, Laptops, .. mit kleineren Abstimmungen übertragen lassen.
Für Wlan-Funktionalität braucht ihr eine passende ad-hoc fähige WLAN Karte.

Bei Problemen immer schön die Fehlermeldungen lesen und daran entlang hangeln.

Supernode-spezifische Dokumentation

Supernode, Variante A: mit Extra-VPN ins Internet

aufsetzen der Supernode spezifischen Teile.
(über debian beschriebene Tools hinausgehend)

Ansible Deployment

→ Weiterlesen...

2016/01/12 15:50 · viisauksena

«<

Vorbereitungen

Dependencies

apt-get install bridge-utils build-essential libnl-3-dev cmake libpcap-dev libgps-dev git linux-headers-$(uname -r)
# Optional: nützliche Tools
apt-get install nmon htop iftop bmon tmux dnsutils vnstat vim screen
# Build-Ordner
mkdir freifunk && cd freifunk
useradd freifunk

Link zu einem Toolinstallscript auf Debian based mashines ff-toolbox_installer_debian.sh

Batman Advanced

Wir verwenden derzeit noch Batman Advanced 2013.4, daher müssen wir den Source Code für diese Version auschecken, bzw. zurück setzen. Für Experimente mit zwei Batman-Version bietet es sich an, diese in 2 verschiedenen Unterverzeichnissen verschiedene Batman-adv Versionen zu bauen, batman-adv also 2 mal auszuchecken.

Das 'frisch' gepatchte 2013-4 V14 Batman von gluon direkt:

git clone https://github.com/freifunk-gluon/batman-adv-legacy
cd batman-adv-legacy
make
make install

→ Weiterlesen...

2015/12/24 22:27 · viisauksena

Batctl

git clone http://git.open-mesh.org/batctl.git
cd batctl 
# damit nicht batmanv15 feature abfragen schon in batctl auftauchen
git checkout tags/v2013.4.0
make
make install

→ Weiterlesen...

2015/12/24 22:36 · viisauksena

FastD aus dem APT-Repository

Problem: Fremdrepo, unbekannter GPG Key ..
Ihr solltet euch an dieser Stelle über die Security-Implikationen klar sein, wenn ihr externe Paketquellen aufzunehmt.

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 16EF3F64CB201D9C
 
echo "deb http://repo.universe-factory.net/debian/ sid main" >> /etc/apt/sources.list
apt-get update && apt-get install fastd

Diese Variante funktioniert ziemlich gut und spart eine Menge Zeit.
Die Anleitung weiter unten zeigt, wie ihr fastd & die benötigte Library von Hand baut.

Link zur FastD Config

→ Weiterlesen...

2015/12/24 22:38 · viisauksena

Alfred

Alfred, erweitert die Anwedungsmöglichkeiten des Batman-adv Netzes, so dass man eigene Informationen an alle anderen Knoten verteilen kann.

apt-get install -f -y libcap-dev libgps-dev
git clone http://git.open-mesh.org/alfred.git
cd alfred
make
make install

für supernodes bzw ohne gps

apt-get install -f -y libcap-dev
git clone http://git.open-mesh.org/alfred.git
cd alfred
# supernode: kompiliere ohne GPSD
make CONFIG_ALFRED_GPSD=n
make install

Supernode Persistenz via /etc/network/interfaces post-up:

# unter 'iface bat0 inet6 manual': 
        post-up start-stop-daemon -b --start --exec /usr/local/sbin/alfred -- -i bat0 -m
        post-up start-stop-daemon -b --start --exec /usr/local/sbin/batadv-vis -- -si bat0

→ Weiterlesen...

2015/12/24 22:35 · viisauksena

alfred-json

apt-get install zlibc zlib1g-dev libjansson-dev
git clone https://github.com/ffnord/alfred-json
cd alfred-json
cmake .
make
make install
2015/12/25 22:57 · viisauksena

Persistenz

Es wird davon ausgegangen, dass ihr fastd im Autostart laufen habt und dort ein valides Fastd-Profil hinterlegt ist, das euer selbstkompiliertes Batman automatisch startet.

FIXME : hier sollte stehen wie man batman, alfred und fastd rebootsafe macht

Ausführen: <code bash> echo „blacklist batman_adv“ > /etc/modprobe.d/batman_blacklist.conf </code> Das legt eine Blacklist-Datei /etc/modprobe.d/batman_blacklist.conf an, die das Laden des „normalen“ Batman-Kernelmoduls unterdrückt. FIXME : muss das sein ? wenn man batman-adv > make install benutzt, wird genau dieses, oder jenes Batman doch „installiert“ .. leicht zu prüfen mit modinfo batman-adv
in jedem Fall solltet ihr das „richtige“ Batman laufen haben 2014.3 oder 2014.4 .. nicht 2015

Batman kernel modul laden

modprobe batman-adv      # läd Kernelmodul
rmmod batman-adv         # entläd kernel modul
dmesg |tail              # lesen ob das laden geklappt hat
dmesg |grep batman       # check der batman version
modinfo batman-adv       # check der batman version
modprobe libcrc32c       # auf "normalen" rechner zu ladendes modul

wechsel zwischen batman versionen
in dem jeweiligen Build ordner

rmmod batman-adv
make install
modprobe batman-adv

Ein möglicher Fehler wäre: euer System hat schon Batman geladen in der neuesten (zu Freiburg Freifunk inkompatiblen) Version
Die offizielle Troubleshooting-Doku gibt es hier.

ins Freifunk Freiburg Netz

Innerhalb des Freiburger Freifunknetzes zu sein, bedeutet mind. Batman zu sprechen.
Vermutlich wollt ihr auch eine alfred Instanz laufen lassen, um dessen Daten auslesen zu können. (alfred -i bat0)
ihr habt Batman auf eurem Notebook/Raspberry installiert

mesh

ihr meshed mit den Knoten mit und bildet einen neuen Knoten FIXME bitte beschreiben Eure eingesetzte WLAN Karte muss den Ad-hoc mode unterstützen und schnell zwischen den Mode hin und her schalten können. (Multimode oder Dualmode). FIXME das können z.B. ….
Die von mir eingesetzte WLAN Karte mit RT2501/RT2573 Chip kann das vermutlich nicht.

sudo ifconfig wlan1 down
sudo iwconfig wlan1 mode ad-hoc
sudo iwconfig wlan1 essid 02:d1:11:37:fc:38 ap 02:d1:11:37:fc:38
sudo ifconfig wlan1 up
sudo batctl if add wlan1

dann müsstet ihr schon Batman-adv Pakete hören können .. wenn ihr Freifunk in der nähe habt batctl o

als wifi client

wenn ihr auf dem client Interface eines Knotens Batman aktiviert habt, könnt direkt Batman sprechen.

# auf einem knoten
batctl if add br-client 
# richtig? oder client0 ?? 
# für persistenz (rebootsafe) in init eintragen

pures Ethernet

über Kabel geht das auch, muss in der Regel aber für die angeschlossenen Clients auf dem Knoten/Router aktiviert werden.
z.B.
batctl if add eth0

übers Internet

ihr müsst euch dann mit einem der Supernodes verbinden, also über fastD. Über diese Brücke sprechen die Supernodes dann Batman, auf dem Interface solltet ihr dann also Batman aktivieren.
Erklärt wird das unter debian bzw. mit dem ff-toolbox-skript

anderen Interfaces freifunk-Nutzernetz geben

Ziel: bat0 auf anderes Interface bridgen, um z.B. anderen VMs auf dem gleichen Server ohne Kernelmodule dort mit anbinden
Feste IP, aktuelle Subnetzmaske, etc
/etc/network/interfaces mit Bridge von bat0 auf eth1

auto br0
iface br0 inet static
        bridge_ports bat0 eth1
        address <IP>
        netmask 255.255.192.0

[bat0 Konfiguration - manual]

[eth1 Konfiguration - manual]

alternative Anleitungen

Alternative Anleitungen: (nicht voll kompatibel, aber eventuell stellenweise ausführlicher)
Supernode_from_Scratch
https://ffsuedpfalz.pads.ccc.de/1
freifunk/debian.txt · Zuletzt geändert: 2016/09/26 23:48 von viisauksena