Gluon Node für Freifunk Franken

Hallo mal wieder ein neuer Beitrag 🙂 Diesmal will ich aufzeigen wie ich das Gluon Framework für einen Freifunk Franken Node angepasst habe. Wobei angepasst eigentlich schon sehr übertrieben ist, viel musste man eigentlich gar nicht tun. Der Node ist aktuell hier oder hier (sofern Online) zu sehen.

Warum mach ich das ganze eigentlich? Im moment läuft bei mir an den meisten Punkten unsere Freifunk Franken Firmware. Diese wird aktuell aber nur sehr zäh weiter entwickelt und durch das automatische Hood konfigurieren gibt es immer wieder Probleme bei mir. Ich will einfach eine statische Hood kompilieren und dann ist der Node NUR und NUR(!) für diese Hood gebaut.

Ich versuche mal Vor- und Nachteile von Gluon zusammen zu fassen:

Vorteil Gluon:

  • Es geht extrem viel automatisch
  • Es ist deutlich aktueller als unsere Firmware (neueres Batman, neuer Kernel, etc.)
  • Hood wird einfach statisch kompiliert ohne viel Script Kram.
  • SSH Key mit einbauen geht ganz einfach über site.conf (wie auch vieles andere was man dort direkt einstellen kann)
  • Node holt sich auch eine public V6 Adresse, das ist bei Freifunk Franken eher nicht gewünscht und müsste man selbst nachrüsten.

Nachteile Gluon:

  • wirkt sehr aufgeblasen, ich musste erstmal viel Kram entfernen der unnötig ist
  • im Gluon IRC Channel liest man von vielen Problemen, ich glaube diese treten aber meist nur auf weil Gluon oft in riesen L2 Netzen verwendet wird, die ich ja nicht habe (meist 1stellig oder niedrige 2 stellige Nodezahlen pro L2 Netz). Anderseits wird da aber sehr aktiv an der Fehlerbehebung gearbeitet (siehe Vorteil wird aktiv entwickelt)
  • bisschen viel Magie was ich aktuell noch nicht verstanden habe aber Magie die funktioniert ist vielleicht auch gute Magie 😉
  • LUA

Fakten (seh ich aktuell weder als Vor- noch als Nachteil):

  • Kein VPN möglich, wäre wohl theoretisch auch möglich über sie site.conf / site.mk einzustellen, für mich aber aktuell nicht nötig daher hab ich den kompletten VPN Kram einfach rausgeworfen.
  • wird nur für eine Hood gebaut. Hoodwechsel benötigt neues Flashen des Routers. Für mich ganz klar ein Vorteil da meine Router in der Hood sein sollen wo ICH sie haben will und nicht wo jemand anders oder irgendeine Automatik sie gerade hinschieben möchte.
  • Ich hab den Autoupdater aktuell komplett ausgebaut. Aktuell muss ich das Zeug erstmal zum laufen bekommen bevor ich mich traue meinen ganzen Kram automatisch upzudaten.

Gluon bauen

Benötigen tun wir eigentlich nur einen Linux PC um die Gluon Firmware zu bauen. Danach legen wir irgendwo einen Ordner an und ziehen uns erst mal Gluon ausm Git herunter:

git clone https://github.com/freifunk-gluon/gluon.git gluon
cd gluon

(evtl. hier noch auf das letzte Release wechseln wenn man nicht den Master bauen möchte, ich hab aktuell einfach mal den Master gebaut)

danach brauchen wir eine site.conf und site.mk im sites Unterordner. Ich hab meine für Hood Unterfürberg mal in ein Git gelegt:

https://github.com/ChristianDresel/GluonSiteUFB

einfach die site.mk und site.conf nach /sites kopieren und wenn nötig für die eigene Hood anpassen. Ich hab bei mir den config-mode deaktiviert (setup_mode = { skip = true, },) und direkt meinen SSH Key mit eingebaut ( authorized_keys = […]). Zudem hab ich alle LAN Ports direkt auf Mesh/Batman gestellt (mesh_on_lan = true,) und Geräte die nur einen Ethernetport haben, den Port so eingestellt das er wie ein LAN Port (also Mesh/Batman) behandelt wird (single_as_lan = true,).

Damit sich der Router später im Monitoring meldet, brauchen wir noch ein angepasstes Nodewatcher Paket. Hier hab ich mir von ffol das Nodewatchergluon Paket genommen welches auch Freifunk Rothenburg verwendet, die ausführbare Nodewatcherdatei von Freifunk Franken genommen und ein wenig für Gluon angepasst (Koordinaten, Owner, etc.) und schon frisst Gluon den Nodewatcher und das Monitoring die Daten.

Das Paket habe ich fertig hier abgelegt:

https://github.com/ChristianDresel/GluonNodewatcherFFF

einfach das ganze nach /package/gluon-ffol-nodewatcher/ kopieren.

Aktiviert wird es über sie site.mk indem die packages alfred und ffol-nodewatcher  in GLUON_FEATURES :=  hinzugefügt werden.

Danach sind wir mit dem Vorbereiten fertig und müssen Gluon nur noch kompilieren.

make update
make GLUON_TARGET=ar71xx-generic

man kann GLUON_TARGET=ar71xx-generic auch weglassen, dann wird angezeigt für welche Targets (=Gerätetypen) Gluon gebaut werden kann, und kann beim bauen entsprechend angegeben werden. Für den typischen 841er muss man z.b. ar71xx-tiny verwenden.

Danach dauerts je nach CPU ein paar Minuten und am Ende landet der fertige build ist:

/lede/bin/targets/ar71xx/generic/

danach die File ganz normal auf den Router flashen und schon ist der Gluonnode fertig 🙂

Problem

Aktuell gibt es noch ein Problem, das Gluon in der neuen Version irgendein VXLAN Zeug für Kabelmesh verwendet. Das will ich eigentlich nicht. Man kann es wärend der Laufzeit ausschalten aber aktuell noch nicht über die site.conf. Daran wird nach meinen Kenntnis aber gerade gearbeitet. Mehr dazu hier.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.