Benutzer:Leo/Blog:2014 October 10 07:27:25 CEST
Inhaltsverzeichnis |
Techniktreffen (09.10.2014)
Wir haben wieder ein gemütliches und produktives Treffen in der Frieda veranstaltet.
Flash-Schreibzyklen reduzieren
Aktuell wird durch das "on_vpngateway_check"-Skript minütlich die Datei /etc/config/on-openvpn überschrieben. Dies führt nach ca. einem Jahr zu etwa 100k Schreibzyklen - dies entspricht grob der erwarteten Lebensdauer eines Flash-Speichers.
Das Skript schreibt folgende Informationen:
- das Alter (in Minuten) des letzten VPN-Verbindungstests (Wiederholung im 20-Minuten-Takt)
- die Entfernung des Gateways (olsrd: ETX-Wert)
- der Status "blacklisted"
- das Flag "nutzbar" oder "kaputt"
angestrebtes Ziel heute
- Alter, Entfernung und Status nur noch in einer Datei im tmpfs speichern (eigenes Format)
erreichtes Ziel heute
Zitat von Lars: "Ist noch nicht getestet aber läuft"
Captive Portal Lösung
Unsere bisherige Lösung wifidog wird nicht weiter von Entwicklern gepflegt. Wir suchen nun ein Lösung, welche schlank ist und unsere Anforderungen erfüllt.
Unsere Anforderungen
benötigte Captive Portal (CP) Funktionen:
- in regelmäßigen Abständen oder Neubesuch Startseite anzeigen
- ?? MAC Adresse sperren
- ?? Traffic beschränken
OpenWRT Integration:
- Es sollte ein bestehendes OpenWRT package geben.
- Idealerweise ist das package bereits im neuen OpenWRT Package Repository (https://github.com/openwrt/packages). Wenn es nicht darin ist, sollte es so klein/schlank sein, dass es von uns selbst gepflegt werden kann.
Mögliche Lösungen
http://wiki.openwrt.org/doc/howto/wireless.overview#captive.portal.software.available.in.the.openwrt.repository Bewertungskriterien für Lösungen:
- Erfüllt es unsere obigen CP Anforderungen?
- Wie einfach ist die Integration in OpenWRT? Von welchen andere Paketen hängt es ab? Sind diese auch im neuen OpenWRT package repo drin?
- Wie ist die reale oder gefühlte Zukunfsfähigkeit der Lösung?
Lösung 1: nodogsplash
https://github.com/nodogsplash/nodogsplash
- Scheint sehr minimalistische Lösung zu sein.
- Abhängigkeiten von anderen Paketen sind auch minimal im Vergleich zu anderen.
- Auf Github sind pull requests willkommen. Also evtl. zukunftsfähig.
Was wurde heute geschafft (Aktueller Stand)
- Paket wurde testweise auf AP2.30 installiert
- Weiterleitung auf Wikiseite wurde konfiguriert
- Ticket mit Konfigurationsdateien erstellt (https://dev.on-i.de/ticket/65)
Weitere Plan:
- Paket in Firmware einbauen und testen und damit wifidog hoffentlich ersetzen
Lösung 2: ...
Wird angeschaut, wenn Lösung 1 nicht geht :)
DNS / Service Announcements
Wir haben über mehrere Stunden versucht DNS Announcements über das OLSRD Nameservice Plugin durchzuführen. Letztendlich stellte sich heraus, dass das Nameservice Plugin die "service" Nachrichten parst und validiert. Dies ist aber nur im Quelltext dokumentiert und leider nicht in einer Readme-Datei oder anderen prominenten Stellen.
Ein String nach Format "dns://192.168.10.4:53|udp|dns" ist beispielsweise gültig, solange dies von dem Rechner 192.168.10.4 gesendet wird. Als Präfix ist auch ein Protocol mit "://" nötig.
Weiterer Plan:
- Auf APs diese DNS Announcements parsen und in die resolv.conf eintragen. Dies in Bash implementieren :(
Internetfreigabe-Knopf
Wir haben intensiv über die VPN Funktion der UGWs geredet. Dabei wurde herausgearbeitet, dass der Internetfreigabeknopf etwas irreführend ist, weil der Nutzer seine Leitung bereits mit anderen hinter ihm liegenden Teilnehmern teilt, sobald er UGW Zertifikate einspielt. Der Knopf aktiviert lediglich die Portweiterleitung und das UGW Announcement.
Der Knopf ist eine gute Idee. Aber mit diesem Knopf sollte auch das Aufbauen des UGW-VPNs verbunden werden. Sodass beim Drücken auf den Knopf drei Dinge passieren sollten:
- UGW VPN aufbauen
- Portweiterleitung aktivieren
- UGW Announcement aktivieren
Zusammenfassung dieses Abends
Es war ein sehr lustiger Abend mit lustigen Leuten. Gefühlt hat Lars sehr viel geschafft. Alle anderen haben sich mit komplexen und schwer durchschaubaren Dingen beschäftigt und letztendlich nur kleine aber wichtige Dinge geschafft :). Alle freuen sich auf das stable Release, welches Lars in naher Zukunft prophezeit. :)