Zum Hauptinhalt springen

Technitium DNS Smart-Home-Integration, kostenlos und Open Source

Technitium DNS-Integration für Gladys Assistant

Technitium DNS Server: Blockierpause, Statistiken, DHCP-Leases, Update-Hinweise.

Verfolge und steuere deinen Technitium DNS Server aus Gladys, über dein lokales Netzwerk: Pausiere seine Blockierung vom Dashboard aus für fünf Minuten, wenn eine Website nicht lädt, sieh seine Anfragen der letzten Stunde und des letzten Tages, zähle seine DHCP-Leases und erfahre, wann er nicht mehr antwortet oder ein Update erscheint.

Getestet mit einem echten Technitium DNS Server 15 (dem offiziellen Docker-Image), noch nicht mit einer echten Gladys-Installation: Rückmeldungen sind willkommen. Wenn etwas nicht wie beschrieben funktioniert, melde es im Gladys-Forum oder in den Issues.

Was du brauchst​

  • Gladys Assistant 5.1.0 oder neuer (5.2.0 oder neuer für die Taste Pause… des Widgets).
  • Technitium DNS Server 15 oder neuer, seine Weboberfläche von Gladys aus erreichbar (standardmäßig Port 5380).
  • Ein API-Token. Öffne in der Weboberfläche das Benutzermenü (oben rechts) → Create API Token, gib dein Passwort und einen Namen ein (zum Beispiel gladys) und kopiere das angezeigte Token. Das Token läuft nicht ab; lösche es unter Administration → Sessions, um es zu widerrufen.

Das Token handelt im Namen seines Benutzers. Der Benutzer admin darf alles. Um es einzuschränken, lege unter Administration → Users einen eigenen Benutzer an und gib seiner Gruppe diese Berechtigungen: Dashboard (Lesen), Settings (Lesen; Ändern, um die Blockierung zu pausieren), Cache (Löschen, für die Cache-Aktion), DHCP Server (Lesen, optional: ohne sie keine DHCP-Leases).

