Sprachauswahl:
Skip to main navigation Skip to main content Skip to page footer

Didactum Monitoring & FreeRADIUS Integration

Vollständige Schritt-für-Schritt-Anleitung zur Einbindung von Didactum Monitoring-Geräten in einen FreeRADIUS-Server – inklusive OID-Referenz und MIB-Importkonfiguration.

  • Server: FreeRADIUS 3.x (Ubuntu / Debian)
  • Protokoll: RADIUS + SNMP v1/v2c/v3
  • Gerät: Didactum Monitoring System 100 / 300T / 500T / 550T

1. Voraussetzungen und Systemüberblick

Server-Anforderungen

  • Ubuntu 20.04 / 22.04 LTS oder Debian 11/12
  • Mindestens 512 MB RAM, 1 CPU
  • Statische IP-Adresse (z.B. 192.168.1.10)
  • Root- oder sudo-Zugang
  • UDP-Ports 1812 (Authentifizierung) und 1813 (Accounting) geöffnet

Didactum-Gerät

  • Monitoring System 100T, 300T / 500T oder 550T
  • Firmware mit RADIUS-Unterstützung
  • Netzwerkzugang zum RADIUS-Server
  • SNMP aktiviert (v1/v2c/v3)
  • MIB-Datei (aus dem Web-Interface ladbar)

Was leistet RADIUS beim Didactum?

Didactum-Monitoring-Geräte unterstützen RADIUS zur zentralen Benutzerauthentifizierung im Web-Interface. Statt lokaler Benutzerkonten direkt auf dem Gerät werden Anmeldedaten gegen einen zentralen RADIUS-Server geprüft. Das ermöglicht einheitliches Benutzermanagement für mehrere Didactum-Geräte gleichzeitig.

Netzwerk-Architektur

[Administrator-Browser]
       | HTTPS Login
       v
[Didactum Monitoring System]  --RADIUS-->  [FreeRADIUS Server]
  IP: 192.168.1.50                           IP: 192.168.1.10
  Port: 443 (WebUI)                          Port: 1812/UDP
       |
       | SNMP (OID-Abfragen)
       v
[NMS / PRTG / Zabbix / Nagios]

2. FreeRADIUS installieren und Grundkonfiguration

Schritt 1 – System aktualisieren und FreeRADIUS installieren

sudo apt update && sudo apt upgrade -y
sudo apt install freeradius freeradius-utils -y

Status prüfen:

sudo systemctl status freeradius

Schritt 2 – FreeRADIUS im Debug-Modus starten

sudo systemctl stop freeradius
sudo freeradius -X

Erfolgreicher Start: 

Am Ende der Ausgabe muss erscheinen: Ready to process requests — Mit Strg+C beenden.

Schritt 3 – Konfigurationsverzeichnis

/etc/freeradius/3.0/
├── radiusd.conf     <-- Hauptkonfiguration
├── clients.conf     <-- RADIUS-Clients (z.B. Didactum-Geräte)
├── users            <-- Lokale Benutzer
├── mods-available/  <-- Verfügbare Module
├── mods-enabled/    <-- Aktive Module (Symlinks)
└── sites-enabled/   <-- Aktive virtuelle Server

Wichtig: 

Vor jeder Änderung Sicherungskopie anlegen:

sudo cp /etc/freeradius/3.0/clients.conf /etc/freeradius/3.0/clients.conf.bak

3. Didactum als RADIUS-Client einrichten

Jedes Gerät, das RADIUS-Anfragen stellen darf, muss in der Datei clients.conf eingetragen sein.

Schritt 1 – clients.conf öffnen

sudo nano /etc/freeradius/3.0/clients.conf

Schritt 2 – Didactum-Eintrag am Dateiende hinzufügen

# -------------------------------------------------------
# Didactum Monitoring System – RADIUS Client
# -------------------------------------------------------
client didactum-monitor-01 {
    ipaddr     = 192.168.1.50
    secret     = Ihr_Geheimnis_Hier_Aendern
    shortname  = didactum-01
    nastype    = other
}

Sicherheitshinweis: Das secret muss mindestens 16 Zeichen lang sein und wird identisch im Didactum Web-Interface hinterlegt.

Schritt 3 – Variante: Ganzes Subnetz freischalten

client didactum-netz {
    ipaddr     = 192.168.1.0/24
    secret     = Subnetz_Geheimnis
    shortname  = didactum-subnet
    nastype    = other
}

4. Benutzer Authentifizierung konfigurieren

Schritt 1 – Lokale Benutzer anlegen

sudo nano /etc/freeradius/3.0/users

Folgende Einträge am Anfang der Datei einfügen (vor dem DEFAULT-Block). Die Einrückung der zweiten Zeile ist syntaktisch zwingend:

admin       Cleartext-Password := "SicheresPasswort123!"
            Reply-Message = "Willkommen, Administrator"

readonly    Cleartext-Password := "ReadOnly456#"
            Reply-Message = "Willkommen, Lesezugriff"

techniker   Cleartext-Password := "Technik789$"
            Reply-Message = "Willkommen, Techniker"

