Benutzer-Werkzeuge

Webseiten-Werkzeuge


anleitungen:howto_router-einstellungen-ueber-ssh-aendern

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 (Nodelist) gefunden werden.

Benutzername: root

Infos auslesen

ifconfig

Zeigt euch alle Interfaces und die dazugehörigen IPv4 und IPv6 an, den Gesamttraffic etc.

iw ibss0 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

Gluon 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 gesamten Netzwerk 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.

vnstat -l -i br-wan

Zeigt den aktuellen Traffic an und eine Zusammenfassung bei Beendigung.

vnstat -h -i br-wan

Zeigt eine Grafik der Bandbreite der letzten 12 Stunden an.

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

uci set system.@system[0].hostname='ffs-MeinRouterName'
uci commit

Geodaten 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 euren entsprechende 'latitude' und 'longitude' herauszubekommen könnt ihr euren Standort in der Karte von Freifunk Stuttgart raussuchen und hinzoomen. Dann den schwarzen Button mit dem weißen x am linken Rand anklicken & auf die Wunschposition klicken. Koordinaten kopieren.

Bitte achtet darauf, den Dezimalpunkt, wie im Englischen üblich, zu verwenden. 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

(ü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

(über die gelben Ports)

Aktivieren - Gluon 2016.1.x

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 - Gluon 2016.1.x

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

ReBroadcast bei Mesh-on-WAN / Mesh-on-LAN abschalten [bis Gluon 2016.1.6 / FFS 07]

uci set network.mesh_wan.mesh_no_rebroadcast='1'
uci set network.mesh_lan.mesh_no_rebroadcast='1'
uci commit network
reboot && exit

Dies ist insbesondere bei leistungsschwachen Routern oder schmalbandigen Verbindungen wie z.B. beim Einsatz von PowerLan-Adaptern oder Punkt-zu-Punkt-Richtfunkstrecken empfehlenswert. Dadurch wird verhindert, dass alle Mesh-Pakete doppelt über das Mesh-Kabel gesendet werden. Wird ab Gluon v2016.2 der neue Default sein.

Client-on-WAN

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.

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 (Gluon 2015.1.x)

    uci set wireless.mesh_radio0.disabled='1'
    uci commit wireless

Mesh-Netzwerk abschalten (Gluon 2016.1.x)

    uci set wireless.ibss_radio0.disabled=1 && uci commit wireless && wifi

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. Aber Vorsicht, so kann kein Nachbar per WLAN meshen!

Empfehlung (Interface-Namen fixieren):

uci set wireless.client_radio0.ifname='wlan0-1' && uci set wireless.mesh_radio0.ifname='wlan0' && uci commit wireless 

Mindestdatenrate auf >=6 MBit/s setzen

(Ist in Stuttgart ab Gluon 2016.2 automatisch aktiv) 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:

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

In Deutschland darf im Frequenzbereich 2,400 GHz - 2,4835 GHz die maximale Strahlungsleistung 100 mW nicht übersteigen.

Quelle: Bundesnetzargentur

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-core.@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
uci commit

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!
anleitungen/howto_router-einstellungen-ueber-ssh-aendern.txt · Zuletzt geändert: 2017/10/02 17:35 von hummj