Um die Logs meines OpenWrt-Routers auszuwerten, sende ich die Log-Einträge mittels syslog an Grafana Alloy. Alloy verarbeitet diese und sendet sie weiter an Grafana Loki, um sie dann mittels Grafana auszuwerten. Standardmäßig sendet OpenWrt die Log-Einträge anscheinend aber nur im RFC3164-Format. Für die Verarbeitung mit Alloy wollte ich diese aber im RFC5424-Format haben. Um das zu erreichen, kann man bspw. syslog-ng verwenden. Für OpenWrt gibt es ein entsprechendes Paket im offiziellen OpenWrt-Repository. Da ich auf meinem Homelab-Server aber syslog-ng sowieso bereits laufen habe, wollte ich es nicht unnötig auf meinem OpenWrt-Router installieren. Deshalb sende ich nun einfach die OpenWrt RFC3164-Log-Einträge an syslog-ng meines Homelab-Servers, der sie dann im RFC5424-Format an Alloy weiterreicht. Was ich dafür tun musste, erfahrt ihr in folgendem Beitrag
OpenWrt: Logs via syslog im RFC5424-Format an Grafana Alloy und Loki senden
OpenWrt: Ausgeschalteten Client mittels Wake-on-LAN starten
Um meinen ggf. ausgeschalteten Homelab-Server auch ohne physischen Zugriff aus der Ferne starten zu können, nutze ich Wake-on-LAN. Dazu verbinde ich mich einfach mit meinem OpenWrt-Router und kann dann über die Weboberfläche LuCI per Knopfdruck meinen Server starten. Falls euer Server mit LUKS voll-verschlüsselt ist, könnt ihr zudem euer System während des Bootvorgangs per SSH entsperren, wie ich bereits in einem anderen Beitrag beschrieben habe.
OpenWrt: mDNS über VLANs hinweg ermöglichen
Mein Heimnetzwerk habe ich aus Sicherheitsgründen in mehrere VLANs aufgeteilt. Bspw. sind meine vertrauenswürdigen Endgeräte, wie z.B. mein Notebook und Smartphone, im "trust"-VLAN und meine "smarten" Geräte, wie z.B. mein TV und Drucker, im "iot"-VLAN. Standardmäßig können Geräte im "iot"-VLAN keine direkte Verbindung zu Clients in meinen anderen VLANs aufbauen. Nun möchte ich aber trotzdem, dass meine Endgeräte z.B. meinen Drucker ohne manuelle Konfiguration finden und nutzen können. Hierfür unterstützt mein Drucker und viele andere IoT-Geräte mDNS (Zeroconf) (siehe auch AirPrint, Mopria, Bonjour etc.). Das Problem hierbei ist, dass mDNS nicht über die Grenzen eines VLANs hinweg funktioniert. Hierfür bedarf es eines sogenannten Reflectors oder Proxy. Für OpenWrt nutze ich hierzu Avahi. Hiermit können die Multicast-Anfragen von einem VLAN in andere VLANs durchgereicht werden. Wie ich das bei mir inkl. benötigten Firewallregeln umgesetzt habe, zeigt der folgende Beitrag.
OpenWrt: QR-Code für WLAN-Zugang erstellen
Aus Sicherheitsgründen sollte für das eigene WLAN ein sicherer Netzwerkschlüssel (Passwort) gewählt werden. Bei mir besteht dieser bspw. aus einer zufallsgenerierten Zeichenkette von 50 Zeichen. Für Familie, Freunde und Gäste ist es zumeist recht mühselig und nervig so einen langen WLAN-Netzwerkschlüssel fehlerfrei einzugeben. Aus diesem Grund habe ich für mein WLAN bzw. Gäste-WLAN einen QR-Code generiert. Diesen kann man mit seinem Endgerät dann einfach einscannen und sich mit dem WLAN verbinden, ohne dabei die SSID und den Netzwerkschlüssel kennen bzw. eintippen zu müssen. Das Ganze lässt sich mit OpenWrt recht einfach realisieren.
OpenWrt: GPS für GL-X3000-Router aktivieren und GPS-Daten im Netzwerk bereitstellen
Wie beim bisher von mir eingesetzten 4G-/LTE-Router GL-X750 (Spitz) unterstützt das 5G-/4G-Modem des Nachfolgers GL-X3000 (Spitz AX) den Empfang von GPS-Daten. Im Gegensatz zum GL-X750 bedarf es beim GL-X3000 jedoch keiner separaten externen GPS-Antenne.
Standardmäßig ist der GPS-Empfang des Modems deaktiviert. Zum Aktivieren sind sogenannte AT-Befehle an das Modem zu senden. Möchte man nun mit anderen Geräten diese GPS-Daten verarbeiten, so kann man bspw. mit gpsd die Daten im Netzwerk via TCP/UDP z.B. im NMEA-Format zum Abruf bereitstellen.