siehe: http://www.open-mesh.org/projects/alfred/wiki
Produktiv wird die Version 2015.0 bzw. die gepatchte Version 2017.1 eingesetzt.
Ab der Version 2015.1 gibt es 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, zzw. ein Alfred im Master-Modus. 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 | Liste der Adressen | |||||
mesh_interfaces | ||||||
mesh | <interface> | interfaces | wireless | |||
tunnel | ||||||
other | ||||||
exitvpn | provider | mullvad | nur für Gate | |||
country | NL | nur für Gate | ||||
node_id | ||||||
hostname | ffpi-test01 | |||||
hardware | model | TP-Link TL-WR1043N/ND v2 | ||||
nproc | 1 | |||||
owner | contact | bernd@example.com | ||||
location | latitude | |||||
longitude | ||||||
altitude | Nutzung noch unklar | |||||
system | site_code | ffpi | ||||
role | node | |||||
software | fastd | enabled | true | |||
version | v17 | |||||
port | 10000 | |||||
autoupdater | enabled | true | ||||
branch | stable | |||||
batman-adv | version | 2015.0 | ||||
compat | 15 | |||||
firmware | base | gluon-v2016.2.4 | Betriebssystemversion | |||
release | 0.8.1 | Pinneberger Firmwarebezeichnung |
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 |
Datenblock 160 | Beschreibung | |||||
---|---|---|---|---|---|---|
batadv | <mac> | neighbours | <mac> | lastseen | ||
tq | ||||||
wifi | <mac> | neighbours | <mac> | noise | ||
inactive | ||||||
signal | ||||||
nodeid |
RESTORE