knb:ssh

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
knb:ssh [2022/08/21 14:54] – Typo grischeknb:ssh [2024/02/26 10:21] (aktuell) grische
Zeile 10: Zeile 10:
 ==== SSH-Key ==== ==== SSH-Key ====
 Zur Authentifikations als berechtigter User gegenüber dem SSH-Diensst benötigt man ein SSH-Schlüsselpaar, welches wir entweder schon besitzen (im ~/.ssh-Verzeichnis unseres Linuxsystems oder unter Windows mit PuTTYgen erstellt haben) oder uns für den Zugriff auf unseren Freifunkrouter hier erstellen wollen. Zur Authentifikations als berechtigter User gegenüber dem SSH-Diensst benötigt man ein SSH-Schlüsselpaar, welches wir entweder schon besitzen (im ~/.ssh-Verzeichnis unseres Linuxsystems oder unter Windows mit PuTTYgen erstellt haben) oder uns für den Zugriff auf unseren Freifunkrouter hier erstellen wollen.
-Aktuell ((Stand. 2020)) werden leider noch keine [[https://de.wikipedia.org/wiki/Curve25519|Ed25519]]-Schlüssel, einem //Elliptic Curve Signature Schema//, welches beste Sicherheit bei vertretbarem rechnerischem Aufwand verspricht, als ECDSA, DSA oder RSA dies der Fall ist, unterstützt. Somit werden wir uns einen RSA-Schlüssel mit ausreichend großer Schlüssellänge erstellen.+Aktuell ((Stand. 2024)) empfehlen wir [[https://de.wikipedia.org/wiki/Curve25519|Ed25519]]-Schlüssel, einem //Elliptic Curve Signature Schema//, welches beste Sicherheit bei vertretbarem rechnerischem Aufwand verspricht. Somit werden wir uns einen ED25519-Schlüssel mit ausreichend großer Schlüssellänge erstellen
 + 
 +Dies funktioniert jedoch nur mit Firmware neuer als v2023.x, nicht mit der Firmware für nicht mehr unterstützte Geräte v2022.x. Diese benötigen RSA und zudem spezielle Konfiguration auf dem Endgerät, die nicht mehr als sicher gilt, um darauf noch zugreifen zu können
    
 ==== Mit ssh-keygen ==== ==== Mit ssh-keygen ====
-<code> $ ssh-keygen -b 4096 -t rsa -C django@nausch.org -f ~/.ssh/id_rsa4096_ff</code>+<code> $ ssh-keygen -t ed25519 -C django@nausch.org -f ~/.ssh/id_ed25519_ff</code>
  
 <code>Generating public/private rsa key pair. <code>Generating public/private rsa key pair.
 Enter passphrase (empty for no passphrase):  Enter passphrase (empty for no passphrase): 
 Enter same passphrase again:  Enter same passphrase again: 
-Your identification has been saved in /home/django/.ssh/id_rsa4096_ff+Your identification has been saved in /home/django/.ssh/id_ed25519_ff
-Your public key has been saved in /home/django/.ssh/id_rsa4096_ff.pub.+Your public key has been saved in /home/django/.ssh/id_ed25519_ff.pub.
 The key fingerprint is: The key fingerprint is:
 44:8b:1a:de:ad:be:ef:23:af:65:b7:e6:1a:bf:98:3d django@nausch.org 44:8b:1a:de:ad:be:ef:23:af:65:b7:e6:1a:bf:98:3d django@nausch.org
Zeile 70: Zeile 72:
      User root      User root
      Protocol 2      Protocol 2
-     IdentityFile ~/.ssh/id_rsa4096_ff+     IdentityFile ~/.ssh/id_ed25519_ff
  
 Host ff_pliening_gbw_od-e Host ff_pliening_gbw_od-e
Zeile 77: Zeile 79:
      User root      User root
      Protocol 2      Protocol 2
-     IdentityFile ~/.ssh/id_rsa4096_ff+     IdentityFile ~/.ssh/id_ed25519_ff
      ProxyJump jumphost      ProxyJump jumphost
 </file> </file>
Zeile 207: Zeile 209:
  
 ==== SSID ==== ==== SSID ====
-Wollen wir wissen welche SSID(([[https://de.wikipedia.org/wiki/Service_Set#SSID,_ESSID_und_BSSID|Service Set Identifier]])) (WLAN-Kennung) unser Freifunkknoten ausstrahlt, bedienen wir uns folgendem Aufruf: 
-   uci show | grep -i ssid 
  
-  wireless.mesh_radio0.ssid='ffmuc-uml_ost'+=== 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#aendern_der_domain_des_segments|Ändern der Domain]].
-   uci show grep -i mesh_id+
  
-  wireless.mesh_radio0.mesh_id='ffmuc-muc_ost-mesh'+{{page>:includes:ssid&nodeader&nofooter}}
  
-Da es sich hier um einen Router handeltder nur ein **2,4 GHz** WLAN ausstrahlt, wird auch nur eine Zeile ausgegeben. Im nachfolgenden Beispiel handelt es sich um ein Routermodell, das sowohl ein **2,4 GHz** als auch ein **5 GHz** WLAN verwendet. Wir sehen dies an der Ausgabe von zwei Konfigurationswertpaaren+=== SSID herausfinden === 
-   uci show wireless | grep -i id+Wollen wir wissen welche SSID(([[https://de.wikipedia.org/wiki/Service_Set#SSID,_ESSID_und_BSSID|Service Set Identifier]])) (WLAN-Kennung) unser Freifunkknoten ausstrahlt, bedienen wir uns folgendem Aufruf
 +  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='ffmuc-muc_ost-mesh'   wireless.mesh_radio0.mesh_id='ffmuc-muc_ost-mesh'
   wireless.mesh_radio1.mesh_id='ffmuc-muc_ost-mesh'   wireless.mesh_radio1.mesh_id='ffmuc-muc_ost-mesh'
   wireless.client_radio0.ssid='muenchen.freifunk.net/muc_ost'   wireless.client_radio0.ssid='muenchen.freifunk.net/muc_ost'
-  wireless.client_radio1.ssid='muenchen.freifunk.net/muc_ost +  wireless.client_radio1.ssid='muenchen.freifunk.net/muc_ost'
- +
-{{page>:includes:ssid&nodeader&nofooter}}+
 ==== Debugging-Log ==== ==== Debugging-Log ====
 Bei der Fehlersuche ist es hilfreich, wenn aussagekräftige Logmeldung in Echtzeit zur Verfügung stehen. Mit Hilfe des Befehls ''logread'' können diese zur Ansicht gebracht werden. Durch Angabe des Parameters **-h** werden alle Optionen ausgegeben, die der Befehl unterstützt Bei der Fehlersuche ist es hilfreich, wenn aussagekräftige Logmeldung in Echtzeit zur Verfügung stehen. Mit Hilfe des Befehls ''logread'' können diese zur Ansicht gebracht werden. Durch Angabe des Parameters **-h** werden alle Optionen ausgegeben, die der Befehl unterstützt
Zeile 412: Zeile 415:
 ==== Knoten-/Host-Name ==== ==== Knoten-/Host-Name ====
 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='ff_pliening_gbw_ug' +Diesen Wert ändern wir nun in einen etwas sprechenderen Namen ab (hier sind auch Emojis zugelassen 😉)
-  system.@system[0].hostname='ffplieninggbwug' +  pretty-hostname ff_pliening_gänsbrunnenweg_ug
- +
-Diesen Wert ändern wir nun in einen etwas sprechenderen Namen ab: +
-   uci set system.@system[0].pretty_hostname='ff_pliening_gaensbrunnenweg_ug' +
-   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='ff_pliening_gaensbrunnenweg_ug' +Auf der [[https://map.ffmuc.net/|Karte von Freifunk München]] werden die geänderten Daten nach ein paar Minuten dann auch entsprechend ausgegeben:
- +
-Auf der [[https://map.ffmuc.net/#!/en/map/30b5c25662b1|Karte von Freifunk München]] werden die geänderten Daten nach ein paar Minuten dann auch entsprechend ausgegeben:+
 {{ :ff_002.png?nolink&650 |Bild: Bildschirmhardcopy des betreffenden Freifunk-Knotens auf der Karte}} {{ :ff_002.png?nolink&650 |Bild: Bildschirmhardcopy des betreffenden Freifunk-Knotens auf der Karte}}
  
 +Siehe dazu auch den [[https://github.com/freifunk-gluon/gluon/wiki/Commandline-administration#changing-hostname|Gluon Administrationsguide]].
 ==== 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://map.ffmuc.net|Karte]]**, geht man wie folgt vor. 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://map.ffmuc.net|Karte]]**, geht man wie folgt vor.
Zeile 438: Zeile 438:
 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.
 {{ :ff_005.png?nolink&600 |Bild: Freifunkkarte mit Anzeige der gewählten Nodes}} {{ :ff_005.png?nolink&600 |Bild: Freifunkkarte mit Anzeige der gewählten Nodes}}
 +
 +==== 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://github.com/freifunk-gluon/gluon/wiki/Commandline-administration#disable-80211s-mesh-network|Gluon Administrationsguide]].
  
 ==== Webseite des FF-Knoten aus dem LAN aufrufen ==== ==== Webseite des FF-Knoten aus dem LAN aufrufen ====
Zeile 623: Zeile 635:
  
 ==== WLAN zeitgesteuert ein- und ausschalten ==== ==== WLAN zeitgesteuert ein- und ausschalten ====
-In Gemeinschaftsunterkünften wie z.B. Jugendherbergen, Asylhilfeeinrichtungen oder auch im familiären Haushalt, kann es erforderlich sein bzw. werden, den Zugang zum Internet zeitlich zu reglementieren. Bevor man nun einzelne Freifunk-Router per 230V-Zeitschaltuhr hart vom Stromnetz trenntsollte man lieber das nachfolgende **[[https://rosettacode.org/wiki/Almquist_Shell|ash]]**-Shellscript verwenden.  +In manchen Unterkünften oder auch im familiären Haushalt, kann es erforderlich sein bzw. werden, den Zugang zum Internet zeitlich zu reglementieren. 
-(AnmerkungEtwas 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 **[[#ap-timer|weiter unten]]**. )+Dazu wird "einfach" ein Eintrag in den Aufgabendienst cronhier micron.d geschrieben, in dem die Datei mit dem Editor VI erstellt wird:
  
-=== ASH-Script === +  vi /usr/lib/micron.d/wifioff
-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. +
-   vim /root/stop_wlan.sh+
  
-<file bash /root/stop_wlan.sh>#!/bin/ash +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 +
-#                                   on  = WLAN einschalten+
  
-# WLAN(s) ausschalten +  0 21 * * *  ifconfig client0 downifconfig client1 down 
-if [ $2 = "off"then +   7 * * *  ifconfig client0 upifconfig client1 up 
-   if [ $1 = "2"then +   
-      uci set wireless.client_radio0.disabled=1  +Für die Syntax gibt es viele hilfreiche Seiten, wie beispielsweise [[https://crontab.guru/#0_21_*_*_*|Crontab.guru]].
-   elif $1 = "5" ] ; then +
-      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 = "on" ] ; then +
-   if [ $1 = "2" ] ; then +
-      uci set wireless.client_radio0.disabled=0 +
-   elif [ $1 = "5" ] ; then +
-      uci set wireless.client_radio1.disabled=0 +
-   else +
-      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 +
-</file>+
  
-Das Script statten wir zum Aufruf mit den entsprechenden **x**-Rechten aus. +  /etc/init.d/micrond reload
-   chmod +x /root/stop_wlan.sh+
  
-Wollen wir nun ein WLAN umschalten, geben wir zwei Parameter an: 
-  * **erster Parameter** 
-    * ''2'' : 2.4 GHz Client WLAN 
-    * ''5'' : 5 GHz Client WLAN 
-    * ''p'' : [[gui#privates_wlan|privates verschlüsseltes WLAN]] 
-  * **zweiter Parameter** 
-    * ''off'' : WLAN ausschalten 
-    * ''on'' : WLAN einschalten 
- 
-So deaktivert z.B. folgender Aufruf das 5 GHz Client-WLAN: ''/root/stop_wlan.sh 5 off'' und folgender Aufruf würde es wieder aktivieren: ''/root/stop_wlan.sh 5 on'' 
-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. 
-   crontab -e 
- 
-<code># 2.5 GHz Client WLAN um 22:30 Uhr ausschalten 
-30 22 * * * /root/stop_wlan.sh 2 off > /dev/null 2>&1 
-  
-# 5 GHz Client WLAN um 22:30 Uhr ausschalten 
-30 22 * * * /root/stop_wlan.sh 5 off > /dev/null 2>&1 
-  
-# privates verschluesseltes WLAN um 00:00 Uhr ausschalten 
-* 0 * * *   /root/stop_wlan.sh p off > /dev/null 2>&1 
-  
-# um 6:45 Uhr alle WLANs wieder aktivieren 
-45 6 * * *  /root/stop_wlan.sh 2 on > /dev/null 2>&1 
-45 6 * * *  /root/stop_wlan.sh 5 on > /dev/null 2>&1 
-45 6 * * *  /root/stop_wlan.sh p on > /dev/null 2>&1</code> 
- 
-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, sowie frühmorgens um 6:45 Uhr alle drei WLANs wieder eingeschaltet. 
- 
-=== AP-Timer === 
-Seit der Firmware-Version **v2019.0.8** ((Ende Juli 2019)) gibt es nun eine Konfigurationsoption, die man am einfachsten bei der Konfiguration über die **[[knb:gui#ap_timer|Konfiguration über die WEB-GUI von LuCi]]** erreichen und konfigurieren kann.  
- 
-Auf der Konsole können wir uns hierzu dann die gesetzten Optionen mit Hilfe des Befehls ''uci show'' anzeigen lassen. 
-   uci show ap-timer 
- 
-<code>ap-timer.settings=ap-timer 
-ap-timer.settings.enabled='1' 
-ap-timer.settings.type='day' 
-ap-timer.all=day 
-ap-timer.all.on='06:20' 
-ap-timer.all.off='23:59'</code> 
- 
-In der Konfigurationsdatei ''/etc/config/ap-timer'' werden diese dann entsprechend persistiert. 
-<file bash /etc/config/ap-timer>config ap-timer 'settings' 
- option enabled '1' 
- option type 'day' 
- 
-config day 'all' 
- list on '06:20' 
- list off '23:59' 
- 
-</file> 
- 
-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='08:00' 
-   uci set ap-timer.all.off='17:45' 
-   uci commit 
  
 +Siehe dazu auch den [[https://wiki.freifunk.net/Konsole#Clientnetz_zeitgesteuert_an-.2Fabschalten|Freifunk Konsolenguide]].
 ==== 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 768: Zeile 694:
    /etc/init.d/network restart    /etc/init.d/network restart
  
-==== 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>:includes:segmente&nodeader&nofooter}}  {{page>:includes:segmente&nodeader&nofooter}} 
  
 +Die aktuelle Liste aller Segment/Domains kann man auf Github finden: https://github.com/freifunkMUC/site-ffm/tree/stable/domains
  
-Will man in Erfahrung bringen, welche Segmente momentan zur Verfügung stehen, kann man diese mit Hilfe des folgenden Aufrufs abfragen. +Die aktuelle Segmentzuordnung am eigenen Knoten kann man mit folgendem Befehl abfragen
-   ls /lib/gluon/domains | cut -f1 -d "."+  # uci show gluon.core.domain 
 +  gluon.core.domain='ffmuc_welt'
  
-  ... +Der Knoten befindet sich also demnach im Segment **ffmuc_welt**Will man diesen Knoten nun z.Bin das Segment **ffmuc_muc_ost** versetzen, schreibt man in die betreffende Konfigurationsoption den neuen Segmentnamen. Siehe dazu  
-  ffmuc_uml_ost +(siehe auch [[https://github.com/freifunk-gluon/gluon/wiki/Commandline-administration#switching-the-domain|Gluon Administrationsguide]]).
-  ...+
  
-Die aktuelle Segmentzuordnung am eigenen Knoten kann man mit folgendem Befehl abfragen: +  gluon-switch-domain ffmuc_muc_ost
-   uci show gluon.core.domain+
  
-  gluon.core.domain='ffmuc_uml_ost' +   
- +
-Der Knoten befindet sich also demnach im Segment **ffmuc_uml_ost**. Will man diesen Knoten nun z.B. in das Segment //**ffmuc_muc_ost**// versetzen, schreibt man in die betreffende Konfigurationsoption den neuen Segmentnamen. +
-   uci set gluon.core.domain='ffmuc_uml_ost' +
-   uci commit +
-   gluon-reconfigure +
-   reboot+
  
 ==== Passthrough-Port des TP-Link CPE ==== ==== Passthrough-Port des TP-Link CPE ====
Zeile 819: Zeile 739:
 ==== 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://192.168.1.1 administrieren, verwendet man folgenden Aufruf. Möchte man seinen WLAN-Router erneut in den Konfigurationsmodus versetzen, um ihn dann mit dem Web-Browser via http://192.168.1.1 administrieren, verwendet man folgenden Aufruf.
-   uci set "gluon-setup-mode.@setup_mode[0].enabled=1" +  gluon-enter-setup-mode 
-   uci commit gluon-setup-mode +   
-   reboot+Siehe dazu auch den [[https://github.com/freifunk-gluon/gluon/wiki/Commandline-administration#re-entering-config-mode|Gluon Administrationsguide]].
  
 ==== Routerkonfiguration komplett löschen / zurücksetzen ==== ==== Routerkonfiguration komplett löschen / zurücksetzen ====
 Möchte man den Router wieder in den Anfangszustand zurücksetzen, also die vorhandene Konfiguration komplett löschen, geht man wir folgt vor. Möchte man den Router wieder in den Anfangszustand zurücksetzen, also die vorhandene Konfiguration komplett löschen, geht man wir folgt vor.
-   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 +
   /dev/mtdblock5 is mounted as /overlay, only erasing files   /dev/mtdblock5 is mounted as /overlay, only erasing files
- +  reboot
-   reboot+
  
 Anschließend ist der Router zurückgesetzt, und man kann die Konfiguration unter http://192.168.1.1 wieder neu beginnen.  Anschließend ist der Router zurückgesetzt, und man kann die Konfiguration unter http://192.168.1.1 wieder neu beginnen. 
- 
 ===== Update/Upgrade der Firmware ===== ===== Update/Upgrade der Firmware =====
 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://firmware.ffmuc.net/ 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://firmware.ffmuc.net/
Zeile 858: Zeile 772:
    uci set autoupdater.settings.branch='stable'    uci set autoupdater.settings.branch='stable'
    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.enabled='1'
   autoupdater.settings.branch='stable'   autoupdater.settings.branch='stable'
 +  autoupdater.settings.version_file='/lib/gluon/release'
  
-==== Update manuell forcieren ====+Siehe dazu auch den [[https://github.com/freifunk-gluon/gluon/wiki/Commandline-administration#change-autoupdater-branch|Gluon Administrationsguide]]. 
 +==== Update forcieren ==== 
 + 
 +=== Via Autoupdater ===
 Mit Hilfe des Befehls ''autoupdater'' kann man nun manuell eingreifen und die Firmware zielgerichtet updaten - mit Angabe der Option **-h** werden alle Optionen angezeigt. Mit Hilfe des Befehls ''autoupdater'' kann man nun manuell eingreifen und die Firmware zielgerichtet updaten - mit Angabe der Option **-h** werden alle Optionen angezeigt.
    autoupdater -h    autoupdater -h
-<code>Usage: autoupdater [options] [<mirror> ...] 
- 
-Possible options are: 
-  -b, --branch BRANCH  Override the branch given in the configuration. 
- 
-  -f, --force          Always upgrade to a new version, ignoring its priority 
-                       and whether the autoupdater even is enabled. 
- 
-  -h, --help           Show this help. 
- 
-  -n, --no-action      Download and validate the manifest as usual, but do not 
-                       really flash a new firmware if one is available. 
- 
-  --fallback           Upgrade if and only if the upgrade timespan of the new 
-                       version has passed for at least 24 hours. 
- 
-  --force-version      Skip version check to allow downgrades. 
- 
-  <mirror> ...         Override the mirror URLs given in the configuration. If 
-                       specified, these are not shuffled.</code> 
  
 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 896: Zeile 795:
 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 //experimental//. 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 //experimental//.
    autoupdater -b experimental -f    autoupdater -b experimental -f
-<code>Retrieving manifest from http://firmware.ffmuc.net/experimental/sysupgrade//experimental.manifest ... 
-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:  3328 / 3328 KiB 
-Stopping network... 
-Killed by signal 1. 
-Killed by signal 1. 
-packet_write_wait: Connection to UNKNOWN port 65535: Broken pipe</code> 
  
-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 kopieren. Im folgenden Beispiel holen wir uns zuerst das Image auf unseren Admin-Rechner und kopieren es dann via ''scp'' auf den Router um es abschließend per Hand zu installieren.+=== 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 abwelches 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://github.com/freifunk-gluon/gluon/wiki/Commandline-administration#show-router-model|Gluon Administrationsguide]]): 
-   lua -e 'print(require("platform_info").get_model())'+  # lua -e 'print(require("platform_info").get_model())' 
 +  Extreme Networks WS-AP3825i 
 +   
 +Wir werden also erst einmal von der Firmwareseite das gewünschte Image unter **Upgrade** suchen: https://firmware.ffmuc.net/?q=Extreme%20Networks%20WS-AP3825i
  
-  Ubiquiti UniFiAP Outdoor++Anstatt die Datei downzuloaden, kann man den Link mit Rechtsklick auf "Link kopieren" kopieren.
  
-Wir werden uns also erst einmal von der Firmwareseite das gewünschte Image auf unseren Admin-Rechner herunterladen. +Anschließend kann führen wir das Update mit dem Befehl **sysupgrade** durch, wobei hier der Link von oben kopiert werden kann: 
-   wget https://firmware.ffmuc.net/experimental/sysupgrade/gluon-ffmuc-v2019.0.4~exp86-ubiquiti-unifiap-outdoor+-sysupgrade.bin+  echo 3 > /proc/sys/vm/drop_caches 
 +  sysupgrade https://firmware.ffmuc.net/stable/sysupgrade/gluon-ffmuc-v2022.10.5-extreme-networks-ws-ap3825i-sysupgrade.bin 
 +  
  
-Anschließend kopieren wir diese Date in das Zielverzeichnis //**/tmp**// auf unseren Freifunk-Knoten. +Siehe dazu auch [[https://github.com/freifunk-gluon/gluon/wiki/Commandline-administration#install-new-firmware-via-commandline|Gluon Administrationsguide]].
-   $ scp gluon-ffmuc-v2019.0.4~exp86-ubiquiti-unifiap-outdoor+-sysupgrade.bin ff_pliening_gbw_test:/tmp/+
  
-<code>############################################################################## 
-#                                                                            # 
-#      ╭∩╮( ͡° ل͟ ͡° )╭∩╮   This is not your server!   ╭∩╮( ͡° ل͟ ͡° )╭∩╮      # 
-#                                                                            # 
-#             Unauthorized access to this system is prohibited !             # 
-#                                                                            # 
-#    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                                                                        100% 3968KB 211.7KB/  00:18     
-Killed by signal 1. 
-Killed by signal 1. 
-</code> 
  
-Bevor wir nun die Firmware installieren, leeren wir noch die caches auf dem Router, nachdem wir uns dort per SSH angemeldet haben. +=== 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/wiki/Commandline-administration#show-router-model|Gluon Administrationsguide]]): 
 +  # lua -e 'print(require("platform_info").get_model())' 
 +  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 ''scp'' auf den Router um es abschließend per Hand zu installieren.
  
-Zum Updaten verwenden wir den Befehl ''sysupgrade'' - bei Angabe der Option **_h** werden die möglichen Optionen angezeigt. +Wir werden uns also erst einmal von der Firmwareseite das gewünschte Image unter **Upgrade** auf unseren Admin-Rechner herunterladen: https://firmware.ffmuc.net/?q=Extreme%20Networks%20WS-AP3825i 
-   sysupgrade -h + 
-<code>Usage: /sbin/sysupgrade [<upgrade-option>...] <image file or URL> +Anschließend kopieren wir diese Date in das Zielverzeichnis //**/tmp**// auf unseren Freifunk-KnotenHier nutzen wir beispielsweise die IP 192.168.1.1 für den Knoten: 
-       /sbin/sysupgrade [-q] [-i] <backup-command> <file>+   $ scp gluon-ffmuc-v2022.10.5-extreme-networks-ws-ap3825i-sysupgrade.bin root@192.168.1.1:/tmp/new_sysupgrade_image.bin 
 + 
 + 
 +Bevor wir nun die Firmware installieren, leeren wir noch die caches auf dem Router, nachdem wir uns dort per SSH angemeldet haben. 
 +   $ ssh root@192.168.1.1
  
-upgrade-option: +   # echo 3 > /proc/sys/vm/drop_caches
- -f <config restore configuration from .tar.gz (file or url) +
- -i           interactive mode +
- -c           attempt to preserve all changed files in /etc/ +
- -n           do not save configuration over reflash +
- -p           do not attempt to restore the partition table after flash. +
- -T | --test +
-              Verify image and config .tar.gz but do not actually flash. +
- -F | --force +
-              Flash image even if image checks fail, this is dangerous! +
- -q           less verbose +
- -v           more verbose +
- -h | --help  display this help+
  
-backup-command: +Zum Updaten verwenden wir den Befehl ''sysupgrade''bei Angabe der Option **-h** werden die möglichen Optionen angezeigt.
- -b | --create-backup <file> +
-              create .tar.gz of files specified in sysupgrade.conf +
-              then exit. Does not flash an image. If file is '-'+
-              i.e. stdout, verbosity is set to 0 (i.e. quiet). +
- -r | --restore-backup <file> +
-              restore a .tar.gz created with sysupgrade -b +
-              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 +
-              sysupgrade -b. Does not create a backup file.</code>+
  
 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+  sysupgrade /tmp/new_sysupgrade_image.bin
  
-<code>Image metadata not found +<code>Saving config files... 
-Saving config files... +Commencing upgrade. Closing all shell sessions.</code> 
-Commencing upgrade. Closing all shell sessions. +
-Killed by signal 1. +
-Killed by signal 1. +
-packet_write_wait: Connection to UNKNOWN port 65535: Broken pipe</code> +
  
 ===== links ===== ===== links =====
  • knb/ssh.1661093664.txt.gz
  • Zuletzt geändert: 2022/08/21 14:54
  • von grische