Updatesichere Einstellungen

Hallo,

gibt es irgendwo eine Übersicht darüber, welche mittels „uci set“ gesetzten Einstellungen update sicher sind und welche nicht?
Kann man „nicht Updatesichere“ Einstellungen manuell als geschützt setzen? Bei manchen Systemen wird so etwas mit Kennzeichen wie Rufzeichen vor oder nachstellen gelöst.

Ich habe jetzt aktuell einen Router, bei dem zwingend die vier Lan-Ports auf Wan geswitcht werden müssen und nicht auf Freifunk.
Hiermit geht das:
uci set network.wan.ifname=‚eth0 eth1‘
…ist aber nicht updatesicher. Das habe ich bereits getestet.
Nach einem Update wären also plötzlich (und bei automatischem Update unerwartet) alle Geräte hinter den gelben Ports nicht mehr im Lan sondern im Freifunk. Freiheit ist zwar schön aber in diesem Fall nicht in der Form gewünscht. Das man hierzu einen separaten kleinen Switch verwenden könnte ist klar… Aber darum geht es jetzt nicht!

Ein Parameter oder Kennzeichen um eine Einstellung save zu machen hätte den Vorteil, dass die große Masse der Router nach wie vor immer alle wichtigen Config Daten eingespielt bekommt, Router mit etwas spezielleren Einstellungen aber verschont bleiben.
Freiheit im Freifunk :wink:

Hallo @codework,

das Problem ist ein bisschen, dass, soweit ich das verstanden habe, uci ja keine Registry ist, aus der direkt etwas abgeleitet wird, sondern mehr eine Anzeige ist, für die Einstellungen, die gesetzt wurden.

Das hängen der gelben Ports ins WAN muss z.B. über brctl erfolgen. Das führt uci nicht durch.

Daher bräuchte man, um das updatesicher zu machen, dafür ein eigenes Paket.

Grüße
MPW

Im nächsten Milestone von Gluon ist eine Erweiterte Port-Konfiguration eingeplant.

https://github.com/freifunk-gluon/gluon/issues/284

Wie jetzt der quick & dirty Fix ist, weiß ich leider nicht :wink:

Du könntest sowas in /etc/rc.local eventuell eintragen. Nachdem du die entsprechenden UCI Befehle dort hinterlegst und am Ende ein /etc/init.d/network restart sollte der Knoten nach dem Booten umkonfiguriert sein. Die Datei rc.local überlebt auch normale sysupgrades.

Hallo,

vielen Dank für die Tipps. Ich habe das mit den UCI Befehlen in der rc.local umgesetzt. Dabei ergab sich allerdings das Problem, dass die Weboberfläche zum Konfigurieren nicht mehr erreichbar war. Das habe ich nun mit einer If-Abfrage gelöst. Wer ebenfalls so eine Konfiguration braucht kann diese in die Datei /etc/rc.local schreiben und ggf. Router spezifisch anpassen.

if [ "$(uci get gluon-setup-mode.@setup_mode[0].enabled)" != "0" ]; then
  uci set network.client.ifname=bat0 
  uci set network.wan.ifname='eth0 eth1' 
  sleep 1
  /etc/init.d/network restart
fi

exit 0
2 Likes

Das Commit solltest du raus lassen, solange der Router läuft bleiben die Einstellungen eh im RAM. Durch das Commit verschleißt du dir unnötig den Flashchip durch das häufige schreiben.

Mir wäre schon fast wichtiger, alles was auf den Lan/Wan-Ports passiert auch ggf. mit vlan-tagging zu haben. Und das updatesicher.
Also meshOnWan auf einem anderen vlan als die br-wan, und auch anderes als das private-wifi.

Das Commit weg zu lassen wäre gut. Funktioniert aber so nicht. Da ich im Setup-Mode keinen SSH Zugang habe ist es etwas schwierig, das Problem herauszufinden.

Telnet ist aktiv (ohne Passwort).

Nach langem Suchen hoffentlich die Lösung: Scheinbar kommt „network restart“ schneller als „uci set“ die config umschreibt.
Jedenfalls schafft ein „sleep“ Abhilfe und >20 Test liefen Fehlerfrei durch.

@tcatm Danke für den Hinweis. Konnte ich gut brauchen.
@Freifunker Commit ist raus. Danke für den Hinweis.

1 Like