Zum Inhalt springen
django-nms

Netz und RADIUS

Vom Tarif direkt in den RADIUS. Ohne Router-Login.

Tarifparameter am Dienst festlegen, und django-nms erzeugt FreeRADIUS-Einträge für MikroTik und Cisco ASR sowie Konfigurationsdateien für Linux-Router. Ausrollen per SSH, mit Audit und Sicherungen.

  • PPPoE und MAC-Auth in einem Generator
  • Sitzungen alle 60 Sekunden von jedem Edge-Router aktualisiert
  • Harte und weiche Sperre als eine Aktion aus der Host-Liste

Drei Plattformen, ein Datenmodell

Der Teilnehmer-Host (PPPoE-Login, IP-Adressen, Geschwindigkeiten, Limits, Sperren) wird einmal definiert. Das Ausgabeformat hängt von Ihrem Netz ab.

  • MikroTik RouterOS

    Mikrotik-Rate-Limit (Tag/Nacht) und mehrfache Mikrotik-Address-List-Attribute (z. B. business, nolimit). Aktive PPP-Sitzungen und Address-Lists per SSH ausgelesen.

  • Cisco ASR 1001-X

    Cisco-Service-Info für QoS auf IOS-XE ISG und IOS-XR BNG. Ein Parser für „show subscriber session“ ordnet Sitzungen per Login oder IP zu.

  • Linux-Router

    Export von client.cfg und ipforward.cfg (1:1-NAT) für DHCP-, NAT- und tc-Skripte. Ausrollen je Router über einen Jump-Host.

  • FreeRADIUS files

    Erzeugte users-Einträge: Cleartext-Password, Framed-IP-Address, Herstellerattribute. MAC-Auth in beiden Adressschreibweisen. Server nacheinander neu gestartet.

  • Sicherungen beim Ausrollen

    Verweigert leere Konfigurationen oder solche, die mehr als 10 % der Hosts entfernen. Redis-Locks, Debounce, Protokoll jedes Deployments.

  • In der Roadmap

    CoA und MikroTik-API

    Geschwindigkeitsänderungen ohne PPPoE-Neuanmeldung (RADIUS CoA) und Schreiben von Queues/Secrets über die RouterOS-API. Auf der Roadmap.

Live-Sitzungen: wer ist online, auf welchem Router

Alle 60 Sekunden fragt ein Hintergrundjob die aktivierten Edge-Router ab (MikroTik: /ppp active, Cisco: show subscriber session), ordnet Sitzungen per Login und dann per IP-Adresse den Hosts zu und speichert den Zeitpunkt der letzten Sichtung. Das Dashboard zeigt Sitzungen je Router, aktive und gesperrte Hosts nach Grund. Die Host-Liste hat ein Online/Offline-Badge und einen Listen/Karten-Umschalter.

  • Router und Jump-Hosts im Panel konfiguriert, SSH-Schlüssel nur auf der Platte
  • Eigener Befehl zum Sitzungsauslesen, gegen eine Positivliste geprüft
  • Eine Aktion „Sondieren“ speichert die Rohausgabe des Routers zur Diagnose

Harte und weiche Sperre

Ein Host hat einen Sperrgrund (Zahlung, DDoS, manuell) und einen Modus: hart entfernt den RADIUS-Eintrag, weich lässt einige hundert kbit/s, damit der Kunde eine Meldung sieht und zahlen kann. Ein Ablaufdatum deaktiviert den Host automatisch stündlich mit dem Grund „Zahlung“. Jede Änderung löst ein Konfigurations-Deployment aus, mit Debounce, um aufeinanderfolgende Klicks zu bündeln.

  • Massenaktionen: aktivieren, deaktivieren, weich sperren
  • Automatische Sperre nach Rechnungsfälligkeit: auf der Roadmap, alle Bausteine vorhanden
  • Umleitungsseite für gesperrte Nutzer (Captive Portal): auf der Roadmap

IPAM: Adresspools mit Belegungskarte

Ein IP-Netz hat Adresse und Maske, Gateway, Interface oder VLAN, DNS, Domäne, DHCP-Bereich. Ein Host gehört per Adresse zu einem Netz, ohne manuelle Verknüpfung. Die Adresskarte zeigt Rollen (Netz, Broadcast, Gateway, DHCP, Host), zugewiesene Hosts, freie Adressen und einen Verdichtungsplan.

  • Überlappungsprüfung zwischen Netzen
  • Nächste freie Adresse mit einem Klick
  • IPv6: auf der Roadmap

Technische Fragen

Ist RADIUS SQL-basiert?

Nein. django-nms erzeugt Einträge für das files-Modul von FreeRADIUS und rollt sie per SSH aus. Ein einfaches, auditierbares Modell ohne zusätzliche Datenbank. RADIUS SQL und Accounting stehen auf der Roadmap.

Schreibt das System Konfiguration auf MikroTik?

Heute liest es Sitzungen und Address-Lists per SSH und steuert den Verkehr über RADIUS-Attribute. Schreibzugriffe über die RouterOS-API (Queues, Secrets, Hotspot) stehen auf der Roadmap.

Funktioniert es mit einem anderen BNG als Cisco ASR?

Die RADIUS-Attribute sind Standard, die Authentifizierung funktioniert also. Der Sitzungsparser ist für IOS-XE und IOS-XR gebaut. Andere Plattformen ergänzen wir auf Anfrage.

Zeigen Sie uns Ihre Topologie

In einer technischen Demo gehen wir Ihre Edge-Router durch und zeigen, wie die Provisionierung aussähe.