Flashen
Download des OpenWRT Images (HW-spezifisch) hier: http://gw01.freifunk-stuttgart.de/gluon/stable/sysupgrade/
Videoanleitung zum Flashen: http://gw01.freifunk-stuttgart.de/gluon/GluonScreencast.mp4
Monitoring
Einrichtung prinzipiell
- Download des Freifunk OpenWRT Images ("gluon") von https://firmware.freifunk-stuttgart.de/firmware.php?id=0
- Installation nach Videoanleitung, Neustart mit OpenWRT Image, Default IP ist 192.168.1.1
- Grundkonfiguration über den Wizard in der Weboberfläche, ggf. erweiterte EInstellungen für Meshing beachten
- Der Router generiert ein PGP Schlüsselpaar anhand der Geräte-MAC, das zum Aufbau der VPN Verbindung zu den Freifunk Gateways benötigt wird, Der öffentliche Anteil des Schlüsselpaars (Public Key) wird per Mail an vpn-schluessel@lists.freifunk-stuttgart.net geschickt. Dann die Registrierung abwarten.
- Nachdem der Schlüssel registriert ist, baut der Router/Access Point automatisch einen VPN Tunnel zu einem der Freifunk Gateways auf.
- Darstellung in der Karte map.freifunk-stuttgart.net: das erfolgt nur, wenn Positionsdaten (Langen/Breitengrad) im Gerät eingetragen und ihre Übermittlung freigegeben wurde (siehe weiter unten).
Hinweis für Ubiquity Pico Station: bei Firmware ab Version 5.6.x muss zur Zeit erst ein Downgrade auf Version 5.5.x der Ubiquity Firmware gemacht werden, bevor man das Freifunk Image drauf spielt.
5.5.x AirOS Image Download http://dl.ubnt.com/firmwares/XN-fw/v5.5.11/XM.v5.5.11.28002.150723.1344.bin
Konfiguration FF Router
Wechsel in den Konfigurations-Modus
Zum Wechsel in den "Konfigurations-Modus" den Router mit gehaltenem Reset Knopf neu starten (alle LED blinken). Danach gibt der Router Adressen im Bereich 192.168.1.x aus (vorher 172…). Zugriff auf die Web-Oberfläche ohne Passwort über http://192.168.1.1. Alternativ ssh Login auf root@192.168.1.1 auf der LAN Seite des Routers. Nach dem nächsten Neustart geht der Router wieder in den "normalen" Betriebsmodus.
Zugriff auf einzelne Nodes
Über ssh mit der "Next Node Adresse": Next Node ist der nächst gelegene Knoten, also derjenige, mit dem man verbunden ist.
IPv6 = fd21:711::1
Alternativ mit der IPv6 Adresse aus der http://map.freifunk-stuttgart.de. Der passende ssh public Key muss im System eingetragen sein!
Oder über einen Jump Host:
ssh -i id_rsa2 -J root@pveroser.freifunk-stuttgart.de root@2a01:1e8:c003:9317:c40f:a7ff:fe81:a92f
Shell Kommandos
Normaler Reboot
reboot
Nach dem Reboot wieder in den Config Mode starten
uci set gluon-setup.mode.@setup_mode[0].enabled=1 uci commit gluon-setup.mode reboot
ssh Key hinzufügen
SSH_KEY="ssh-rsa…" touch /etc/dropbear/authorized_keys sed -i "SSH_KEY" /etc/dropbear/authorized_keys
Bescheuerte Syntax bei scp mit IPv6:
scp -6 ssh-key-holger-patrick.pub root@\[fd21:b4dc:4b05::724f:57ff:fe45:33a2\]:/root/
Anzahl der verbundenen Clients
grep -cEo "[.*W. *]+" /sys/kernel/debug/batman_adv/bat0/transtable_local
Name zeigen
uci get system.@system[0].hostname
Name ändern
uci set system.@system[0].hostname='newname'
uci commit system
/etc/init.d/system reload
prüfen
uci show system
Position & Kontakt prüfen
uci show gluon-node-info
Position setzen
uci set gluon-node-info.@location[0].latitude=xx.xxxxxx
uci set gluon-node-info.@location[0].longitude=xx.xxxxxx
uci set gluon-node-info.@location[0].altitude=xx.xxxxxx uci
set gluon-node-info.@location[0].share_location=1
Kontakt setzen
uci get gluon-node-info.@owner[0]
uci add gluon-node-info.@owner[0]
uci set gluon-node-info.@owner.contact=name@adresse.de
uci commit gluon-node-info
sichern
uci commit gluon-node-info
Mesh: Mesh on WAN aktivieren
uci set network.mesh_wan.auto=1 uci commit network /etc/initd./network restart
Mesh: IBSS/AdHoc Mesh WLAN deaktivieren
uci set wireless.ibss_radio0.disabled=1 uci commit wireless wifi
Mesh: 802.11s Mesh WLAN deaktivieren
uci set wireless.mesh_radio0.disabled=1 uci commit wireless wifi
WLAN Kanal zeigen
uci get wireless.radio0.channel
WLAN Kanal ändern
uci set wireless.radio0.channel=X uci commit wireless wifi
WLAN sofort ausschalten
''uci set wireless.client_radio0.disabled=1 && uci commit wireless && wifi''
Zeitgesteuertes WLAN
Als ersten Schritt schalte das Client-Netzwerk ab und sichere den Wert in den Speicher des Routers. Dies erfolgt durch die Befehle:
root@Routername:~# uci set wireless.client_radio0.disabled=1 root@Routername:~# uci commit wireless
Dieser Schritt ist nicht unbedingt nötig, hat allerdings folgenden Effekt. Das Client-Netzwerk ist standardmäßig ausgeschalten. Das bedeutet, wenn jemand Zugriff auf das Gerät bekommt (weil es bspw. in einem Gemeinschaftsbereich o.ä. aufgestellt ist) und den Router neu startet bleibt das WLAN aus. Ohne diese Eingabe reagiert das Gerät bei einem Neustart mit dem anschalten des WLANs.
Die Zeitsteuerung selbst kann man per Cronjob einrichten. Gib dazu folgende Zeile ein:
root@Routername:~# crontab -e
Drücke nun die Taste 'i' um in den Bearbeitungsmodus zu wechseln. Jetzt kannst du die folgenden beiden Zeilen eingeben
30 21 * * * uci set wireless.client_radio0.disabled=1;wifi 0 7 * * * uci set wireless.client_radio0.disabled=0;wifi
Drücke die Escape-Taste (ESC) um den Bearbeitungsmodus zu verlassen. Jetzt schreibe ':wq' und bestätige mit der Eingabetaste.
Die beiden Zeilen sind wie folgt aufgebaut. (vgl https://de.wikipedia.org/wiki/Cron)
Minute Stunde TagDesMonats Monat Wochentag Anweisungen
Die erste Zeile bedeutet also: In Minute 30 der Stunde 21Uhr zu jedem Tag jedes Monats jeden Wochentags führe das Kommando 'Client-Netzwerk ausschalten' aus. Die zweite Zeile schaltet das Client-Netz dementsprechend um 7Uhr wieder ein.
Würde man das Client-Netz lediglich Montag bis Freitag ausschalten wollen, muss die erste Zeile also wie folgt lauten:
30 21 * * 1-5 uci set wireless.client_radio0.disabled=1;wifi
Die entsprechend muss das WLAN Dienstag bis Samstag wieder aktiviert werden, das bedeutet die zweite Zeile würde wie folgt aussehen:
0 7 * * 2-6 uci set wireless.client_radio0.disabled=0;wifi
Die so eingerichteten Geräte bleiben weiterhin über das Mesh-Netzwerk miteinander in Verbindung bzw. erweitern das bestehende Freifunk-Netz. Lediglich die Anmeldung mit Endgeräten an diesen Punkten ist nicht möglich. Man könnte die zeitgesteuerten Anweisungen auch ausbauen - die LAN-Ports abschalten, die Bandbreite begrenzen, die Sendeleistung herunterfahren - eben alles, was man noch alles verstellen kann.
Bandbreiten Beschränkung
# uci set simple-tc.mesh_vpn.limit_egress=800 # upload 0,8Mbit # uci set simple-tc.mesh_vpn.limit_ingress=5000 # download 5,0Mbit # uci set simple-tc.mesh_vpn.enabled=1 # uci commit simple-tc
Spezielle Ubiquity Einstellungen
Transmit power on Ubiquiti devices
There is a bug in the current (2015/01) OpenWRT Barrier Breaker which prevents to factor in the antenna gain for transmission power setting. This is still existant in Chaos Calmer (Gluon 2016.1). Therefor your device will actually transmit with higher power than advertised in the web-UI. This ist a) usually illegal and b) while clients may receive a great signal they will most likely be unable to answer. To prevent this we lower the power manually. Nanostation
uci set wireless.radio0.txpower=9 uci commit wifi
you can check the currently set transmit power with:
iwinfo radio0 txpower
Warning: Starting with Gluon 2015.1 dive names and transmit power mapping have been changed. If you are on <2015.1 the correct command would be
uci set wireless.radio0.txpower=8 uci commit wifi
Nanostation M2 loco
uci set wireless.radio0.txpower=12 uci commit wifi
Nanostation webinterface inside the Freifunk network
The NanoStation and other Point-to-Point accesspoints usually have only one network interface. If you use these PtP links for batman-adv traffic, you lose the ability to access the web interface .
WARNING: If you connect two Gluon Routers with VLAN10 on br-client using WAN you'll get a loop. You have been warned…
Tha WAN Interface must not be behind a vswitch
If cat /lib/gluon/core/sysconfig/wan_ifname shows for example eth1.4 VLAN tagging is not possible
Settings for Nanostation: here
uci set network.client.ifname="$(cat /lib/gluon/core/sysconfig/lan_ifname) bat0 $(cat /lib/gluon/core/sysconfig/wan_ifname).10" uci commit network /etc/init.d/network restart
ERX als Freifunk Offloader
batctl if del eth0.1; brctl addif br-client eth0.1