Router Einstellungen über SSH ändern
Wenn ihr euren Router über SSH erreichbar gemacht habt, in dem ihr SSH-Key oder Passwort definiert habt, könnt ihr darüber einige Einstellungen ändern und anpassen.
Um euch über SSH mit dem Router verbinden zu können, braucht ihr unter Windows einen SSH-Client. PuTTY ist wohl der Client mit der höchsten Verbreitung. Mit einer direkten Verbindung ist der Router über die Next-Node Adresse erreichbar: ip6 = fd21:711::1 Ansonsten kann die Adresse über die Karte gefunden werden.
Benutzername: root
Weitere SSH-Befehle finden sich hier:
Infos auslesen
ifconfig
Zeigt euch alle Interfaces und die dazugehörigen IPv4 und IPv6 an, den Gesamttraffic etc.
iw mesh0 info
Zeigt den Kanal und die Funkstärke der Mesh-Verbindung an.
iw client0 info
Zeigt den Kanal und die Funkstärke der Client-Verbindung an.
ifstatus bat0
Leicht zu verarbeitende json file mit Infos wie in ifconfig und uptime etc.pp.
uptime
Zeigt euch die Zeit seit dem letzten Neustart
cat /lib/gluon/gluon-version
Gluon Version anzeigen lassen
cat /lib/gluon/release
Firmware Release anzeigen lassen
batctl o
Erste Zeile zeigt euch die benutzte Batman-Adv Version an, weiteres unter Punkt batctl unten
crontab -e
Damit könnt ihr neue Cronjobs anlegen, und so automatisiert Dinge tun, z.b. das Rebootskript im Falle des Internetverlustes automatisch ausführen, oder generell einen Reboot zu bestimmten Zeiten.
batctl tg |grep W |wc -l
Anzahl aller WIFI Nutzer im Segment anzeigen
batctl tl |grep W |wc -l
Anzahl localer Clients anzeigen
batctl gwl
Zeigt alle Gateways mit aktueller Bandbreite an und mit dem man aktuell verbunden ist.
Weitere Optionen finden sich in der manpage von batctl: https://downloads.open-mesh.org/batman/manpages/batctl.8.html. Unter der Option debug-tables finden sich eine Reihe von Befehlen, um batman-adv zum ausspucken spezifischer Daten zu bewegen.
Name ändern
pretty-hostname ffs-MeinRouterName
Geodaten anpassen
uci add gluon-node-info location
Erst danach funktionieren die Befehle für Koordinaten und PLZ.
Koordinaten anpassen
uci set gluon-node-info.@location[0]='location' uci set gluon-node-info.@location[0].share_location='1' uci set gluon-node-info.@location[0].latitude='48.783550947532284' uci set gluon-node-info.@location[0].longitude='9.181421220346238' uci commit gluon-node-info
Die Werte für 'latitude' (Breitengrad) und 'longitude' (Längengrad) passt ihr natürlich euren Gegebenheiten an. Die obigen Daten zeigen auf den Hauptbahnhof Stuttgart.
Um die entsprechenden Koordinaten herauszubekommen, kannst du den gewünschten Standort in der Karte von Freifunk Stuttgart raussuchen und hinzoomen. Dann oben rechts die Stecknadel anklicken und linksklick auf den entsprechenden Ort in der Karte. Jetzt werden die Koordinaten angezeigt und können kopiert werden.
Durch setzen von 'share_location' auf '0' könnt ihr das Anzeigen eures Routes auf der Karte » deaktivieren.
uci show gluon-node-info
Zeigt die aktuellen Koordinaten an.
PLZ anpassen
uci set gluon-node-info.@location[0].zip='70193' uci commit gluon-node-info
Die Postleitzahl (PLZ) hilft den Knoten dem passenden Segment zuzuordnen und sollte bei fixem Standort immer eingegeben werden. Vor allem, wenn keine Geodaten hinterlegt wurden. Dabei kann bei der PLZ auch nicht der konkrete Standort ermittelt werden.
Kontaktdaten ändern
uci set gluon-node-info.@owner[0]='owner' uci set gluon-node-info.@owner[0].contact='Hans Mustermann email@hab-ich.net' uci commit
Bandbreitenbegrenzung konfigurieren
uci set simple-tc.mesh_vpn='interface' uci set simple-tc.mesh_vpn.ifname='mesh-vpn' uci set simple-tc.mesh_vpn.enabled='1' uci set simple-tc.mesh_vpn.limit_ingress='50000' uci set simple-tc.mesh_vpn.limit_egress='1000' uci commit
“ingress” ist der Download, “egress” der Upload. Durch setzen von ‘enabled’ auf ‘0’ wird die Bandbreitenbegrenzung deaktiviert.
Autoupdate konfigurieren
uci set autoupdater.settings.enabled=1 uci set autoupdater.settings.branch=stable uci commit
autoupdater -f
führt den autoupdate manuell aus
Mesh-on-WAN
Mesh-on-WAN ab Firmware 2.6
Aktivieren
uci del_list gluon.iface_wan.role='uplink' uci add_list gluon.iface_wan.role='mesh' uci commit gluon gluon-reconfigure reboot # oder die betroffenen Dienste neu starten
Deaktivieren
uci del_list gluon.iface_wan.role='mesh' uci add_list gluon.iface_wan.role='uplink' uci commit gluon gluon-reconfigure reboot # oder die betroffenen Dienste neu starten
Mesh-on-WAN bis Firmware 2.5
(über den blauen Port)
Aktivieren
uci set network.mesh_wan.auto=1 uci commit network /etc/init.d/network restart
Deaktivieren
uci set network.mesh_wan.auto=0 uci commit network /etc/init.d/network restart
Mesh-on-LAN
Mesh-on-LAN ab Firmware 2.6
Aktivieren
uci del_list gluon.iface_lan.role='client' uci add_list gluon.iface_lan.role='mesh' uci commit gluon gluon-reconfigure reboot # oder betroffene Dienste neu starten
Deaktivieren
uci del_list gluon.iface_lan.role='mesh' uci add_list gluon.iface_lan.role='client' uci commit gluon gluon-reconfigure reboot # oder betroffene Dienste neu starten
Mesh-on-LAN bis Firmware 2.5
(über die gelben Ports)
Aktivieren
uci set network.mesh_lan.auto=1 for ifname in $(cat /lib/gluon/core/sysconfig/lan_ifname); do uci del_list network.client.ifname=$ifname done uci commit /etc/init.d/network restart
Deaktivieren
uci set network.mesh_lan.auto=0 for ifname in $(cat /lib/gluon/core/sysconfig/lan_ifname); do uci add_list network.client.ifname=$ifname done uci commit /etc/init.d/network restart
Client-on-WAN
Client-on-WAN ab Firmware 2.6
uci del_list gluon.iface_wan.role='uplink' uci add_list gluon.iface_wan.role='client' uci commit gluon gluon-reconfigure reboot # oder die betroffenen Dienste neu starten
Client-on-WAN bis Firmware 2.5
Will man auf einem Router ohne LAN-Interface wie dem UniFi AP Clientnetzwerk aus dem WAN-Port bekommen, geht das nicht über die uci Schnittstelle, sondern muss in der Datei /etc/config/network konfiguriert werden. Es empfiehlt sich, ein Backup der Datei zu machen bevor man loslegt.
Dabei müssen die Passagen
config interface 'wan' option ifname 'eth0' option auto '1' option peerdns '0' option type 'bridge' option proto 'dhcp' option multicast_querier '0' option macaddr '06:9d:76:1a:ed:c8' ... config interface 'client' option type 'bridge' option macaddr '44:d9:e7:cd:64:1d' option proto 'dhcpv6' option reqprefix 'no' option peerdns '1' option sourcefilter '0' option robustness '3' option query_interval '2000' option query_response_interval '500' list ifname 'bat0' config interface 'mesh_wan' option ifname 'br-wan' option auto '1' option proto 'gluon_mesh' option fixed_mtu '1' option transitive '1'
in
config interface 'wan' option auto '0' option ifname 'eth1' option peerdns '0' option type 'bridge' option proto 'dhcp' option multicast_querier '0' option macaddr '06:9d:76:1a:ed:c8' ... config interface 'client' option type 'bridge' option macaddr '44:d9:e7:cd:64:1d' option proto 'dhcpv6' option reqprefix 'no' option peerdns '1' option sourcefilter '0' option robustness '3' option query_interval '2000' option query_response_interval '500' list ifname 'bat0' list ifname 'eth0' config interface 'mesh_wan' option ifname 'br-wan' option auto '0' option proto 'gluon_mesh' option fixed_mtu '1' option transitive '1'
geändert werden. Für Menschen die es gewohnt sind, diffs zu lesen sei die Änderung hier nochmal zusammengefasst.
diff --git a/network.bk b/network index e4025ff..8e87afe 100644 --- a/network.bk +++ b/network @@ -16,8 +16,8 @@ config interface 'wan6' option peerdns '0' config interface 'wan' - option ifname 'eth0' - option auto '1' + option auto '0' + option ifname 'eth1' option peerdns '0' option type 'bridge' option proto 'dhcp' @@ -47,10 +47,11 @@ config interface 'client' option query_interval '2000' option query_response_interval '500' list ifname 'bat0' + list ifname 'eth0' config interface 'mesh_wan' option ifname 'br-wan' - option auto '1' + option auto '0' option proto 'gluon_mesh' option fixed_mtu '1' option transitive '1'
Details wie die MAC-Adresse weichen natürlich ab.
VPN fastd Performance Mode aktivieren (null@l2tp)
Als erstes kann man die aktuell verwendete fastd Verbindunseinstellung auslesen:
uci show fastd.mesh_vpn.method
Bei aktivierter Verschlüsselung sollte salsa2012 aktiviert sein:
fastd.mesh_vpn.method='salsa2012+umac'
Dann werden alle aktuellen VPN-Cipher-Einstellungen gelöscht:
uci del fastd.mesh_vpn.method
und null@l2tp hinzugefügt. Die alte, z.B. fastd.mesh_vpn.method='salsa2012+umac', muss am Ende eingefuegt werden, sodass es einen Fallback gibt:
uci add_list fastd.mesh_vpn.method=null@l2tp uci add_list fastd.mesh_vpn.method=null uci add_list fastd.mesh_vpn.method='salsa2012+umac'
Abschließend müssen die Änderungen noch bootfest gemacht werden und fastd neu gestartet werden 1):
uci commit fastd.mesh_vpn.method /etc/init.d/fastd restart
Wifi abschalten (komplett)
uci set wireless.radio0.disabled=1 uci commit wireless wifi
Diese Konfiguration kann für einen reinen Uplink Node sinnvoll sein, wenn weitere FF-Router per Mesh on Lan angebunden sind.
Wifi abschalten (selektiv)
Aktuelle WiFi-Konfiguration auslesen:
uci -P /var/state show wireless
Client-Netzwerk abschalten:
uci set wireless.client_radio0.disabled=1 uci commit wireless wifi
Wäre denkbar für einen Node, der nur meshen soll, ohne dass Endgeräte unnötig zusätzliche airtime verbrauchen.
Mesh-Netzwerk abschalten
Eventuell Sinnvoll, um zwar den AP-Modus für Clients aktiv zu haben, das mesh aber per LAN zu machen und somit Airtime zu sparen.
uci set wireless.mesh_radio0.disabled='1' uci commit wireless wifi
Wenn der Router Dualband, (2,4 und 5 Ghz) hat, dann folgende Befehle eingeben:
uci set wireless.mesh_radio0.disabled='1' uci set wireless.mesh_radio1.disabled='1' uci commit wireless wifi
WLAN-Mindestdatenrate ändern
Diese Einstellung ist sinnvoll in Setups, bei denen viele Endgeräte und APs mit unterschiedlichen Kanälen auf engem Raum vorhanden sind und die Airtime entsprechend knapp ist. So wird die Verbindung zu einem Client mit weniger als 6 MBit/s getrennt und der Client hat dann im Optimalfall die Chance sich mit einem AP mit besserer Verbindungsqualität neu zu verbinden ((Thread im freifunk.net Forum
uci set wireless.radio0.supported_rates='6000 9000 12000 18000 24000 36000 48000 54000' uci set wireless.radio0.basic_rate='6000 12000 18000 24000 36000 48000 54000' uci set wireless.radio0.require_mode=g uci commit wireless wifi
Privates WLAN
Einrichten
Im Folgenden `$SSID` durch die gewünschte SSID und `$KEY` durch das Passwort ersetzen.
uci set wireless.wan_radio0=wifi-iface uci set wireless.wan_radio0.device=radio0 uci set wireless.wan_radio0.network=wan uci set wireless.wan_radio0.mode=ap uci set wireless.wan_radio0.encryption=psk2 uci set wireless.wan_radio0.ssid="$SSID" uci set wireless.wan_radio0.key="$KEY" uci set wireless.wan_radio0.disabled=0 uci commit wifi
Ausschalten
uci set wireless.wan_radio0.disabled=1 uci commit wifi
Firmware aktualisieren
Über die SSH-Konsole könnt ihr auch die Firmware eures Routers aktualisieren. Der sicherste Weg ist über den Autoupdater (siehe: Autoupdater).
Ist der Weg über den Autoupdater nicht möglich, kann das Update auch manuell geladen und installiert werden. Wichtig ist, dass ihr die passende Firmware für euren Router nehmt, sonst habt ihr nach dem Update unter Umständen einen schicken neuen Briefbeschwerer im Layout eines Router. Hier im Beispiel wird ein TP-LINK TL-WR841ND Revision 9 auf die derzeit aktuellste Firmware vom 20.10.2014 geflashed. Eine Liste aller Firmware-Dateien findet ihr unter http://firmware.freifunk-stuttgart.de/gluon/stable/sysupgrade/.
Es empfiehlt sich nach dem Herunterladen die md5sum zu vergleichen!
cd /tmp/ wget http://firmware.freifunk-stuttgart.de/gluon/stable/sysupgrade/gluon-ffs-0.1+0-2014.10.20-22.48-g.0d3a429-s.c6537e0-tp-link-tl-wr841n-nd-v9-sysupgrade.bin md5sum gluon-ffs-0.1+0-2014.10.20-22.48-g.0d3a429-s.c6537e0-tp-link-tl-wr841n-nd-v9-sysupgrade.bin echo 3 > /proc/sys/vm/drop_caches sysupgrade gluon-ffs-0.1+0-2014.10.20-22.48-g.0d3a429-s.c6537e0-tp-link-tl-wr841n-nd-v9-sysupgrade.bin
Nach dem Update führt euer Router einen Reboot durch. Alle Einstellungen bleiben beim Update erhalten, so dass er sofort wieder einsatzbereit ist.
Sendeleistung manipulieren
Die aktuelle Sendeleistung kann so eingesehen werden
iwinfo wlan0 txpower
Die Sendeleistung kann folgendermaßen angepasst werden:
uci set wireless.radio0.txpower=8 uci commit wifi
Reboot to configmode
uci set "gluon-setup-mode.@setup_mode[0].enabled=1" uci commit reboot
Kanal ändern
uci set wireless.radio0.channel=1
statt 1 eben das wählen was man haben will.
Soll der Kanal Updatefest sein, muss zusätzlich noch
uci set gluon.@wireless[0].preserve_channels=1
ausgeführt werden.
Um die Änderungen zu speichern und zu aktivieren muss noch folgendes ausgeführt werden:
uci commit wifi
Passwort entfernen
passwd -l root
Passwort ändern
passwd
SSH Key einrichten
SSH_KEY="dein öffentlicher SSH-Key" touch /etc/dropbear/authorized_keys sed -i "1i$SSH_KEY" /etc/dropbear/authorized_keys
Einstellungen per Skript ändern
Werden mehrere Router (bis auf den Namen!) gleich konfiguriert, kann dies auch per Skript erfolgen. Dieses wird erst lokal auf dem Rechner erstellt, dann per scp auf den Router geladen und dort ausgeführt.
meinRechner$ echo "echo bla bla blubb" > fooScript meinRechner$ scp -6 ./fooScript root@[ipv6AdresseDesRouters]:/tmp/ Router# chmod +x /tmp/fooScript Router# /tmp/fooScript
— Diese Doku wurde teilweise von http://freifunk-moenchengladbach.de(2014/11/25 21:16) & von http://paderborn.freifunk.net (2015/03/21 00:36) übernommen, Herzlichen Dank!
config ssh