NetAdmin
Selbst gehostete Netzwerkverwaltung mit Monitoring, RBAC und TOTP-2FA – in reinem PHP, ohne Framework-Ballast.
Über das Projekt
NetAdmin ist eine selbst gehostete Web-Anwendung zur Verwaltung und Überwachung von Heim- und Kleinunternehmens-Netzwerken. Sie bündelt Geräteverwaltung, Netzwerk-Scanning, Ping-/Traceroute-Monitoring und eine visuelle Netzwerk-Topologie in einer einzigen, bewusst schlanken PHP-Anwendung – ohne Composer, ohne JavaScript-Framework.
NetAdmin zeigt, wie viel sich mit reinem PHP ohne Framework sauber umsetzen lässt – von einer eigenen TOTP-Implementierung nach RFC 6238 über zustandsbewusstes Alerting bis zu einem vollständigen RBAC-System mit automatischer Migration bestehender Installationen. Der Fokus lag durchgehend auf nachvollziehbarer, getesteter Sicherheitsarchitektur statt auf Feature-Wildwuchs.
Architektur
PHP 8.1+ Backend (ohne Framework)
Das gesamte Backend ist in reinem PHP 8.1+ ohne Composer-Abhängigkeiten umgesetzt. PDO/MySQL bildet die Datenbankschicht; sämtliche Sicherheitsmechanismen – TOTP, CSRF, Rate-Limiting – sind selbst implementiert.
- Keine externen Abhängigkeiten – vollständige Kontrolle
- PDO/MySQL für sichere, parametrisierte Datenbankzugriffe
- Schema-Migrationen laufen automatisch beim Start
- TOTP nach RFC 6238 ohne Bibliothek
Bootstrap 5 + Vanilla JavaScript
Das Frontend kommt ohne JavaScript-Framework aus. Chart.js liefert die Live-Charts des Dashboards, Vis.js den interaktiven Topologie-Editor.
- Responsive UI mit Bootstrap 5
- Live-Charts mit Chart.js
- Interaktiver Drag-&-Drop-Topologie-Editor mit Vis.js
- Kein Build-Schritt, keine Node-Abhängigkeiten
Background-Worker (systemd / Cron)
Ping- und Traceroute-Monitoring läuft als eigenständige CLI-Worker-Prozesse außerhalb des Web-Requests. Eine Status-Seite zeigt anhand der letzten Läufe, ob die Worker tatsächlich aktiv sind.
- Eigenständige CLI-Worker für Ping und Traceroute
- Steuerung über systemd oder Cron
- fping, mtr und traceroute als Systemwerkzeuge
- Worker-Status-Erkennung ohne externe Prozess-Überwachung
Zustandsbasiertes Alerting
Benachrichtigungen werden nur beim Übergang zwischen Zuständen (online → offline) versandt – nicht bei jedem fehlgeschlagenen Ping. Das verhindert Benachrichtigungs-Spam bei längerem Ausfall.
- Zustandsmaschine für Geräteverfügbarkeit
- Alerting nur bei Zustandsübergängen
- E-Mail und Webhooks (Slack, Discord, ntfy)
- Konfigurierbare Schwellenwerte für Paketverlust
Umfang & Zahlen
Kernfunktionen
Geräteverwaltung & Netzwerk
Zentrale Verwaltung aller Netzwerkgeräte – mit Kategorisierung, Netzwerkgruppen und automatischem Scan.
- Geräteverwaltung mit Kategorisierung und Netzwerkgruppen
- CSV-Import und -Export
- Automatischer Netzwerk-Scan (fping, mDNS, NetBIOS, MAC-Erkennung)
- Wake-on-LAN per Klick direkt aus der Geräteliste
- IP-Pool-Übersicht: freie Adressen je Subnetz
- VLAN-Verwaltung
Monitoring & Alerting
Kontinuierliches Ping- und Traceroute-Monitoring mit Live-Charts und zustandsbasiertem Alerting ohne Benachrichtigungs-Spam.
- Kontinuierliches Ping- und Traceroute-Monitoring über Background-Worker
- Dashboard mit Live-Charts (Chart.js) und CSV-Export
- Worker-Status-Seite mit Erkennung inaktiver Monitoring-Prozesse
- E-Mail-Alerting bei Ausfällen und Paketverlust
- Webhook-Alerting (Slack, Discord, ntfy-kompatibel)
- Zustandsbasiertes Alerting – kein Benachrichtigungs-Spam
Netzwerk-Topologie
Interaktiver Editor für die visuelle Darstellung der Netzwerkstruktur.
- Interaktiver Topologie-Editor mit Drag & Drop (Vis.js)
- Geräte und Verbindungen visuell erfassen
- Übersichtliche Darstellung der gesamten Netzwerkstruktur
Sicherheit & Zugriffskontrolle
Rollenbasiertes Berechtigungskonzept, TOTP-2FA nach RFC 6238 und umfassender Schutz gegen typische Angriffsvektoren.
- Drei Benutzerrollen: Admin, Operator, Betrachter
- Serverseitige Durchsetzung auf jeder schreibenden Aktion
- Optionale TOTP-2FA nach RFC 6238 – selbst implementiert, keine externen Abhängigkeiten
- Self-Service: eigenes Passwort und 2FA direkt im Benutzerkonto verwalten
- IP-basiertes Rate-Limiting gegen Brute-Force (nicht durch Session-Reset umgehbar)
- CSRF-Schutz auf jedem Formular, Audit-Logging sicherheitsrelevanter Aktionen
- bcrypt-Passwort-Hashing, Security-Header (CSP, X-Frame-Options u. a.)
Herausforderungen & Lösungen
TOTP-2FA ohne externe Bibliothek implementieren
Vollständige TOTP-Implementierung nach RFC 6238 in reinem PHP – HMAC-SHA1, Base32-Dekodierung, Zeitfenster-Toleranz und QR-Code-Generierung für den Authenticator-Setup, ohne eine einzige Composer-Abhängigkeit.
Alerting ohne Benachrichtigungs-Spam
Zustandsbasiertes Alerting mit einer einfachen State-Machine pro Gerät: Benachrichtigungen werden nur bei Zustandsübergängen (online ↔ offline) ausgelöst, nicht bei jedem einzelnen fehlgeschlagenen Ping.
Schema-Migrationen ohne ORM oder Migrationstool
Automatische Schema-Migrationen beim Anwendungsstart: Die Anwendung vergleicht die aktuelle Datenbankversion mit dem Soll-Stand und führt fehlende ALTER-TABLE- und INSERT-Statements selbstständig aus.
Technologien
Vision
NetAdmin zeigt, wie viel sich mit reinem PHP ohne Framework sauber umsetzen lässt – von einer eigenen TOTP-Implementierung über zustandsbewusstes Alerting bis zu einem vollständigen RBAC-System. Für Heimnetzwerke und kleine Unternehmen, die ihre Infrastruktur ohne Cloud-Dienste im Blick behalten wollen.
Weitere Projekte
Alle ansehenRP-Framework
Umfassende Plattform für den Betrieb und die Verwaltung von Roleplay-Communities – modular, skalierbar und professionell.
Familytool
Die digitale Familienzentrale – Kalender, Aufgaben, Belohnungen, Einkauf und mehr an einem Ort.
GTA-RP-Bankverwaltung
Webbasiertes Kreditverwaltungssystem für GTA RP-Banken – mehrere Banken parallel, eigenes Personal, eigene Konditionen.
Interesse oder Fragen?
Komm in unsere Discord-Community und tausche dich direkt mit uns aus.
Zur Discord-Community