OpenWRT - Bandbreite der einzelnen Geräte anzeigen (Monitor)
Die meisten Router zeigen einen Überblick über alle verbundenen Geräte, manche eine Momentaufnahme der verwendeten Bandbreite, kaum einer gibt aber einen Überblick über die verbrauchte Datenmenge eines bestimmten Zeitraumes und schon gar nicht von welchem Gerät diese verbraucht wurde. Um die konsumierte Bandbreite etwas transparenter zu gestalten, war ich auf der Suche nach einer Möglichkeit die Bandbreite pro Gerät historisch aufzuzeichnen. Die Firmware von normalen Routern bieten hier kaum eine Möglichkeit, anders beim Einsatz einer Open-Source-Firmware, zum Beispiel OpenWRT, siehe: Alternative Router Firmware: OpenWrt und nicht mehr DD-WRT.
OpenWRT
OpenWRT ist OpenSource-Software und kann beliebig angepasst werden, wodurch zahlreiche UnterstĂĽtzer diverse Erweiterungen veröffentlicht haben. Praktisch habe ich fĂĽr die LEDE-Weboberfläche aber kein perfektes Paket fĂĽr ein Bandbreiten-Monitoring finden können. Die verfĂĽgbaren Softwarepakete fĂĽr OpenWRT integrieren sich nicht immer in dessen Weboberfläche und einige sind gefĂĽhlt etwas in die Jahre gekommen. Bestimmte Pakete wurde im Laufe der Zeit dann auch entfernt. Als Beispiel ist das Paket bandwithd in aktuellen OpenWrt-Versionen nicht mehr im Softwarekatalog.Â
Netlink Bandwidth Monitor
Der Netlink Bandwidth Monitor zeigt die Datenverteilung einzelner Geräte pro Monat. Die Installation erfolgt einfach über die Paketverwaltung durch die Installation des Paketes: luci-app-nlbwmon
Bei Auswahl eines gemounteten USB-Sticks, können die Daten darauf permanent gespeichert werden:
Yet Another Monitor (YAMon)
YAMon ist nicht direkt über die OpenWRT-Pakete verfügbar: Für die Installation wird ein Bash-Script angeboten. Um die Statistik-Daten zu speichern habe ich einen USB-Stick am Router verwendet auf welchen ich vorab auch gleich das Installationsscript abgelegt habe: install.sh, siehe usage-monitoring.com/. Die furchtbare Homepage des Herstellers war für mich anfangs ziemlich abschreckend, die Software an sich wirkt auch extrem alt, bietet dennoch jede Menge Statistik. Die Installation erfolgt dann durch das Verbinden mittels ssh auf den Router, als Voraussetzung habe ich auch die Pakete für den Zugriff auf den USB-Stick installiert und diesen gemountet:
opkg update && opkg install block-mount e2fsprogs kmod-fs-ext4 kmod-usb3 kmod-usb2 kmod-usb-storage darkstat
block detect > /etc/config/fstab
uci set fstab.@mount[0].enabled='1' && uci set fstab.@global[0].check_fs='1' && uci commit
/sbin/block mount
cd /mnt/sda1
./install.sh
Der Aufruf erfolgt dann ĂĽber die Router IP/yamon, z.B.: http://192.168.0.1/yamon
YAMon bietet wesentlich mehr Informationen, ist meiner Meinung nach aber etwas unĂĽbersichtlicher wie z.B. Bandwidthd.Â
collectd und Home Assistant
Die Kombination aus collectd, mqtt und Home-Assistant ermöglicht die Bandbreite bestimmter Interfaces aufzuzeichnen. Abgesehen vom Device-Tracker habe ich aktuell noch keine einfache Möglichkeit gefunden die Bandbreite einzelner Geräte in Home Assistant anzuzeigen und auszuwerten.
OpenWRT & Home Assistant: auswerten-visualisieren-reagieren
Geräte tauchen mehrfach auf: zufällige MAC-Adresse
Mobile Geräte besitzen eine Option für eine zufällige MAC-Adresse, wodurch sich diese mit unterschiedlichen MAC-Adressen melden und eine Zuordnung der Zugriff erschwert wird. Die Option kann in den WLAN-Einstellungen der einzelnen Geräte deaktiviert, indem die Einstellung "Geräte-MAC verwenden" aktiviert wird:
{{percentage}} % positiv