Das westliche Friesland und das südliche Wittmund sind offline. Der Fehler verbirgt sich in einer fehlerhaften Konfiguration des Tunnelendpunkts im letzten Update.
Um einen Knoten wieder online zu bringen, ist ein manueller Eingriff notwendig, es gibt dafür verschiedene Möglichkeiten:
Option 1: Die Firmware Version 20211030
kann per manuellem Update installiert werden.
Option 2: Die Adresse des Tunnelendpunkts wird korrigiert.
Beide Möglichkeiten werden im folgenden Abschnitt beschrieben.
Reparatur
Repariert werden müssen Knoten, die selbst eine Internetverbindung haben (sollen). Knoten die eine Verbindung über einen anderen Knoten herstellen können, laden das Update automatisch herunter. Der Fehler wirkt sich bei diesen Knoten nicht weiter aus. Das bedeutet auch, dass du mit einem reparierten Knoten inklusive Internetanbindung andere Knoten in Reichweite automatisch reparierst. Das kann jeweils bis zu einer Stunde dauern, da der automatische Updateprozess stündlich gestartet wird. Eine Expertenanleitung, wie sich ein mobiler Update-Server auch offline realisieren lässt, findest du unten.
Option 1: Reparatur per Firmware-Upgrade im Config-Mode
Lade die aktuelle Firmware für dein Gerät herunter:
https://firmware.ffnw.de/l2tp/stable/sysupgrade/
Aktiviere den Config-Mode, indem du im laufenden Betrieb des Routers den (Reset-)Knopf ca. 10 Sekunden gedrückt hältst. Sobald der Router neu startet, lass den (Reset-)Knopf los.
Bist du per Kabel mit der LAN-Schnittstelle des Routers (z. B. die gelben Ports) verbunden, erreichst du die Konfiguration über http://192.168.1.1/
. Über die erweiterten Einstellungen oben rechts findest du einen Reiter Update, in dem du die neue Firmware hochladen kannst. Lass das Häkchen gesetzt, um deine Einstellungen zu behalten.
Der Router schreibt die neue Firmware in seinen Speicher, startet neu und sollte wieder funktionsfähig sein.
Option 2: Reparatur des Tunnelendpunkts per SSH
sed -i -e 's/ffnw:9002/ffnw.de:9002/' /lib/gluon/domains/landkreis_wittmund_sued.json
uci set tunneldigger.mesh_vpn.address='wtm_sued01.sn.ffnw.de:9002'
uci commit tunneldigger
/etc/init.d/tunneldigger restart
Fehlerursache
In der Tunnelkonfiguration wird auf wtm_sued01.sn.ffnw
ohne .de
am Ende verwiesen. Dies verhindert eine Adressauflösung und der Aufbau des Tunnels ist nicht möglich. Wir können den Fehler leider nicht beheben, da die Knoten ein fehlerfreies Update nur über den Tunnel herunterladen würden. Auch können wir die fehlerhafte Adresse die auf .ffnw
endet nicht geeignet hinzufügen, da diese keine öffentlich auflösbare Top-Level-Domain ist.
Finally …
Sollten in den Anleitungen Fehler enthalten sein, bitten wir um einen freundlichen Hinweis. Uns war es wichtig, schnell und umfangreich Hilfe zur Selbsthilfe zu leisten und haben die Anleitungen daher nicht mehrfach Korrektur gelesen und inhaltlich geprüft.
Solltest du Hilfe benötigen, melde dich gerne auf unserer Mailingliste nordwest@lists.ffnw.de
.
Viel Erfolg!
Expertenanleitung: Einrichtung eines mobilen Update-Servers
Das folgende Verfahren ist hochgradig experimentell und erfordert gute Kenntnisse von OpenWrt bzw. Gluon. Benötigt wird ein mobiler, OpenWrt kompatibler Router mit USB-Anschluss für Speichermedien. Zur Erarbeitung dieser Anleitung wurde ein TP-Link TL-WR 902AC v3 eingesetzt. Der mobile Update-Server sollte nur zum Zweck der Reparatur eingesetzt werden, da für einen produktiven Einsatz falsche Netzwerkinformationen verteilt werden.
Alternativ kann auch ein reparierter Knoten, bspw. mit Firmware Version 20211030
mit einem mobilen Hotspot versorgt werden. Das ist ein deutlich einfacherer Ansatz. Du solltest bedenken, dass du für den Zeitraum der Reparatur alle verbundenen Freifunk-Knoten inklusive Clientnetzwerk über deinen mobilen Hotspot online bringst.
USB Storage
Diese Schritte folgen weitestgehend folgender Anleitung aus dem OpenWrt Wiki: https://openwrt.org/docs/guide-user/storage/usb-drives-quickstart
Die Formatierung und das Bereitstellen der Update-Images kann auch über ein anderes Gerät erfolgen.
USB Storge einrichten
opkg update && opkg install block-mount e2fsprogs kmod-fs-ext4 kmod-usb-storage kmod-usb2 kmod-usb3
USB Stick anschließen und ggf. das Gerät finden:
ls -al /dev/sd*
Das angezeigte Gerät ist in den folgenden Schritten statt sda1
zu verwenden.
Mit ext4 formatieren:
mkfs.ext4 /dev/sda1
fstab befüllen:
block detect | uci import fstab
uci set fstab.@mount[0].enabled='1' && uci set fstab.@global[0].anon_mount='1' && uci commit fstab
/etc/init.d/fstab boot
USB Storage befüllen
Dieser Abschnitt ist ggf. besser auf einem separaten Computer durchzuführen. Der opkg
Befehl ist dann natürlich zu überspringen.
mkdir -p /mnt/sda1/v1/l2tp/stable
Update-Firmwares herunterladen:
opkg update && opkg install wget
wget --recursive --no-parent -nH --cut-dirs=3 --directory-prefix=/mnt/sda1/v1/l2tp/stable/ http://firmware.ffnw.de/l2tp/stable/sysupgrade/
Webserver vorbereiten / Statuspage auf Port 8080 umlegen
uci set uhttpd.firmware=uhttpd
uci set uhttpd.firmware.max_connections='100'
uci set uhttpd.firmware.network_timeout='30'
uci set uhttpd.firmware.http_keepalive='20'
uci set uhttpd.firmware.tcp_keepalive='1'
uci set uhttpd.firmware.home='/mnt/sda1'
uci set uhttpd.firmware.max_requests='32'
uci add_list uhttpd.firmware.listen_http='0.0.0.0:80'
uci add_list uhttpd.firmware.listen_http='[::]:80'
uci del_list uhttpd.main.listen_http='0.0.0.0:80'
uci del_list uhttpd.main.listen_http='[::]:80'
uci add_list uhttpd.main.listen_http='0.0.0.0:8080'
uci add_list uhttpd.main.listen_http='[::]:8080'
uci commit uhttpd
Update-Server, DNS und NTP announcen
uci set dhcp.autoupdate=domain
uci set dhcp.autoupdate.name='autoupdate-lede.ffnw'
uci set dhcp.autoupdate.ip="2a06:e881:2000:7::1"
uci set dhcp.ntp=domain
uci set dhcp.ntp.name='ntp.ffnw'
uci set dhcp.ntp.ip="2a06:e881:2000:7::1"
uci delete dhcp.@dnsmasq[0].server
uci commit dhcp
uci set system.ntp.enable_server='1'
uci delete system.ntp.server
uci commit system
echo "date -s \"2021-11-05 19:00:00\"" >/etc/rc.local
echo "ip a add 2a06:e881:2000:7::1/64 dev br-client" >>/etc/rc.local
echo "ip a add 2a06:e881:2000:8::1/64 dev br-client" >>/etc/rc.local
echo "/usr/sbin/uradvd -i br-client -p 2a06:e881:2000:7::/64 -p 2a06:e881:2000:8::/64" >>/etc/rc.local
echo "exit 0" >>/etc/rc.local
/etc/init.d/gluon-ebtables disable
/etc/init.d/gluon-radv-filtered disable
/etc/init.d/firewall disable
Client-Netzwerk umbenennen (optional)
uci set wireless.client_radio0.ssid='FreifunkMobileUpdate'
uci set wireless.client_radio0.owe_transition_ssid='FreifunkMobileUpdate OWE'
uci set wireless.client_radio1.ssid='FreifunkMobileUpdate'
uci set wireless.client_radio1.owe_transition_ssid='FreifunkMobileUpdate OWE'
uci commit wireless
Autoupdater deaktivieren, Setup-Mode verlassen und neustarten
uci set autoupdater.settings.enabled='0'
uci commit autoupdater
uci set gluon-setup-mode.@setup_mode[0].configured='1'
uci commit gluon-setup-mode
reboot
Das Ganze gibt es auch als fertiges Run’n’Play Script. Einfach den Knoten mit Firmware 20211030
fertig geflasht im Config-Mode anschließen und starten. Dein Rechner braucht sowohl eine Verbindung zum Knoten, als auch ins Internet. Anschließend muss der USB-Stick noch mit dem Inhalt des sysupgrade-Ordners der 20211030
befüllt werden.
Viel Erfolg! Fragen und Anmerkungen sende bitte über die Mailingliste.
Changelog
6. November 2021 14:38 Uhr - Ergänzung: Mobiler Update-Server