Einrichtung​

  1. Installiere die Integration aus dem Gladys-Katalog.
  2. Gib in der Konfiguration die Adresse deines Servers ein (zum Beispiel 192.168.1.2: Port 5380 wird ergänzt; oder die vollständige Adresse seiner Weboberfläche, etwa https://dns.example.net), sein API-Token und optional einen Namen. Zwei oder drei Server? Fülle auch die Abschnitte Zweiter Server und Dritter Server aus.
  3. Speichere und klicke dann auf Verbindung testen: Die Meldung unter der Taste zeigt für jeden Server, ob er antwortet, seine Version und den Status seiner Blockierung.
  4. Öffne den Tab Entdecken: ein Gerät pro Server. Klicke auf Hinzufügen, wähle einen Raum und speichere.

Optionen:

  • Selbstsignierte Zertifikate akzeptieren: für eine https://-Adresse, deren Zertifikat der Server selbst signiert hat. Lass sie für http://-Adressen aus.
  • Aktualisierungsintervall: wie oft die Server gelesen werden, von 30 Sekunden bis 5 Minuten (standardmäßig 1 Minute).
  • Blockierschalter ausschalten: was der Schalter des Geräts beim Ausschalten tut: die Blockierung 5 Minuten (Standard), 15, 30 oder 60 Minuten pausieren, oder sie deaktivieren, bis du ihn wieder einschaltest.
  • Sprache der Funktionsnamen: Englisch, Französisch, Deutsch oder Spanisch. Die Namen werden beim Hinzufügen eines Geräts vergeben (standardmäßig Französisch).

Das Gerät jedes Servers​

FunktionWas es ist
BlockierungSchalter: an, der Server blockiert die gelisteten Domains; aus, alles geht durch
DNS-Anfragen (letzte Stunde)Anfragen der letzten 60 Minuten
DNS-Anfragen (24 h)Anfragen des letzten Tages
Blockierte Anfragen (24 h)Blockierte Anfragen des letzten Tages
Anteil blockiert (24 h)Anteil der blockierten Anfragen, in %, gerundet
Clients (24 h)Geräte, die den Server am letzten Tag genutzt haben
ZonenZonen, die der Server hostet (deine eigenen Domains)
Blockierte DomainsDomains der Sperrlisten, plus die von Hand blockierten
Update verfügbar1, wenn eine neuere Technitium-Version erschienen ist, sonst 0
VersionDie installierte Version
DHCP-LeasesLeases der aktiven DHCP-Bereiche (nur wenn der DHCP-Server genutzt wird)

Der Tag ist der des Technitium-Dashboards (Last Day): die 24 vollen Stunden vor der aktuellen, er hinkt also bis zu einer Stunde hinterher. Das Abzeichen des Geräts zeigt Lokal, wenn der Server antwortet, sonst Nicht erreichbar. Das Aktivieren oder Deaktivieren eines DHCP-Bereichs fügt die Funktion DHCP-Leases hinzu oder entfernt sie: Gladys bietet dann im Tab Entdecken an, das Gerät zu aktualisieren.

Dashboard​

Füge das Widget Technitium DNS zu einem Dashboard hinzu. Standardmäßig zeigt es alle deine Server zusammen; wähle in seinen Einstellungen einen aus, um nur diesen zu zeigen. Einen Server von zweien zu pausieren ändert nichts: Deine Geräte fragen dann den anderen.

Das Widget zeigt die Anfragen, die blockierten Anfragen und den blockierten Anteil des letzten Tages, den Status jedes Servers (blockiert, pausiert mit den verbleibenden Minuten, deaktiviert, nicht erreichbar), die Anfragen der letzten Stunde, die Clients, die blockierten Domains, die DHCP-Leases und das verfügbare Update. Seine Tasten:

  • Pause 5 min und Pause 30 min: pausieren die Blockierung sofort;
  • Pause…: öffnet ein kleines Formular, um die Dauer in Minuten einzugeben (Gladys 5.2.0 oder neuer; ein älteres Gladys antwortet, dass es ein Update braucht);
  • Fortsetzen: schaltet die Blockierung wieder ein. Die Taste zeigt einen Haken, solange die Blockierung überall aktiv ist.

Szenen​

Auslöser​

  • Technitium-Blockierung pausiert: Die Blockierung wurde ausgeschaltet, über Gladys oder anderswo (die Weboberfläche, ein anderes Werkzeug). Filtere nach Server und nach Ursprung (Von Gladys oder Außerhalb von Gladys). Die Aktionen können den Namen des Servers und die Dauer der Pause in Minuten lesen (duration_minutes, 0 ohne Ende).
  • Technitium-Blockierung fortgesetzt: Die Blockierung ist wieder aktiv. Der Ursprung sagt, ob die Pause von selbst endete (Ende der Pause), über Gladys oder anderswo; paused_minutes sagt, wie lange sie dauerte.
  • Technitium-Update verfügbar: Eine neue Version von Technitium DNS Server ist erschienen. Einmal pro Version gemeldet, auch nach einem Neustart. version ist die neue Version, current_version die installierte.
  • Technitium antwortet nicht mehr: Ein Server hat zwei Abfragen in Folge nicht beantwortet (die zweite 15 Sekunden nach der ersten). Das DNS des Hauses ist vielleicht ausgefallen. error sagt warum, in der Sprache der Konfiguration.
  • Technitium antwortet wieder: Er ist zurück; down_minutes sagt, nach wie langer Zeit.

Ein abgelehntes Token zählt nicht als „antwortet nicht mehr“: Die Konfiguration meldet es.

Aktionen​

  • Technitium-Blockierung pausieren: pausiert die Blockierung auf einem Server oder, wenn das Feld leer bleibt, auf allen, für einige Minuten (standardmäßig 5, 0 bis zum Fortsetzen, höchstens ein Tag). Die folgenden Aktionen können lesen, wie viele Server pausiert wurden.
  • Technitium-Blockierung fortsetzen: schaltet die Blockierung wieder ein, auf einem oder allen Servern.
  • DNS-Cache von Technitium leeren: leert den DNS-Cache, zum Beispiel nach dem Ändern eines Eintrags, damit die nächsten Anfragen neu aufgelöst werden.
  • Technitium-Statistiken lesen: liest die Anfragen des letzten Tages in einen Satz, etwa „In den letzten 24 Stunden 12.345 DNS-Anfragen, davon 1.234 blockiert (10 %). Letzte Stunde: 456 Anfragen.“, in der Sprache der Konfiguration. Die folgenden Aktionen können ihn senden (sentence) oder die Zahlen verwenden (queries_last_day, blocked_last_day, blocked_percent, queries_last_hour, blocking_enabled).

Der Schalter Blockierung lässt sich auch mit der Standardaktion von Gladys verwenden, die ein Gerät steuert.

Szenen-Ideen​

  • Morgenbericht: jeden Tag um 8:00 Technitium-Statistiken lesen, dann die Ausgabe sentence in einer Nachricht senden.
  • DNS-Alarm: Technitium antwortet nicht mehr → eine Nachricht senden „Technitium {{triggerEvent.data.server}} antwortet nicht: {{triggerEvent.data.error}}“. Und Technitium antwortet wieder → „zurück nach {{triggerEvent.data.down_minutes}} min“.
  • Sicherheitsnetz: jeden Abend um 20:00 eine Szene mit Technitium-Blockierung fortsetzen, damit ein „bis zum Wiedereinschalten“ ausgeschalteter Schalter nie die ganze Nacht aus bleibt.

Fehlerbehebung​

  • „API-Token abgelehnt“: Das Token wurde gelöscht oder falsch kopiert. Erstelle ein neues und füge es in Gladys ein.
  • „Zugriff verweigert“: Dem Benutzer des Tokens fehlt eine Berechtigung (siehe Was du brauchst). Lesen braucht Dashboard und Settings (Lesen); Pausieren braucht Settings (Ändern).
  • „kein Technitium-Server unter dieser Adresse“: Dort antwortet etwas anderes. Die Weboberfläche lauscht standardmäßig auf Port 5380: Gib 192.168.1.2 oder http://192.168.1.2:5380 ein.
  • „Zertifikat abgelehnt“: Du hast eine https://-Adresse eingegeben; aktiviere Selbstsignierte Zertifikate akzeptieren oder verwende die http://-Adresse.
  • „die Adresse leitet um“: Die Weboberfläche leitet HTTP-Besucher auf HTTPS um; gib die https://-Adresse ein.
  • „antwortet nicht“: Prüfe, ob sich die Weboberfläche von einem Computer im Netzwerk von Gladys öffnen lässt. Namen mit .local funktionieren in der Integration meist nicht: Verwende die IP-Adresse.
  • Protokolle: auf der Seite der Integration in Gladys oder mit docker logs auf dem Host. Darin stehen der Start, jeder verlorene und wiedergefundene Server, die Probleme (jeweils einmal, nicht bei jeder Abfrage) und deine Befehle. Starte den Container mit LOG_LEVEL=debug, um jede Abfrage und jeden neuen Versuch zu sehen. Dein Token erscheint nie in den Protokollen.

Grenzen​

  • Eine Integration verwaltet bis zu drei Server. Ein Technitium-Cluster wird Server für Server gesehen; die Pause gilt für den gewählten Server (Technitium überträgt sie auf die anderen Knoten des Clusters).
  • Die Integration liest jeden Server einmal pro Aktualisierungsintervall (fünf kleine Anfragen) und lässt ihn alle sechs Stunden nach Updates suchen: Keine Quote ist in Gefahr.
  • Der blockierte Anteil wird im Gerät gerundet (Gladys hat keinen Sensor für Dezimalprozente); das Widget zeigt eine Nachkommastelle.
  • Keine Anwesenheitserkennung über die DHCP-Leases: Gladys hat dafür andere Wege.
  • Die Integration verwaltet weder die Zonen noch die Sperrlisten, die erlaubten oder blockierten Domains oder die DHCP-Bereiche: Nutze dafür die Weboberfläche.

Diese Integration ist nicht mit Technitium verbunden.

Konfigurationseinstellungen​

Diese Einstellungen fragt Technitium DNS in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Dein Technitium-ServersectionNeinTechnitium DNS Server 15 oder neuer. Erstelle in seiner Weboberfläche ein API-Token: Benutzermenü, Create API Token. Bis zu drei Server.
AdressestringJaIP-Adresse oder Name des Servers (standardmäßig Port 5380) oder die vollständige URL seiner Weboberfläche.
API-TokensecretNeinIn der Weboberfläche erstellt: Benutzermenü (oben rechts), Create API Token.
NamestringNeinName des Geräts in Gladys. Leer: „Technitium“ gefolgt von der Adresse.
Zweiter Server (optional)sectionNeinDieselben Felder, für einen weiteren Technitium-Server in deinem Netzwerk.
AdressestringNeinIP-Adresse oder Name des Servers (standardmäßig Port 5380) oder die vollständige URL seiner Weboberfläche.
API-TokensecretNeinIn der Weboberfläche erstellt: Benutzermenü (oben rechts), Create API Token.
NamestringNeinName des Geräts in Gladys. Leer: „Technitium“ gefolgt von der Adresse.
Dritter Server (optional)sectionNeinDieselben Felder, für einen weiteren Technitium-Server in deinem Netzwerk.
AdressestringNeinIP-Adresse oder Name des Servers (standardmäßig Port 5380) oder die vollständige URL seiner Weboberfläche.
API-TokensecretNeinIn der Weboberfläche erstellt: Benutzermenü (oben rechts), Create API Token.
NamestringNeinName des Geräts in Gladys. Leer: „Technitium“ gefolgt von der Adresse.
OptionensectionNein
Selbstsignierte Zertifikate akzeptierenbooleanNeinFür https://-Adressen mit selbstsigniertem Zertifikat. Nur für deine eigenen Server aktivieren.
AktualisierungsintervallselectNeinWie oft die Technitium-Server gelesen werden.
Blockierschalter ausschaltenselectNeinPausiert die Blockierung so lange oder bis der Schalter wieder eingeschaltet wird.
Sprache der FunktionsnamenselectNeinNamen der Funktionen beim Hinzufügen eines Geräts und Texte der Szenen-Ereignisse.

So installierst du Technitium DNS in Gladys​

  1. Öffne in Gladys Integrationen: Technitium DNS erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-technitium:1.0.0) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-technitium.

Technitium DNS benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Technitium DNS ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