Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision | ||
knb:ssh [2023/03/05 13:24] – [Releasezweig/Branch setzen] grische | knb:ssh [2023/03/05 14:10] – [WLAN zeitgesteuert ein- und ausschalten] grische | ||
---|---|---|---|
Zeile 413: | Zeile 413: | ||
==== Knoten-/ | ==== Knoten-/ | ||
In folgendem Beispiel wollen wir den Knotennamen oder auch Hostname genannt, ändern. Auch hier fragen wir zunächst ab, welcher Wert gesetzt ist: | In folgendem Beispiel wollen wir den Knotennamen oder auch Hostname genannt, ändern. Auch hier fragen wir zunächst ab, welcher Wert gesetzt ist: | ||
- | uci show | grep hostname | + | # pretty-hostname |
+ | ff_pliening_gbw_ug | ||
- | system.@system[0].pretty_hostname=' | + | Diesen Wert ändern wir nun in einen etwas sprechenderen Namen ab (hier sind auch Emojis zugelassen 😉): |
- | system.@system[0].hostname=' | + | |
- | + | ||
- | Diesen Wert ändern wir nun in einen etwas sprechenderen Namen ab: | + | |
- | uci set system.@system[0].pretty_hostname=' | + | |
- | uci commit system | + | |
Fragen wir nun erneut den geänderten Parameter ab, werden uns die aktualisierten Daten ausgegeben: | Fragen wir nun erneut den geänderten Parameter ab, werden uns die aktualisierten Daten ausgegeben: | ||
- | uci show | grep hostname | + | # pretty-hostname |
+ | ff_pliening_gänsbrunnenweg_ug | ||
- | system.@system[0].hostname=' | + | Auf der [[https:// |
- | + | ||
- | Auf der [[https:// | + | |
{{ : | {{ : | ||
+ | Siehe dazu auch den [[https:// | ||
==== Geodaten für die Kartenanzeige ==== | ==== Geodaten für die Kartenanzeige ==== | ||
Möchte man die im Router hinterlegten Geodaten abändern, da z.B. ein vorhandener Router seinen Aufstellungsort geändert hat, oder weil man zu besseren Darstellung auf der **[[https:// | Möchte man die im Router hinterlegten Geodaten abändern, da z.B. ein vorhandener Router seinen Aufstellungsort geändert hat, oder weil man zu besseren Darstellung auf der **[[https:// | ||
Zeile 439: | Zeile 436: | ||
Nach kurzer Zeit wird dann der Router auf der Karte an der neuen gewünschten Stelle angezeigt. | Nach kurzer Zeit wird dann der Router auf der Karte an der neuen gewünschten Stelle angezeigt. | ||
{{ : | {{ : | ||
+ | |||
+ | ==== Wifi Mesh abschalten ==== | ||
+ | |||
+ | Standardmäßig ist der WiFi Mesh eingeschaltet um nahe Knoten miteinander über WiFi zu verbinden. Dies lässt sich mit folgenden Befehlen abschalten: | ||
+ | uci set wireless.mesh_radio0.disabled=1 | ||
+ | uci set wireless.mesh_radio1.disabled=1 | ||
+ | uci commit wireless | ||
+ | wifi | ||
+ | |||
+ | Anschließend ist das WiFi Mesh abgeschaltet. | ||
+ | |||
+ | Siehe dazu auch [[https:// | ||
==== Webseite des FF-Knoten aus dem LAN aufrufen ==== | ==== Webseite des FF-Knoten aus dem LAN aufrufen ==== | ||
Zeile 624: | Zeile 633: | ||
==== WLAN zeitgesteuert ein- und ausschalten ==== | ==== WLAN zeitgesteuert ein- und ausschalten ==== | ||
- | In Gemeinschaftsunterkünften wie z.B. Jugendherbergen, | + | In manchen Unterkünften |
- | (Anmerkung: Etwas eleganter lässt sich diese Aufgabe ab der Firmware-Version v2019.0.8 mit der neuen Funktion **ap-timer** lösen, mehr dazu im Abschnitt **[[# | + | Dazu wird " |
- | === ASH-Script === | + | |
- | Zunächst wollen wir uns die Konfiguration per Script einmal ansehen. Dazu legen wir uns ein kleines **ash**-Shellscript an, dass wir dann bei Bedarf entweder händisch oder cronjob-gesteuert aufrufen. | + | |
- | | + | |
- | <file bash / | + | Drücke **i** um in den Schreibmodus zu gelangen. |
- | # Script zum (De-)Aktivieren der unterschiedlichen Client-WLANs | + | |
- | # $1 : erste uebergebene Variable : | + | Für tägliche Abschaltung von 21 bis 7 Uhr, sollte die Datei wie folgt aussehen: |
- | # 2 = 2.4 GHz Freifunk-Client-Netz | + | |
- | # 5 = 5 GHz Freifunk-Client-Netz | + | |
- | # p = 2.4 GHz Freifunk-Client-Netz | + | |
- | # | + | |
- | # $2 : zweite uebergebene Variable: | + | |
- | # off = WLAN ausschalten | + | |
- | # | + | |
- | # WLAN(s) ausschalten | + | 0 21 * * * ifconfig client0 down; ifconfig client1 down |
- | if [ $2 = " | + | |
- | if [ $1 = " | + | |
- | uci set wireless.client_radio0.disabled=1 | + | Für die Syntax gibt es viele hilfreiche Seiten, wie beispielsweise |
- | elif [ $1 = " | + | |
- | uci set wireless.client_radio1.disabled=1 | + | |
- | else | + | |
- | uci set wireless.wan_radio0.disabled=1 | + | |
- | fi | + | |
- | fi | + | |
- | # WLAN(s) einschalten | + | Anschließende drücke ESC und gib **:wq** ein um die Änderungen zu speichern. |
- | if [ $2 = " | + | |
- | if [ $1 = " | + | |
- | uci set wireless.client_radio0.disabled=0 | + | |
- | elif [ $1 = " | + | |
- | uci set wireless.client_radio1.disabled=0 | + | |
- | | + | |
- | uci set wireless.wan_radio0.disabled=0 | + | |
- | fi | + | |
- | fi | + | |
- | # Konfigurationsaenderung(en) persistieren | + | Abschließend muss der Deamon die Konfiguration neu laden, damit der Cronjob aktiv geschaltet ist. |
- | uci commit wireless | + | |
- | wifi | + | |
- | </ | + | |
- | Das Script statten wir zum Aufruf mit den entsprechenden **x**-Rechten aus. | + | /etc/init.d/micrond reload |
- | | + | |
- | Wollen wir nun ein WLAN umschalten, geben wir zwei Parameter an: | ||
- | * **erster Parameter** | ||
- | * '' | ||
- | * '' | ||
- | * '' | ||
- | * **zweiter Parameter** | ||
- | * '' | ||
- | * '' | ||
- | |||
- | So deaktivert z.B. folgender Aufruf das 5 GHz Client-WLAN: | ||
- | Da wir das natürlich nicht jedesmal per Hand ausführen wollen, legen wir uns entsprechende cronjobs an. Dazu hinterlegen wir in der User-crontab des Nutzers **root** entsprechend unsere zeitlichen Vorstellungen. | ||
- | | ||
- | |||
- | < | ||
- | 30 22 * * * / | ||
- | |||
- | # 5 GHz Client WLAN um 22:30 Uhr ausschalten | ||
- | 30 22 * * * / | ||
- | |||
- | # privates verschluesseltes WLAN um 00:00 Uhr ausschalten | ||
- | * 0 * * * / | ||
- | |||
- | # um 6:45 Uhr alle WLANs wieder aktivieren | ||
- | 45 6 * * * / | ||
- | 45 6 * * * / | ||
- | 45 6 * * * / | ||
- | |||
- | In dem gezeigtem Beispiel würden um 22:30 Uhr jeweils die Freifunk Client-Netze sowie das private verschlüsselte WLAN um 00:00 Uhr ausgeschaltet, | ||
- | |||
- | === AP-Timer === | ||
- | Seit der Firmware-Version **v2019.0.8** ((Ende Juli 2019)) gibt es nun eine Konfigurationsoption, | ||
- | |||
- | Auf der Konsole können wir uns hierzu dann die gesetzten Optionen mit Hilfe des Befehls '' | ||
- | uci show ap-timer | ||
- | |||
- | < | ||
- | ap-timer.settings.enabled=' | ||
- | ap-timer.settings.type=' | ||
- | ap-timer.all=day | ||
- | ap-timer.all.on=' | ||
- | ap-timer.all.off=' | ||
- | |||
- | In der Konfigurationsdatei ''/ | ||
- | <file bash / | ||
- | option enabled ' | ||
- | option type ' | ||
- | |||
- | config day ' | ||
- | list on ' | ||
- | list off ' | ||
- | |||
- | </ | ||
- | |||
- | Wollen wir die Zeiten via SSH ändern, setzen wir die entsprechenden **ap-timer**-Optionen. In nachfolgendem Beispiel wollen wir das WLAN morgens um **8:00** Uhr ein- und nachmittags um **17:45** Uhr wieder ausschalten. | ||
- | |||
- | uci set ap-timer.all.on=' | ||
- | uci set ap-timer.all.off=' | ||
- | uci commit | ||
+ | Siehe dazu auch den [[https:// | ||
==== Zugangs zum Clientnetz begrenzen - Clients MAC-basiert aussperren ==== | ==== Zugangs zum Clientnetz begrenzen - Clients MAC-basiert aussperren ==== | ||
Bisweilen kann es erforderlich werden, einzelne Clients auf Basis ihrer MAC-Adresse auszusperren. Die kann verschiedene Gründe haben, sei es nur zum Schutz des Client selbst oder auch zum Schutz anderer Nutzer vor Störungen. | Bisweilen kann es erforderlich werden, einzelne Clients auf Basis ihrer MAC-Adresse auszusperren. Die kann verschiedene Gründe haben, sei es nur zum Schutz des Client selbst oder auch zum Schutz anderer Nutzer vor Störungen. | ||
Zeile 854: | Zeile 777: | ||
autoupdater.settings.branch=' | autoupdater.settings.branch=' | ||
autoupdater.settings.version_file='/ | autoupdater.settings.version_file='/ | ||
- | | ||
- | Anschließend kann mein ein autoupdate erzwingen: | ||
- | autoupdater -f | ||
Siehe dazu auch den [[https:// | Siehe dazu auch den [[https:// | ||
- | ==== Update | + | ==== Update forcieren ==== |
+ | |||
+ | === Via Autoupdater | ||
Mit Hilfe des Befehls '' | Mit Hilfe des Befehls '' | ||
| | ||
- | < | ||
- | |||
- | Possible options are: | ||
- | -b, --branch BRANCH | ||
- | |||
- | -f, --force | ||
- | and whether the autoupdater even is enabled. | ||
- | |||
- | -h, --help | ||
- | |||
- | -n, --no-action | ||
- | | ||
- | |||
- | --fallback | ||
- | | ||
- | |||
- | --force-version | ||
- | |||
- | < | ||
- | | ||
Das Update der Firmware kann manuell angestoßen werden, dazu verwendet man die Option **-f**. Somit wir aus dem aktuell definierten Releasezweig ein Update gesucht, geholt und bei Verfügbarkeit auch installiert. | Das Update der Firmware kann manuell angestoßen werden, dazu verwendet man die Option **-f**. Somit wir aus dem aktuell definierten Releasezweig ein Update gesucht, geholt und bei Verfügbarkeit auch installiert. | ||
Zeile 891: | Zeile 793: | ||
Durch Angabe des Branches kann man unabhängig vom konfigurierten Releasezweig eine spezielle Firmware installieren. Im folgenden Beispiel erzwingen wir den Firmwareupdate aus dem Zweig // | Durch Angabe des Branches kann man unabhängig vom konfigurierten Releasezweig eine spezielle Firmware installieren. Im folgenden Beispiel erzwingen wir den Firmwareupdate aus dem Zweig // | ||
| | ||
- | < | ||
- | Stopping cron... | ||
- | Stopping haveged... | ||
- | Stopping micrond... | ||
- | Stopping sysntpd... | ||
- | Stopping gluon-radvd... | ||
- | Stopping uhttpd... | ||
- | Stopping sse-multiplexd... | ||
- | Stopping gluon-respondd... | ||
- | vm.drop_caches = 3 | ||
- | Downloading image: | ||
- | Stopping network... | ||
- | Killed by signal 1. | ||
- | Killed by signal 1. | ||
- | packet_write_wait: | ||
- | Beide Beispiele setzen natürlich voraus, dass der Firmware-Server erreichbar ist. Alternativ ist es auch möglich das Firmware-Image manuell herunterladen bzw. auf den Router | + | === Manuell mit Internet am Router |
- | In folgendem Beispiel gehen wir mal davon aus, dass wir uns nicht 100%ig sicher sind welches Router-Modell in Verwendung ist. Alos fragen wir zunächst ab, welches Routermodell da im Einsatz ist. | + | Falls wir uns nicht 100%ig sicher sind welches Router-Modell in Verwendung ist, kann man das mit dem folgenden Befehl abfragen (siehe dazu auch den [[https:// |
- | | + | # |
+ | Extreme Networks WS-AP3825i | ||
+ | |||
+ | Wir werden also erst einmal von der Firmwareseite das gewünschte Image unter **Upgrade** suchen: https:// | ||
- | Ubiquiti UniFiAP Outdoor+ | + | Anstatt die Datei downzuloaden, |
- | Wir werden uns also erst einmal von der Firmwareseite | + | Anschließend kann führen wir das Update mit dem Befehl **sysupgrade** durch, wobei hier der Link von oben kopiert werden kann: |
- | wget https:// | + | echo 3 > / |
+ | sysupgrade | ||
+ | | ||
- | Anschließend kopieren wir diese Date in das Zielverzeichnis | + | Siehe dazu auch [[https://github.com/freifunk-gluon/gluon/wiki/ |
- | $ scp gluon-ffmuc-v2019.0.4~exp86-ubiquiti-unifiap-outdoor+-sysupgrade.bin ff_pliening_gbw_test:/ | + | |
- | < | ||
- | # # | ||
- | # ╭∩╮( ͡° ل͟ ͡° )╭∩╮ | ||
- | # # | ||
- | # | ||
- | # # | ||
- | # This system is actively monitored and all connections may be logged. | ||
- | # By accessing this system, you consent to this monitoring. | ||
- | # # | ||
- | ############################################################################## | ||
- | gluon-ffmuc-v2019.0.4~exp86-ubiquiti-unifiap-outdoor+-sysupgrade.bin | ||
- | Killed by signal 1. | ||
- | Killed by signal 1. | ||
- | </ | ||
- | Bevor wir nun die Firmware installieren, leeren wir noch die caches auf dem Router, nachdem | + | === Manuell ohne Internet am Router === |
- | ssh ff_pliening_gbw_od | + | |
+ | Falls wir uns nicht 100%ig sicher sind welches Router-Modell in Verwendung ist, kann man das mit dem folgenden Befehl abfragen (siehe dazu auch den [[https:// | ||
+ | # lua -e ' | ||
+ | Extreme Networks WS-AP3825i | ||
+ | |||
+ | Die vorigen Beispiele setzen voraus, dass der Firmware-Server erreichbar ist. Alternativ ist es auch möglich das Firmware-Image manuell herunterladen bzw. auf den Router kopieren. Im folgenden Beispiel holen wir uns zuerst das Image auf unseren Admin-Rechner und kopieren es dann via '' | ||
- | echo 3 > /proc/sys/vm/ | + | Wir werden uns also erst einmal von der Firmwareseite das gewünschte Image unter **Upgrade** auf unseren Admin-Rechner herunterladen: |
- | Zum Updaten verwenden | + | Anschließend kopieren |
- | sysupgrade | + | $ scp gluon-ffmuc-v2022.10.5-extreme-networks-ws-ap3825i-sysupgrade.bin [email protected]:/ |
- | < | + | |
- | / | + | |
+ | Bevor wir nun die Firmware installieren, | ||
+ | $ ssh [email protected] | ||
- | upgrade-option: | + | # echo 3 > /proc/sys/ |
- | -f <config> | + | |
- | -i | + | |
- | -c | + | |
- | -n do not save configuration over reflash | + | |
- | -p do not attempt to restore the partition table after flash. | + | |
- | -T | --test | + | |
- | | + | |
- | -F | --force | + | |
- | Flash image even if image checks fail, this is dangerous! | + | |
- | -q less verbose | + | |
- | -v more verbose | + | |
- | -h | --help | + | |
- | backup-command: | + | Zum Updaten verwenden wir den Befehl |
- | -b | --create-backup < | + | |
- | | + | |
- | then exit. Does not flash an image. If file is '-', | + | |
- | i.e. stdout, verbosity is set to 0 (i.e. quiet). | + | |
- | -r | --restore-backup < | + | |
- | | + | |
- | then exit. Does not flash an image. If file is '-', | + | |
- | the archive is read from stdin. | + | |
- | -l | --list-backup | + | |
- | list the files that would be backed up when calling | + | |
- | | + | |
Das Update der Firmware stoßen wir nun wie folgt an. | Das Update der Firmware stoßen wir nun wie folgt an. | ||
- | sysupgrade /tmp/gluon-ffmuc-v2019.0.4~exp86-ubiquiti-unifiap-outdoor\+-sysupgrade.bin | + | |
- | < | + | < |
- | Saving config files... | + | Commencing upgrade. Closing all shell sessions.</ |
- | Commencing upgrade. Closing all shell sessions. | + | |
- | Killed by signal 1. | + | |
- | Killed by signal 1. | + | |
- | packet_write_wait: | + | |
===== links ===== | ===== links ===== |