Schritt 2 – PAP-Modul aktivieren

ls -la /etc/freeradius/3.0/mods-enabled/ | grep pap

sudo ln -s /etc/freeradius/3.0/mods-available/pap \
           /etc/freeradius/3.0/mods-enabled/pap

Schritt 3 – Dienst neu starten

sudo systemctl restart freeradius
sudo systemctl status freeradius

5. Didactum Web-Interface konfigurieren

Web-Interface öffnen: 192.168.1.50 (IP des Geräts anpassen)

Navigation

Systemeinstellungen → Netzwerk → RADIUS

Folgende Werte eintragen

Feld im Didactum Web-InterfaceWert
RADIUS aktivierenAktiviert
Server-IP / Primary Server192.168.1.10
Port1812
Shared SecretIdentisch mit secret aus clients.conf
AuthentifizierungsmethodePAP
Timeout5 Sekunden
Retry / Versuche3
Fallback auf lokale KontenAktiviert

Wichtig: 

Lokalen Admin-Zugang vorher testen und notieren – er ist der Fallback falls RADIUS nicht erreichbar ist.

6. SNMP OID-Referenz

Alle Didactum-OIDs beginnen mit .1.3.6.1.4.1.46501 (ältere Firmware) bzw. .1.3.6.1.4.1.39052 (neuere Modelle). Die Sensor-ID wird am Ende angehängt.

OID-Felder je Sensor

FeldBedeutungBeispiel (Sensor-ID 101001)
.1.x.SENSOR_IDSensor-ID.1.3.6.1.4.1.46501.5.1.1.1.101001
.5.x.SENSOR_IDSensor-Name.1.3.6.1.4.1.46501.5.1.1.5.101001
.6.x.SENSOR_IDStatus (0=OK, 1=Alarm).1.3.6.1.4.1.46501.5.1.1.6.101001
.7.x.SENSOR_IDMesswert (aktuell).1.3.6.1.4.1.46501.5.1.1.7.101001

Konkrete OIDs nach Sensortyp

SensortypSensor-IDOID – MesswertOID – Status
Temperatursensor (digital)101001.1.3.6.1.4.1.46501.5.1.1.7.101001.1.3.6.1.4.1.46501.5.1.1.6.101001
Temperatursensor (analog)201001.1.3.6.1.4.1.39052.5.2.1.7.201001.1.3.6.1.4.1.39052.5.2.1.6.201001
Wassersensor / Leckage107001.1.3.6.1.4.1.46501.5.1.1.7.107001.1.3.6.1.4.1.46501.5.1.1.6.107001
Luftfeuchtigkeit102001.1.3.6.1.4.1.46501.5.1.1.7.102001.1.3.6.1.4.1.46501.5.1.1.6.102001
Potentialfreier Kontakt101003.1.3.6.1.4.1.39052.5.1.1.7.101003.1.3.6.1.4.1.39052.5.1.1.6.101003
Türkontakt104001.1.3.6.1.4.1.46501.5.1.1.7.104001.1.3.6.1.4.1.46501.5.1.1.6.104001
Rauchmelder106001.1.3.6.1.4.1.46501.5.1.1.7.106001.1.3.6.1.4.1.46501.5.1.1.6.106001

Sensor-ID herausfinden: Im Didactum Web-Interface unter Systembaum → Sensor → Details.

Temperaturwert: Rohwert ÷ 10 = Grad Celsius (Beispiel: 235 = 23,5 °C)

SNMP-Abfrage testen

# Temperaturwert (SNMPv2c)
snmpget -v 2c -c public 192.168.1.50 .1.3.6.1.4.1.46501.5.1.1.7.101001 # Leckage-Status (SNMPv2c)
snmpget -v 2c -c public 192.168.1.50 .1.3.6.1.4.1.46501.5.1.1.6.107001 # Temperaturwert (SNMPv3)
snmpget -v 3 -l authPriv -u snmpuser -a SHA -A "AuthPasswort" \ -x AES -X "PrivPasswort" 192.168.1.50 .1.3.6.1.4.1.46501.5.1.1.7.101001

7. MIB-Import-Konfiguration

Schritt 1 – MIB-Datei herunterladen

Systemeinstellungen → SNMP → "MIB-Datei herunterladen" → didactum.mib

Schritt 2 – MIB-Referenzkonfiguration

-- ============================================================
-- DIDACTUM-MIB Importkonfiguration
-- Kompatibel mit: iReasoning MIB Browser, PRTG, Zabbix,
--                 Nagios, Check_MK, OpenNMS
-- ============================================================

DIDACTUM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32,
    enterprises                     FROM SNMPv2-SMI
    DisplayString                   FROM SNMPv2-TC;

didactum MODULE-IDENTITY
    LAST-UPDATED    "202401010000Z"
    ORGANIZATION    "Didactum Ltd."
    CONTACT-INFO    "support@didactum.eu"
    DESCRIPTION     "Didactum Monitoring System MIB"
    ::= { enterprises 46501 }

