Dies ist eine alte Version des Dokuments!
siehe: http://www.open-mesh.org/projects/alfred/wiki
Produktiv wird die Version 2015.0 eingesetzt.
Es gibt bereits neuere Versionen 2015.1, 2015.2 sowie 2016.x. Wir setzen sie aber noch nicht für den Produktivbetrieb ein, es gibt anscheinend Probleme:
can't bind: Cannot assign requested address Failed to open interfaces
Das Verhalten tritt auf, wenn die Link-Lokale IPv6-Adresse des Bridge-Interfaces (über den Parameter -i
) nicht zu der MAC-Adresse paßt. Vermutlich kann als Workaround die MAC-Adresse für das betreffende Interface mit bridge_hw <MAC>
fixiert werden.
Wenn man das nicht macht, führt das Hinzufügen von bat0
zur Bridge dazu, daß
die Bridge die MAC vom bat0
-Interface übernimmt.
Details: In der Funktion netsock_open
in netsock.c
wird in Version 2015.0 ein bind
mit in6addr_any
gemacht. In den darauffolgenden Versionen geht der bind auf die Interface-Adresse, die
allerdings mit mac_to_ipv6(&interface→hwaddr, &interface→address);
ermittelt wurde.
Insbesondere bei Bridge-Interfaces schlägt dieses aus o.a. Gründen fehl.
Voraussetzungen
aptitude install git cmake pkg-config ca-certificates
Für Version 2016.5 zusätzlich:
aptitude install libnl-genl-3-dev
Quellen herunterladen und entpacken
cd /usr/local/src aptitude install libcap-dev wget http://downloads.open-mesh.org/batman/stable/sources/alfred/alfred-2017.1.tar.gz tar xzf alfred-2017.1.tar.gz cd alfred-2017.1
Anschließend bauen. Den GPS-Daemon brauchen wir nicht
git apply -v ffpi.patch make CONFIG_ALFRED_GPSD=n make install CONFIG_ALFRED_GPSD=n
Wird nur auf dem Server benötigt wo der Meshviewer läuft. Schadet ansonsten aber auch nicht.
Wichtig: Bei einem fehlerhaften JSON wird eine Warnung ausgegeben. Dieses Verhalten sollte noch verbessert werden, indem:
-q
„Quiet“ eingebaut wirdTip: Falls das klonen mit Git einen CA SSL Fehler wirft, kann man den umgehen mit:
git config --global http.sslVerify false
aptitude install libjansson-dev zlib1g-dev git clone https://github.com/ffnord/alfred-json.git cd alfred-json mkdir build cd build cmake ../ make make install
Tests:
alfred-json -zr 158
Datenblock 158 / alle 5 Minuten? | Beispiel | Beschreibung | ||||
---|---|---|---|---|---|---|
network | mac | |||||
addresses | ||||||
mesh_interfaces | ||||||
mesh | <interface> | interfaces | wireless | |||
exitvpn | provider | mullvad | nur für Gate | |||
country | NL | nur für Gate | ||||
node_id | ||||||
hostname | ffpi-test01 | |||||
hardware | model | |||||
nproc | 1 | |||||
owner | contact | bernd@example.com | ||||
location | latitude | |||||
longitude | ||||||
altitude | Nutzung noch unklar | |||||
system | site_code | ffpi | ||||
role | node | |||||
software | fastd | enabled | ||||
version | v17 | |||||
port | 10000 | |||||
autoupdater | enabled | |||||
branch | stable | |||||
batman-adv | version | 2015.0 | ||||
compat | ||||||
firmware | base | |||||
release |
Datenblock 159 / jede Minute? | Beschreibung | |||||
---|---|---|---|---|---|---|
uptime | ||||||
memory | buffers | |||||
cached | ||||||
total | ||||||
free | ||||||
traffic | tx | packets | ||||
dropped | ||||||
bytes | ||||||
rx | packets | |||||
bytes | ||||||
forward | packets | |||||
bytes | ||||||
mgmt_tx | packets | |||||
bytes | ||||||
mgmt_rx | packets | |||||
node_id | ||||||
rootfs_usage | ||||||
idletime | ||||||
gateway | ||||||
clients | wifi | |||||
total | ||||||
processes | total | |||||
running | ||||||
loadavg | ||||||
mesh_vpn | groups | backbone | peers | <peername> | established | |
peers | Nur Gate, Anzahl fastd VPN Peers |
RESTORE