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 [2019/10/22 19:17] – [Anzahl verbundener Clients] heili | knb:ssh [2023/03/05 13:50] – [Wifi Mesh abschalten] grische | ||
---|---|---|---|
Zeile 5: | Zeile 5: | ||
====== Administration eines Freifunk-Knotens via SSH ====== | ====== Administration eines Freifunk-Knotens via SSH ====== | ||
- | {{: | + | {{: |
===== Vorbereitungen ===== | ===== Vorbereitungen ===== | ||
==== SSH-Key ==== | ==== SSH-Key ==== | ||
- | Für den Zugriff benötigen wir natürlich | + | Zur Authentifikations als berechtigter User gegenüber dem SSH-Diensst benötigt man ein SSH-Schlüsselpaar, |
- | | + | Aktuell ((Stand. 2020)) werden leider noch keine [[https:// |
+ | |||
+ | ==== Mit ssh-keygen ==== | ||
+ | < | ||
< | < | ||
Zeile 31: | Zeile 34: | ||
| ++=o | | | ++=o | | ||
+-----------------+</ | +-----------------+</ | ||
+ | |||
+ | ==== Mit PuTTYgen ==== | ||
+ | Unter Windows wird gerne **[[https:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Zum Anlegen eines neuen Schlüsselpaares klicken wir auf **Generate** und bewegen die Maus eine Zeit lang über dem Fenster hin und her. Bei der Schlüsselgenerierung werden Zufallszahlen benötigt, die von PuTTYgen aus diesen zufälligen Mausbewegungen abgeleitet werden. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Danach erscheint der //public key// des generierten Schlüsselpaares, | ||
+ | Der Inhalt des großen Textfeldes **Public key for pasting into OpenSSH authorized_keys file** stellt den //public key//-Teil des Schlüssels dar, in einer Form, die man auf dem Freifunkrouter bei der Installation oder nachträglich in der Datei **/ | ||
==== SSH-Clientconfig ==== | ==== SSH-Clientconfig ==== | ||
- | Um nun nicht jedes mal beim Aufruf | + | Um nun nicht jedes mal beim Aufbau |
+ | **'' | ||
- | So ist z.B. in nachfolgendem Konfigurationsbeispiel der Router **ff_pliening_gbw_od** direkt erreichbar und der Router **ff_pliening_gbw_od-e** nur über den Sprunghost mit Namen **jumphost**, | + | Die Verwendung einer eignen individuellen SSH-Clientkonfigurationsdatei hat darüber hinaus auch noch zusätzlich den Vorteil, dass z.B. von einem Netz aus, bei dem " |
- | vim ~/ | + | |
+ | Dies erleichtert die Arbeit doch ungemein, vor allem dann, wenn Dateien von und zum Router kopiert werden müssen. Hintergrundinformationen zur Clientkonfiguration sind im Kapitel [[https:// | ||
+ | |||
+ | So ist z.B. in nachfolgendem Konfigurationsbeispiel der Router **ff_pliening_gbw_od** direkt erreichbar und der Router **ff_pliening_gbw_od-e** nur über den eigenen | ||
+ | $ vim ~/ | ||
<file bash ~/ | <file bash ~/ | ||
| | ||
Zeile 46: | Zeile 66: | ||
Host ff_pliening_gbw_od | Host ff_pliening_gbw_od | ||
- | | + | |
Port 22 | Port 22 | ||
User root | User root | ||
Zeile 62: | Zeile 82: | ||
Wir können somit, wenn wir uns z.B. in einem IPv4-only Netzwerk aufhalten, ganz einfach durch den nachfolgenden Aufruf den Knoten **ff_pliening_gbw_od** erreichen. | Wir können somit, wenn wir uns z.B. in einem IPv4-only Netzwerk aufhalten, ganz einfach durch den nachfolgenden Aufruf den Knoten **ff_pliening_gbw_od** erreichen. | ||
- | ssh ff_pliening_gbw_od-e | + | $ ssh ff_pliening_gbw_od-e |
Ebenso können wir so direkt Dateien auf den Knoten in das // | Ebenso können wir so direkt Dateien auf den Knoten in das // | ||
- | | + | $ scp neue_firmware.bin |
- | Hier wird nun ohne manuelle | + | Hier wird nun ohne Umwege |
+ | ==== SSH-Zugriff auf Freifunk-Knoten im eigenen LAN mit PuTTY unter Windows === | ||
+ | Zu Hause im eigenen LAN kann man unter Windows mit dem PuTTY SSH-Client ganz einfach auf seine Freifunk-Router zugreifen, wenn man bei der Installation seinen //public key// dort abgelegt hat. | ||
+ | {{ : | ||
+ | |||
+ | Nach dem Öffnen von **PuTTY** wird man im Fenster **PuTTY Configuration** dazu aufgefordert, | ||
+ | |||
+ | Zielsicherer ist es jedoch, die IP-Adresse des Knotens im LAN zu benutzen. Diese findete man z.B. auf den Konfigurationsseiten des eigenen Internetrouters, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Im nächsten Schritt muss die Datei mit dem SSH-Key auswählen, den man auf dem Router hinterlegt hat. Dies geschieht über die Einstellung **Private key file for authentication** unter **Connection -> SSH -> Auth**. | ||
+ | Danach kann man unter **Session** die Einstellungen mit einem Namen bei **Saved Sessions** versehen und mit **Save** abspeichern und die SSH-Verbindung mit **Open** starten. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Falls die Verbindung zu Stande kommt, hat man die richtige IP-Adresse und den passenden Key gewählt. Man wird nun aufgefordert, | ||
===== Abfrage von Konfigurationsdaten ===== | ===== Abfrage von Konfigurationsdaten ===== | ||
- | Zur Abfrage von Konfigurationsparametern bemühen wir den Befehl '' | + | Zur Abfrage von Konfigurationsparametern bemühen wir den Befehl '' |
uci | uci | ||
< | < | ||
Zeile 108: | Zeile 144: | ||
</ | </ | ||
- | Die Ausgabe aller Konfigurationsparameter | + | Die Ausgabe aller Konfigurationsparameter |
- | uci show |wc -l | + | uci show |
- | + | ||
- | 674 | + | |
- | In aller Regel wird man gezielt nach einzelnen Parametern suchen, wie z.B. hier nach den hinterlegten Kontaktdaten. | + | Diese Liste ist sehr lang. In aller Regel wird man gezielt nach einzelnen Parametern suchen, wie z.B. hier nach den hinterlegten Kontaktdaten. |
uci show | grep contact | uci show | grep contact | ||
gluon-node-info.@owner[0].contact=' | gluon-node-info.@owner[0].contact=' | ||
- | Alle Parameter einer Section | + | Alle Parameter einer Sektion |
uci show gluon-node-info | uci show gluon-node-info | ||
< | < | ||
Zeile 145: | Zeile 179: | ||
</ | </ | ||
- | |||
==== Anzahl verbundener Clients ==== | ==== Anzahl verbundener Clients ==== | ||
+ | **Diese Information ist veraltet** | ||
+ | |||
Zur Ausgabe der Anzahl der aktuell (lokal) verbundenen Clients verwendet man folgenden Aufruf: | Zur Ausgabe der Anzahl der aktuell (lokal) verbundenen Clients verwendet man folgenden Aufruf: | ||
grep -cEo " | grep -cEo " | ||
Zeile 158: | Zeile 193: | ||
cat / | cat / | ||
- | | + | |
- | ==== Gluon Version ==== | + | ==== Gluon-Version ==== |
- | | + | cat / |
- | | + | |
==== Router-Modell ==== | ==== Router-Modell ==== | ||
Zeile 172: | Zeile 207: | ||
==== SSID ==== | ==== SSID ==== | ||
- | Wollen wir wissen welche SSID(([[https:// | ||
- | uci show | grep -i ssid | ||
- | wireless.mesh_radio0.ssid=' | + | === SSID ändern === |
- | Die SSID des Mesh-Netzes ermitteln wir mit folgendem Befehl: | + | Die SSID kann nur geändert werden, in dem man die Domain bzw. das Segment ändert. Siehe dazu den Abschnitt [[knb:ssh# |
- | uci show | grep -i mesh_id | + | |
- | wireless.mesh_radio0.mesh_id=' | + | {{page>: |
- | Da es sich hier um einen Router der nur ein **2,4 GHz** WLAN ausstrahlt, wird jeweils auch nur eine Zeile ausgegeben. Im nachfolgenden Beispiel handelt es sich um ein Routermodell der sowohl ein **2,4 GHz** wie auch ein **5 GHz** WLAN verwendet | + | === SSID herausfinden === |
- | | + | Wollen wir wissen welche SSID(([[https:// |
+ | uci show wireless | grep ssid | ||
+ | Die SSID des Mesh-Netzes ermitteln wir mit folgendem Befehl: | ||
+ | uci show wireless | grep mesh_id | ||
+ | |||
+ | Wenn ein Router nur ein **2,4 GHz** WLAN oder ein **5GHz** ausstrahlt, dann wird nur nur ein Zeile für radio0 ausgegeben. Wenn es sich um ein Routermodell handelt, das sowohl ein **2,4 GHz** als auch ein **5 GHz** WLAN ausstrahlt, werden dort zwei Konfigurationswertpaaren ausgegeben: | ||
+ | # uci show wireless | grep id | ||
wireless.mesh_radio0.mesh_id=' | wireless.mesh_radio0.mesh_id=' | ||
wireless.mesh_radio1.mesh_id=' | wireless.mesh_radio1.mesh_id=' | ||
wireless.client_radio0.ssid=' | wireless.client_radio0.ssid=' | ||
- | wireless.client_radio1.ssid=' | + | wireless.client_radio1.ssid=' |
- | + | ||
- | {{page>: | + | |
==== Debugging-Log ==== | ==== Debugging-Log ==== | ||
- | Bei der Fehlersuche ist es mit unter sehr hilfreich, wenn aussagekräftige Logmeldung in Echtzeit zur Verfügung stehen. Mit Hilfe des Befehls '' | + | Bei der Fehlersuche ist es hilfreich, wenn aussagekräftige Logmeldung in Echtzeit zur Verfügung stehen. Mit Hilfe des Befehls '' |
| | ||
< | < | ||
Zeile 218: | Zeile 254: | ||
Mon Jun 3 20:32:24 2019 daemon.info fastd[2316]: | Mon Jun 3 20:32:24 2019 daemon.info fastd[2316]: | ||
</ | </ | ||
- | Mit der Option **-f** wird das log fortlaufend | + | Mit der Option **-f** wird das Log fortlaufend |
| | ||
< | < | ||
Zeile 224: | Zeile 260: | ||
... | ... | ||
</ | </ | ||
+ | Die Ausgabe kann mit **Strg-C** abgebrochen werden. | ||
+ | |||
===== Netzwerks- und Zustandsabfragen mit batctl ===== | ===== Netzwerks- und Zustandsabfragen mit batctl ===== | ||
Zeile 229: | Zeile 267: | ||
==== B.A.T.M.A.N.-ADV Version ==== | ==== B.A.T.M.A.N.-ADV Version ==== | ||
- | Welche B.A.T.M.A.N.-ADV Version | + | Welche B.A.T.M.A.N.-ADV Version verwendet |
| | ||
- | [B.A.T.M.A.N. adv openwrt-2018.1-5, MainIF/MAC: primary0/ | + | [B.A.T.M.A.N. adv openwrt-2018.1-8, MainIF/MAC: primary0/ |
+ | |||
==== Statistiken ==== | ==== Statistiken ==== | ||
- | Eine Statistikübersicht | + | Eine Übersicht über die Laufzeitstatistik |
| | ||
< | < | ||
Zeile 267: | Zeile 305: | ||
=== Gateways mit Bandbreitenangaben === | === Gateways mit Bandbreitenangaben === | ||
- | Die Option **gwl** zeigt alle erreichbaren Gateways mit aktueller Bandbreite | + | Die Option **gwl** zeigt alle erreichbaren Gateways mit geschätzten, |
| | ||
< | < | ||
Zeile 284: | Zeile 322: | ||
... | ... | ||
</ | </ | ||
+ | |||
=== Summe aller WiFi-Nutzer im Netz === | === Summe aller WiFi-Nutzer im Netz === | ||
Wollen wir wissen, wie viele der zuvor abgefragten Clients als WLAN-Nutzer eingebucht sind, erweitern wir die vorherige Abfrage wie folgt. | Wollen wir wissen, wie viele der zuvor abgefragten Clients als WLAN-Nutzer eingebucht sind, erweitern wir die vorherige Abfrage wie folgt. | ||
Zeile 289: | Zeile 328: | ||
99 | 99 | ||
+ | | ||
+ | Dies ist die Anzahl aller WLAN-Nutzer an allen Knoten im Netz, **nicht** die Anzahl am eigenen Router. | ||
| | ||
=== Liste der lokalen Nutzer === | === Liste der lokalen Nutzer === | ||
Zeile 306: | Zeile 347: | ||
33: | 33: | ||
+ | Clients mit dem no**P**urge-Flag sind interne Artefakte und dürfen nicht mitgezählt werden. | ||
=== Anzahl Lokaler WLAN-Clients === | === Anzahl Lokaler WLAN-Clients === | ||
Auch hier können wir über die Erweiterung des Befehls uns sehr leicht ausgeben lassen, wieviele WLAN-Nutzer wir lokal haben. | Auch hier können wir über die Erweiterung des Befehls uns sehr leicht ausgeben lassen, wieviele WLAN-Nutzer wir lokal haben. | ||
Zeile 313: | Zeile 355: | ||
=== Belegung der Netzwerkports am Router === | === Belegung der Netzwerkports am Router === | ||
- | Möchte man abfragen, welche Ports an dem Freifunkrouter belegt, also Ethernet-Kabel | + | Möchte man abfragen, welche Ports am Freifunkrouter belegt |
| | ||
< | < | ||
Zeile 324: | Zeile 366: | ||
====Anbindung an MQTT-Broker (einfach)==== | ====Anbindung an MQTT-Broker (einfach)==== | ||
- | Will man den FF-Router | + | Will man den Freifunkouter |
< | < | ||
#!/bin/sh | #!/bin/sh | ||
Zeile 341: | Zeile 383: | ||
===== Ändern von Konfigurationsdaten ===== | ===== Ändern von Konfigurationsdaten ===== | ||
- | Möchte man einzelne Konfigurationsparameter ändern, | + | Möchte man einzelne Konfigurationsparameter ändern, |
- | Mit unter hat es sich als zweckmäßig erwiesen vor umfangreichen Änderung eine Sicherheitskopie der bestehenden Konfiguration anzufertigen. Um dieses z.B. auf einer lokalen Admin-Workstation oder in einen passenden sicheren Cloudspeicher zu kopieren oder um es bei temporären Änderung anschließend wieder einfach wiederherstellen zu wollen. | + | Vor umfangreichen Änderung |
uci export network > / | uci export network > / | ||
- | Zum Wiederherstellen | + | Zum Wiederherstellen geht man dann wie folgt vor: |
cat / | cat / | ||
- | Will man die gesicherte Konfiguration | + | Will man die gesicherte Konfiguration |
scp ff_pliening_gbw_od:/ | scp ff_pliening_gbw_od:/ | ||
==== Kontaktdaten ==== | ==== Kontaktdaten ==== | ||
- | Im folgenden Beispiel wollen | + | Im folgenden Beispiel wollen |
uci show gluon-node-info.@owner[0].contact | uci show gluon-node-info.@owner[0].contact | ||
gluon-node-info.cfg02c290.contact=' | gluon-node-info.cfg02c290.contact=' | ||
- | Hier ändern wir nun die eMail-Adresse unseren Wünschen entsprechend ab. | + | Hier ändern wir nun die eMail-Adresse unseren Wünschen entsprechend ab: |
uci set gluon-node-info.@owner[0].contact=' | uci set gluon-node-info.@owner[0].contact=' | ||
uci commit | uci commit | ||
Zeile 366: | Zeile 408: | ||
gluon-node-info.cfg02c290.contact=' | gluon-node-info.cfg02c290.contact=' | ||
- | Auf der [[https:// | + | Auf der [[https:// |
{{ : | {{ : | ||
==== Knoten-/ | ==== Knoten-/ | ||
- | In folgendem | + | In folgendem |
- | 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 😉): |
- | | + | |
- | Diesen Wert ändern | + | Fragen |
- | uci set system.@system[0].pretty_hostname=' | + | # pretty-hostname |
- | uci commit system | + | |
- | Fragen wir nun erneut den geänderten Parameter ab, werden uns die aktualisierten Daten ausgegeben. | + | Auf der [[https:// |
- | uci show | grep hostname | + | |
- | + | ||
- | system.@system[0].hostname=' | + | |
- | + | ||
- | 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 397: | 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 436: | Zeile 487: | ||
</ | </ | ||
- | Bei der Ersteinrichtung unseres Knotens über die **[[gui# | + | Bei der Ersteinrichtung unseres Knotens über die **[[gui# |
Will man nun ganz sicher gehen, oder ist als verantwortlicher (LINUX-)Admin von Haus aus ein klein wenig paranoid, kann man den Zugang nur mit Passwort und den Zugang für den Nutzer Root mit Passwort bei SSH-Daemon **[[https:// | Will man nun ganz sicher gehen, oder ist als verantwortlicher (LINUX-)Admin von Haus aus ein klein wenig paranoid, kann man den Zugang nur mit Passwort und den Zugang für den Nutzer Root mit Passwort bei SSH-Daemon **[[https:// | ||
Zeile 727: | Zeile 778: | ||
/ | / | ||
- | ==== manuelle Segmentauswahl | + | ==== Ändern der Domain / des Segments |
Auf Grund des großen Wachstums der Nodeanzahl im Freifunknetz München, wurde im Mitte 2019 das Gesamtnetz von ursprünglich drei Segmenten auf 12 ((Stand Anfang Juni 2019)) erweitert. Basierend auf hinterlegten Geo-Daten und auch umliegender WLAN-Access-Points erfolgt die Segmentauswahl vollautomatisch und könnte zukünftig bei weiterem Zuwachs an Freifunkknoten noch weiter aufgeteilt werden. | Auf Grund des großen Wachstums der Nodeanzahl im Freifunknetz München, wurde im Mitte 2019 das Gesamtnetz von ursprünglich drei Segmenten auf 12 ((Stand Anfang Juni 2019)) erweitert. Basierend auf hinterlegten Geo-Daten und auch umliegender WLAN-Access-Points erfolgt die Segmentauswahl vollautomatisch und könnte zukünftig bei weiterem Zuwachs an Freifunkknoten noch weiter aufgeteilt werden. | ||
{{page>: | {{page>: | ||
+ | Die aktuelle Liste aller Segment/ | ||
- | Will man in Erfahrung bringen, welche Segmente momentan zur Verfügung stehen, | + | Die aktuelle Segmentzuordnung am eigenen Knoten |
- | ls /lib/gluon/domains | cut -f1 -d "." | + | # uci show gluon.core.domain |
+ | gluon.core.domain=' | ||
- | ffmuc_freising | + | Der Knoten befindet sich also demnach im Segment **ffmuc_welt**. Will man diesen Knoten nun z.B. in das Segment **ffmuc_muc_ost** versetzen, schreibt man in die betreffende Konfigurationsoption den neuen Segmentnamen. Siehe dazu |
- | ffmuc_gauting | + | (siehe auch [[https:// |
- | ffmuc_muc_cty | + | |
- | ffmuc_muc_nord | + | |
- | | + | |
- | | + | |
- | ffmuc_muc_west | + | |
- | ffmuc_uml_nord | + | |
- | ffmuc_uml_ost | + | |
- | ffmuc_uml_sued | + | |
- | ffmuc_uml_west | + | |
- | ffmuc_welt | + | |
- | Die aktuelle Segmentzuordnung am eigenen Knoten kann man mit folgendem Befehl abfragen: | + | gluon-switch-domain |
- | | + | |
- | gluon.core.domain=' | ||
- | |||
- | Der Knoten befindet sich also demnach im Segment **ffmuc_uml_ost**. Will man diesen Knoten nun z.B. in das Segment // | ||
- | uci set gluon.core.domain=' | ||
- | uci set ffmuc.director.enabled=' | ||
- | uci commit | ||
- | | ||
- | | ||
- | Um die Dauerhaftigkeit dieses Umzugs wieder aufzulösen und den Router wieder selbst seine " | ||
- | # uci set gluon.core.domain=' | ||
- | uci set ffmuc.director.enabled=' | ||
- | uci commit | ||
- | | ||
- | | ||
==== Passthrough-Port des TP-Link CPE ==== | ==== Passthrough-Port des TP-Link CPE ==== | ||
Zeile 795: | Zeile 823: | ||
==== Reboot des Knoten in den Konfigurationsmodus ==== | ==== Reboot des Knoten in den Konfigurationsmodus ==== | ||
Möchte man seinen WLAN-Router erneut in den Konfigurationsmodus versetzen, um ihn dann mit dem Web-Browser via http:// | Möchte man seinen WLAN-Router erneut in den Konfigurationsmodus versetzen, um ihn dann mit dem Web-Browser via http:// | ||
- | uci set "gluon-setup-mode.@setup_mode[0].enabled=1" | + | |
- | uci commit | + | |
- | | + | Siehe dazu auch den [[https:// |
==== Routerkonfiguration komplett löschen / zurücksetzen ==== | ==== Routerkonfiguration komplett löschen / zurücksetzen ==== | ||
Möchte man den Router wieder in den Anfangszustand zurücksetzen, | Möchte man den Router wieder in den Anfangszustand zurücksetzen, | ||
- | firstboot | + | # firstboot |
- | + | This will erase all settings and remove any installed packages. Are you sure? [N/y] y | |
- | This will erase all settings and remove any installed packages. Are you sure? [N/y] | + | |
- | + | ||
- | y | + | |
/ | / | ||
- | + | | |
- | reboot | + | |
Anschließend ist der Router zurückgesetzt, | Anschließend ist der Router zurückgesetzt, | ||
- | |||
===== Update/ | ===== Update/ | ||
In aller Regel wird man bemüht sein, die Firmware seines bzw. seiner Router immer auf einen aktuellen Stand zu halten. Dies nicht nur aus Sicherheitsaspekten heraus, sondern auch um an Neuerungen teilhaben zu können. Die Freifunk-Community in München stellt dazu drei unterschiedliche Releasezwige zur Verfügung : https:// | In aller Regel wird man bemüht sein, die Firmware seines bzw. seiner Router immer auf einen aktuellen Stand zu halten. Dies nicht nur aus Sicherheitsaspekten heraus, sondern auch um an Neuerungen teilhaben zu können. Die Freifunk-Community in München stellt dazu drei unterschiedliche Releasezwige zur Verfügung : https:// | ||
Zeile 834: | Zeile 856: | ||
uci set autoupdater.settings.branch=' | uci set autoupdater.settings.branch=' | ||
uci commit autoupdater | uci commit autoupdater | ||
+ | | ||
Eine erneute Abfrage zeigt nun, dass der Branch **stable** künftig verwendet wird. | Eine erneute Abfrage zeigt nun, dass der Branch **stable** künftig verwendet wird. | ||
- | uci show autoupdater.settings.branch | + | # uci show autoupdater.settings |
+ | autoupdater.settings=autoupdater | ||
+ | | ||
autoupdater.settings.branch=' | autoupdater.settings.branch=' | ||
+ | autoupdater.settings.version_file='/ | ||
- | ==== Update | + | Siehe dazu auch den [[https:// |
+ | ==== 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 872: | Zeile 879: | ||
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, | + | === Manuell ohne Internet am Router |
- | ssh ff_pliening_gbw_od | + | |
- | echo 3 > /proc/sys/vm/drop_caches | + | 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://github.com/freifunk-gluon/gluon/ |
+ | # 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 '' | ||
- | Zum Updaten verwenden wir den Befehl '' | + | Wir werden uns also erst einmal von der Firmwareseite das gewünschte Image unter **Upgrade** auf unseren Admin-Rechner herunterladen: |
- | | + | |
- | < | + | Anschließend kopieren wir diese Date in das Zielverzeichnis |
- | / | + | $ 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 ===== |