Also das Tool kann mehrere Router gleichzeitig steuern.
Als erstes legt man sich die Router an, auf die man grundsätzlich Zugriff hat. Falls Pageant mit einem SSH-Key läuft, lässt man das PW bei Konfiguration frei, ansonsten trägt man eben eins ein.
Alles was benötigt wird, ist im Programm mit drinn. Falls nötig, kann man auch WinSCP und PuTTY installieren lassen.
Ich sehe das Tool aber als ein funtionierenden Prototyp. Wäre toll, wenn das weiter oder anders entwickelt würde. Die Sourcen lade ich demnächst hoch!
Da hast Du Recht, aber die „allermeisten Menschen“ wissen leider auch kaum etwas mit der GUI anzufangen. Ich finde eine GUI wie das „Cockpit-Projekt“ auch sehr gut, aber der Funktionsumfang ist dann leider beschränkt und nach ein paar einfachen Einstellungen landet man dann doch wieder auf der Kommandozeile. Wenn jemand Lust hat so etwas zu coden, dann bin ich auch einer, der es gerne benutzen würde.
Vermutlich bin ich altmodisch: Ich starte nur ungern executables, wenn ich nicht ansatzweise erfahren darf, was die zu tun gedenken.
Keine Funktionsbeschreibung, keine Screenshots.
Kann ich verschmerzen, wenn es einen Source gibt in einem Dialekt, den ich halbwegs erfassen kann.
Aber einfach ein Windows-Executable „Admin-Tool“: Das hat nichts mit „Mistrauen gegenüber Leuten“ zu tun, sondern damit, dass ich auch bei einem „Für Lau“-Programm zumindest ein paar Zeilen vor dem Start gelesen haben möchte.
Die Tatsache, dass es so gar nichts gibt würde mir bei mir im normalfall wirklich alle Alarmglocken ( „Alt-F4 for Auto-Op“ ) schrillen lassen.
eine WebUi dafür habe ich schonmal gebastelt. Aktuell behandelt es nur DNS eines Knotens. Es Können also interne wie externe Domains auf eine feste IP (v4/v6) gebunden und verwaltet werden.
Dafür muss die Community nur in der Conf per Github eingetragen werden.
Einbindung weiterer Funktionen ist in der WebUI ohne weiteres möglich.
Ned schick, funzt aber.
irgendwie gruselt mich der thread hier …
windows oder linux … kurz lernen wie man die ganz basalen bash scripte schreibt und nutzt ist nicht schwer …
dann legt man dateien mit routeradressen an und lässt darüber scripte laufen.
Es liest sich als wolle man nicht lernen wie genau die Dinge auf den Routern funktionieren, wer die administrieren will - sollte die Werkzeuge kennen. meine Meinung.
#!/bin/bash
# Beispielscript zum erzwingen eines autoupdate
for router in $(ls meinerouter); do ssh -l root $router "autopupdate -f" ; done
Nicht jede/r ist mit Kommandozeile & Co schon in Berührung gekommen oder gar groß geworden.
Wenn man die Fraktion der (fast 100%-)GUI-Nutzer für die Mehrwerte und die (ansichtsache) Einfachheit von Kommandozeile & Scripten begeistern will, geht das z.B. mit einer GUI-Oberfläche, die zeitgleich anzeigt und beschreibt, wie genau diese Funktion eben (einfacher) per Kommandozeile geht.
Und die Geschmäcker sind grundverschieden bei GUI- oder eben Kommandozeile-Begeisterten.
Diskussionen wie diese haben manchmal züge von „Linux, nee OS X, nee Windows, nee beliebiges OS nennen ist aber besser! und du bist dooooof, weil Du mein $bestesallerOS nicht teilst, äääätsch“
Kurz: Jedem nach seiner Fason und gut ist. Wo ist eigentlich das Problem?
ich glaube das Problem „entsteht“ wenn Menschen nicht genau wissen was sie tun, aber ein Tool in der Hand haben mit dem mitunter hunderte Router ferngesteuert werden können - im extremfall sogar mit fest eingebauten ssh-key oder schlimmer ssh passwort.
Das tool hat dann womöglich ne freifeldfunktion in der man sonstwas eintippelt - weil hat man im Forum XY gelesen das sei gut …
# Troll: 100% TX Power am Router , einfach in der Shell folgendes eingeben
iw phy0 txpower set fixed 100
# BITTE NICHT ZUHAUSE NACHMACHEN
das ist der Teil der mich gruselt, nicht mal Windows, oder mac oder whatever. Ich erwarte von leuten die mehr als ihre eigenen Heimrouter maintainen eben ein minimum an Achtsamkeit, oder Wissen über die Vorgänge
Was mich interessieren würde, wäre weniger ein Admin Tool um Konfigurationen vorzunehmen, als vielmehr ein überwachungs Tool das mir schnell und einfach den Status mehrerer Router anzeigt. Wenn etwas nicht stimmt kann ich mich per SSH einloggen, aber dazu muss ich ja erst wissen das etwas nicht stimmt.
Meine Vorstellung:
man trägt seine Router mit den entsprechenden Zugängen in eine verschlüsselte Datei ein. Das Tool verbindet sich mit den Nodes über ssh und führt dort automatisiert ein paar Tests durch deren Ausgabe im Tool angezeigt wird. Die Ausgabe stelle ich mir in etwa so vor:
Custom Feld zum selber eintragen zb.: = „841er bei Omma Erna auffm Dach“
Router Model = „841“
Router Name = „XYZ“
SSID = „XYZ“
V6 Adresse = „xyz“
V4 Adresse = „xyz“
Firmware Version = „1234“
Uptime = „1234“
VPN zum Gateway = „Ja/Nein“
Verbindung vom Gateway ins Internet „Ja/Nein“
Domain Namen Auflösung möglich = „Ja/Nein“
Momentan verbundene Clients = „123“
Gesamt unique Clients der letzen 24 Stunden = „123“
Gesamt unique Clients der letzen 7 Tage = „123“
Gesamt unique Clients der letzen 30 Tage = „123“
Diese Ausgabe für jede Node schön neben einander angezeigt, dürfte bei der Überwachung mehrerer Nodes sehr hilfreich sein. Sowas müsste sich doch scripten lassen, oder? Ich bin auf der Shell leider noch nicht fit genug um sowas selber zu basteln
P.S.: Ob das jetzt eine Windows GUI ist oder ein Linux Shell Programm wäre mir schnurz…
Ich bin neu im Freifunk und würde daher auch ein Tool bevorzugen.
Da mich aber die Programmierung per Zeile dennoch sehr interessiert und ich mich mit PCs einigermaßen auskenne, gibt es bestimmte Seiten, Wikis oder Bücher, die man sich zu diesem Thema durchlesen könnte? Die Router laufen mit Linux als Basis? Die Eingabe nennt man Linux Shell?
äh, ein router der nicht mehr ins netz kommt den kannste auch nicht fernwarten, oder mit ssh „retten“ - eigentlich könnte der Meshviewer dazu besser sein …
aber was du willst ist vielleicht sowas wie : wegen admintool
#!/bin/bash
#
# do some foo
foo='echo -n "$(uname -n) "; echo -n "$(uptime)"; echo " Gateway $(batctl gwl |grep "=>")"'
# read every line from $1
# means you call the bash script with the ip_file
while read line ; do echo "#### try $line"; ssh -l root $line $foo; echo "##### $line ended with $?"; done < $1
Bash script ausführbar machen (chmod a+x ) und dann mit script <ip_liste_file> aufrufen… in diesem Fall Bsp output
#!/bin/bash
#
# use this script to change geoip
#
# usage : command IP lat lon <on|off>
#
# lat is ca 49
# lon is ca 7.9
# advanced : make osm links possible also
# http://www.openstreetmap.org/#map=19/48.00123/7.82461
if [[ $# < 2 || $# > 4 ]]; then
echo "usage :"
echo " $0 <IP_with_root_access> <lat> <lon> <on|off>"
echo " $0 <IP> <on|off>"
echo
echo "example: $0 fdf0:9bb:7814:a630:62e3:27ff:fe53:1526 48.00133 7.82529"
exit 1
fi
lat=$2
lon=$3
share=1
# check if @2 is http ...
if [[ $(echo -n $2) == http* ]] ;
then echo "sorry this http translate feature is not yet implementet" # some magic stripping of
fi
# for some reason deactivate sharing
if [[ $4 == "off" || $4 == 0 ]] ;
then share=0;
fi
# if only ip and status is set, default share=1
if [[ $2 == "off" || $2 == 0 ]] ;
then share=0;
fi
# make ssh connection with direct commands
ssh -lroot $1 "uci set gluon-node-info.@location[0].latitude=$lat ; uci set gluon-node-info.@location[0].longitude=$lon ; uci set gluon-node-info.@location[0].share_location=$share ; uci commit gluon-node-info"
# check if everything is fine
if [[ $? == 0 ]];
then echo "happily changed geo on $1 to $2 and $3 and make enable=$share"
else echo "something went wrong"
fi
# notes
# uci set gluon-node-info.@location[0].latitude=53.834470
# uci set gluon-node-info.@location[0].longitude=10.702518
# uci set gluon-node-info.@location[0].share_location=1
# uci commit gluon-node-info
Naja er muss ja nicht unbedingt nicht mehr ins netz kommen
aber wenn den wlan/off button drückt nützt es einem schon was wenn man das wifi wieder up bringen kann
Ein admin tool an sich finde ich von der Idee her schon klasse … es sollte dann aber einheitlich für alle üblichen Betriebsysteme verfügbar sein
einheitlich für alle üblichen Betriebsysteme verfügbar sein
= Webbasiert - wäre eh die nahe liegende Lösung, da einzelne Funktionen (Meshviewer, Gluon Configpage, etc.) schon webbasiert vorliegen und weite Teile der Wunschliste abdecken (imho).
Im Grunde müsste man einen abgespeckten Meshviewer/Hopglass (bei dem ich vorher festlegen kann das er nur meine Knoten anzeigt) vorschalten und dann die Eingabemaske von Gluon dahinter hängen und „etwas“ erweitern, so das dort mehr als ein Knoten mit LUCI Befehlen befeuert wird.
Eine solche Lösung wäre a) vielleicht leichter zukünftig zu warten, weil es auf Softwareteilen der Community besteht die eh schon existiert und b) absolut Plattform unabhängig, ansonsten müsste man mind. 5-6 Plattformen unterstützen (Win/OSX/Linux/Android/iOS/WinPhone) und das ist lästig.
Moin
Ich dachte eher an ein Modul für Webmin, mit dem man die Knoten fernwarten und administrieren kann. Entsprechende Konfiguration der Knoten (ssh-zugriff z.B.) vorausgesetzt.