Ich habe 11 OpenWRT-basierte Accesspoints im Gebäude. Manchmal muss ich ein virtuelles Netzwerk mit benutzerdefiniertem Passwort hinzufügen. Ich möchte nicht durch Accesspoints iterieren, um Parameter zu ändern. Das ist schwierig und führt zu Fehlern.
Ich hätte gern einen dedizierten Server (eine virtuelle Maschine), der alle Konfigurationen speichert und aktualisiert. Gibt es dafür eine Lösung?
Ich weiß, dass ich ein Skript erstellen kann, das eine Konfiguration für jeden Accesspoint generiert und diese dann per SCP an alle Geräte sendet, aber bevor ich etwas von Grund auf neu mache, frage ich lieber hier nach. Ich habe nicht vor, das Rad neu zu erfinden (es sei denn, das Rad ist tatsächlich noch nicht erfunden). Ich denke, dass die gleichzeitige Konfiguration ein recht häufiges Problem in einem typischen Netzwerk mit Accesspoints ist.
Update: Dies ist nicht nur ein Passwortproblem – es ließe sich durch den Einsatz eines Radius-Servers lösen, allerdings kann Radius einige andere Dinge nicht lösen, wie zum Beispiel:
- Erstellen neuer Essids
- Zuweisen von ESSIDS zu VLANs
- Aktivieren/Deaktivieren der ESSID-Übertragung
- usw., usw., usw.
Antwort1
Du hast gefragt: "OpenWrt-Konfiguration auf dem Remote-Server: Gibt es dafür eine Lösung?"
Ich beschäftige mich täglich mit mehr als 80 OpenWRT-Boxen (drei Hardwareplattformen, auf denen eine Mischung aus Backfire (einige), Attitude Adjustment (die meisten) und Barrier Braker (einige) läuft) und ... letztes Jahr habe ich angefangen zu suchentiefüber eine „Konfigurationsmanagement“-Plattform, die für OpenWRT geeignet ist.
Hier unten meine Ergebnisse:
OpenWISP: meiner Meinung nach ist es sehr vielversprechend. Sie haben eine „benutzerdefinierte“ Firmware erstellt (nichts weiter als die „Standard“-Firmware mit einigen hinzugefügten Bash-Skripten und einer benutzerdefinierten Liste bereits installierter Pakete), die nach dem Flashen einfach eine „Verbindung“ (über einen OpenVPN-Client) zum zentralen Server herstellt und die Konfiguration herunterlädt, um sie lokal anzuwenden. Es gibt auch eine nette Weboberfläche, mit der Sie neue APs einfach „bereitstellen“ können. Leider ist es nicht perfekt: „Vorlagen“ (von Konfigurationen) können beispielsweise definiert und angewendet werden, aber … danach werden Änderungen an der VorlageNICHTan untergeordnete APs übertragen werden. Außerdem ist der gesamte Management-Software-Stack in Ruby (und Rails) geschrieben und … das könnte ein Problem sein, wenn Sie diese Sprachen/Plattformen nicht „beherrschen“. Als wir es getestet haben, basierte es auf Backfire. Wenn ich mich nicht irre, ist es jetzt auch als aktualisierte Version verfügbar (Attitude oder Barrier, ich weiß es nicht mehr). Außerdem wird die Website sicherlich nicht oft aktualisiert, also … schauen Sie für detaillierte Informationen im GitHub-Repository nach. Kurz gesagt: Es ist definitiv einen Blick wert.
Science-Fiction: eine Plattform, die von einer brasilianischen Universität entwickelt wurde (soweit ich weiß... alsdie Dokumentationscheint brasilianisch zu sein), das scheint interessant. Es ist etwas alt (ein paar Jahre), scheint aber trotzdem interessant zu sein. Die Verwaltungsplattform ist JavaEE (JBoss) mit PostgreSQL als Backend. Es sollte – wenn ich mich nicht irre – auf der Standard-Firmware implementiert werden können.
AirKey: Sie erklären sich mit: "AirKey ist eine zentrale Verwaltungsplattform für OpenWRT-basierte Access Points.". Ich habe nicht viel nachgeforscht, da es nicht oft aktualisiert wird (letzte Aktualisierung vor 4 Jahren!)
TrägerWRT, könnte auch von Interesse sein, auch wenn es nicht direkt mit der zentralen Verwaltung zusammenhängt. Soweit ich mich erinnere, ist hier die begrenzte Hardwareunterstützung ein Showstopper (aber prüfen Sie das bitte selbst).
Wie du gesagt hast: "Ich habe nicht vor, das Rad neu zu erfinden (es sei denn, das Rad ist tatsächlich noch nicht erfunden)", könnten Sie versucht sein, selbst etwas zu bauen. Beachten Sie in einem solchen Fall bitte Folgendes:
- OpenWRT unterstützt dieJSON-RPC-APImit dem Sie ganz einfach mit UCI interagieren können, indem Sie ... JSON und REST verwenden. Wenn Sie solche Technologien beherrschen, könnte das interessant sein. Lassen Sie mich hinzufügen, dass ich (vorsichtig) versucht habe, etwas zu tun, aber ... es scheint, dass sich nach BackFire etwas geändert hat, und - wenn ich recht habe - was mit BackFire funktioniert hat, wird mit AA und BB nicht funktionieren (überprüfen Sie es noch einmal selbst).
Nach all dem kam ich zu dem Schluss, dass es Zeit war, auf eine "offizielle" Konfigurationsmanagement-Plattform umzusteigen, und was die typische Einschränkung der OpenWRT-Plattform betrifft, ist meine WahlAnsibleda es auf SSH ausgeführt werden kann und keine anderen ernsthaften Abhängigkeiten hat. Für solche Szenarien gibt es bereits etwas, das gebaut wurde (sieheHierUndHier), aber ich muss es noch testen.
Daher stimme ich dem Kommentar von @Michael Hampton zu.Ansible ist hierfür nahezu ideal" und sollte meiner Meinung nach als Erstes zu bewerten sein, da Sie Ihre einzelne OpenWRT-Box schließlich als ein allgemeines Linux-System betrachten können, das mit einer „gemeinsamen“ Konfigurationsverwaltungs-Engine verwaltet werden soll.
Antwort2
Über OpenWISP: Es gibt jetzt eine neue Manager-Software, die nicht auf Ruby basiert. Die Installation ist ziemlich unkompliziert:OpenWISP 2-Controller
Sie können es auch in Ihr bestehendes Django-Projekt integrierendurch Erweiterung seines Hauptmoduls: django-netjsonconfig.
Außerdem müssen Sie keine neue OpenWisp-Firmware für Ihre Router kompilieren, sondern können einfach die Konfigurationskomponente installieren, mit der Ihre aktuelle OpenWRT-Installation vom Manager bereitgestellt wird:openwisp-Konfiguration.
Sie können diese Komponente beispielsweise durch die Eingabe des folgenden Befehls installieren:
opkg install http://downloads.openwisp.org/openwisp-config/latest/ar71xx/openwisp-config-nossl_0.4.1a-1_ar71xx.ipk
Grüße!
Cassio
Antwort3
Dies ist nicht genau die Antwort auf Ihre Frage, aber Sie sollten RADIUS als Authentifizierungsmechanismus in Betracht ziehen, anstatt die Konfiguration jedes APs zu aktualisieren. Soweit ich weiß, benötigen Sie eine flexible Benutzer-/Passwortkonfiguration.