-- Spalten der Sensor-Tabelle:
-- .1  = Sensor-ID      .5  = Sensor-Name
-- .6  = Status         .7  = Messwert
--
-- Temperatur:  Rohwert x 0.1 = Grad Celsius (235 = 23.5 C)
-- Leckage:     0 = trocken, 1 = Wasser erkannt
-- Kontakt:     0 = offen,   1 = geschlossen

sensorName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Konfigurierter Name des Sensors"
    ::= { enterprises 46501 5 1 1 5 }

sensorStatus OBJECT-TYPE
    SYNTAX      INTEGER { ok(0), alarm(1), noConnect(2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "0=OK, 1=Alarm, 2=Kein Signal"
    ::= { enterprises 46501 5 1 1 6 }

sensorValue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Messwert des Sensors"
    ::= { enterprises 46501 5 1 1 7 }

END

Schritt 3 – MIB auf Linux installieren

sudo cp didactum.mib /usr/share/snmp/mibs/
echo "mibdirs /usr/share/snmp/mibs" >> ~/.snmp/snmp.conf
echo "mibs ALL" >> ~/.snmp/snmp.conf
snmpwalk -v 2c -c public -m ALL 192.168.1.50 enterprises.46501.5.1.1

Schritt 4 – MIB in PRTG importieren

1. didactum.mib kopieren nach:
   C:\Program Files (x86)\PRTG Network Monitor\snmpmibs\
2. PRTG-Dienst neu starten
3. Sensor hinzufügen: "SNMP Custom OID"
   OID: .1.3.6.1.4.1.46501.5.1.1.7.SENSOR_ID
4. Temperatursensor: Skalierungsfaktor 0.1, Einheit °C

8. Fehlerbehebung (Troubleshooting)

Schritt 1 – RADIUS lokal testen

radtest admin SicheresPasswort123! 127.0.0.1 1812 testing123
# Erfolg: Received Access-Accept

Schritt 2 – Debug-Modus

sudo systemctl stop freeradius
sudo freeradius -X 2>&1 | tee /tmp/radius-debug.log

Fehlermeldungen und Lösungen

MeldungUrsache & Lösung
Access-AcceptAuthentifizierung erfolgreich
Access-RejectFalsches Passwort oder Benutzer fehlt → users-Datei prüfen
Client not foundIP nicht in clients.conf → Didactum-IP eintragen
Shared secret is incorrectSecret stimmt nicht überein → in clients.conf und WebUI angleichen
No responseFirewall blockiert Port 1812/UDP → Regel prüfen

Schritt 3 – Firewall-Regeln (Ubuntu UFW)

sudo ufw allow 1812/udp
sudo ufw allow 1813/udp
sudo ufw allow from 192.168.1.50 to any port 1812 proto udp

Schritt 4 – Logs einsehen

sudo tail -f /var/log/freeradius/radius.log
sudo journalctl -u freeradius -f --since "1 hour ago"

9. Abschluss-Checkliste

FreeRADIUS Server

  • FreeRADIUS installiert und Dienst läuft
  • clients.conf: Didactum-IP und Secret eingetragen
  • users-Datei: Mindestens ein Benutzer angelegt
  • PAP-Modul aktiviert (mods-enabled/pap)
  • Ports 1812 und 1813 UDP in der Firewall geöffnet
  • radtest lokal erfolgreich (Access-Accept)
  • Autostart aktiviert: sudo systemctl enable freeradius

Didactum Gerät

  • RADIUS aktiviert im Web-Interface
  • Server-IP des RADIUS-Servers eingetragen
  • Port 1812 eingetragen
  • Shared Secret identisch mit clients.conf
  • Fallback auf lokale Konten aktiviert
  • SNMP aktiviert (v1/v2c oder v3)
  • MIB-Datei heruntergeladen
  • Login-Test mit RADIUS-Benutzer erfolgreich

SNMP / OIDs

  • MIB-Datei in NMS importiert
  • snmpwalk / snmpget erfolgreich getestet
  • Sensor-IDs aus Web-Interface notiert
  • Temperatursensor-OID im NMS eingerichtet
  • Leckage-OID überwacht und Alarmierung konfiguriert

Sicherheit

  • Starkes Shared Secret (mindestens 16 Zeichen)
  • Sichere Benutzerpasswörter gesetzt
  • Nur benötigte IPs in clients.conf
  • SNMP Community String geändert (nicht „public")
  • SNMPv3 für produktive Umgebungen geprüft
  • Log-Rotation für radius.log konfiguriert

Diese Webseite nutzt Cookies

Diese Webseite nutzt Cookies zur Verbesserung des Erlebnisses unserer Besucher. Indem Sie weiterhin auf dieser Webseite navigieren, erklären Sie sich mit unserer Verwendung von Cookies einverstanden.

Essenzielle Cookies ermöglichen grundlegende Funktionen und sind für die einwandfreie Funktion der Website erforderlich.
Statistik Cookies erfassen Informationen anonym. Diese Informationen helfen uns zu verstehen, wie unsere Besucher unsere Website nutzen.
Marketing-Cookies werden von Drittanbietern oder Publishern verwendet, um personalisierte Werbung anzuzeigen. Sie tun dies, indem sie Besucher über Websites hinweg verfolgen.