Externe Integration - OPNsense (Firewall, Netzwerkpräsenz, WireGuard)

Hallo zusammen,

Für diejenigen, deren Netzwerk über eine OPNsense-Firewall läuft, gibt es hier eine externe Integration, die sie in Gladys einbindet.

Was sie macht

Sie liest die OPNsense-API in Ihrem lokalen Netzwerk (Transport lokal) mit einem dedizierten API-Schlüssel alle 30 Sekunden. Nichts wird in die Cloud gesendet. Gladys hat keine native OPNsense-Integration; auf der Seite der Anwesenheitserkennung ergänzt sie Bluetooth, indem sie Geräte erkennt, die mit dem Wi-Fi verbunden sind.

Funktionen

  • Firewall: CPU, Speicher, Festplatte, Temperatur, Laufzeit, ausstehende Updates, Version, verbundene WireGuard-Peers.
  • Gateways (Status, Latenz, Verlust) und Schnittstellen (Durchsatz, Link, IP-Adresse).
  • Firewall-Regeln einer Kategorie (gladys standardmäßig) in Form von Schaltern.
  • Anwesenheit der Netzwerkgeräte (ARP-Tabelle und DHCP-Leases), nutzbar mit der Aktion „Anwesenheit prüfen“.
  • 6 Auslöser: Gateway, Gerät angekommen oder gegangen, neues Gerät, VPN-Peer, Service, Update verfügbar.
  • 6 Aktionen: Status lesen, Wake-on-LAN (durch VLANs), Alias, Service neu starten, nach Updates suchen, neu starten.
  • 4 Widgets: Firewall, Internetverbindung, Netzwerkgeräte, WireGuard-VPN.

Beispiele für Szenen:

  • Wenn das Haupt-Gateway offline geht → mir „Internet ist ausgefallen“ senden;
  • Wenn ein neues Gerät im Netzwerk erscheint → mir seinen Namen, Hersteller und seine IP senden;
  • Jeden Abend um 21 Uhr → das Tablet der Kinder zu einem gesperrten Alias hinzufügen, um 7 Uhr entfernen.

Die vier Widgets, generierte Illustration basierend auf dem Code mit fiktiven Daten, kein Screenshot

Installation

  • Über den Store: Nach „OPNsense“ suchen. Verfügbar innerhalb des Tages, abhängig von der Indexierung.
  • Oder über die Repository-URL: https://github.com/William-De71/gladys-opnsense.
  • Gladys 5.1.0 mindestens (Widgets und Szenen).

Konfiguration:

  1. In OPNsense einen dedizierten Benutzer mit den in der Dokumentation aufgeführten Rechten erstellen, dann einen API-Schlüssel (Datei key.txt).
  2. In Gladys die OPNsense-Adresse, den Schlüssel und das Geheimnis eingeben; „Zertifikat prüfen“ deaktiviert lassen mit dem ursprünglichen selbstsignierten Zertifikat.
  3. Auf „Verbindung testen“ klicken, dann Discovery starten und die gewünschten Geräte hinzufügen.
Benötigte OPNsense-Rechte

Lobby: Dashboard; System: Gateways; Status: Schnittstellen; Reporting: Traffic; Diagnostics: ARP-Tabelle; Services: Dnsmasq DNS/DHCP oder DHCP: Kea(v4); VPN: WireGuard: Status; Status: Services; System: Firmware (Update-Suche); Firewall: Regeln [neu] und Firewall: Kategorien (Schalter); Diagnostics: PF-Tabelle IP-Adressen (Alias); Diagnostics: System neu starten; Services: Wake on LAN (Plugin os-wol). Ein fehlendes Recht deaktiviert nur diese Funktion.

Bekannte Einschränkungen

  • Geschrieben nach der OPNsense-API 26.7 und getestet gegen eine gefälschte OPNsense: Feedback von echten Installationen ist willkommen.
  • Nur die Regeln des neuen Regel-Editors können umgeschaltet werden, nicht die automatischen Regeln.
  • Die Anwesenheitserkennung basiert auf der ARP-Tabelle: Ein Telefon im Standby verschwindet manchmal für einige Minuten (daher die Abwesenheitsverzögerung), und eine zufällige MAC-Adresse, die sich ändert, stört die Verfolgung.
  • Wake-on-LAN erfordert das Plugin os-wol. Kein OpenVPN oder IPsec für den Moment, nur WireGuard.

Feedback

Über ein GitHub-Issue oder als Antwort auf diesen Thread, mit den Versionen von Gladys, der Integration und OPNsense, und den Logs (DEBUG=gladys-integration-sdk).