====== Router Einstellungen über SSH ändern ======
Diese Anleitung gilt nur für Firmware-Version 1.6 und höher.
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. [[https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html|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 [[https://map02.freifunk-stuttgart.de/nodes.html|die Karte]] gefunden werden.
Benutzername: root
Weitere SSH-Befehle finden sich hier:
* [[https://wiki.freifunk.net/Konsole|Wiki - freifunk.net]]
* [[https://github.com/freifunk-gluon/gluon/wiki/Commandline-administration|Wiki - Gluon]]
===== 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|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 =====
Wenn beim Einrichten eines Node weder Koordinaten noch PLZ eingegeben wurden, dann muss bei LEDE-basierter Firmware zunächst die Option //location// angelegt werden, bevor Werte zugewiesen werden können.
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 [[https://map.freifunk-stuttgart.de/|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 ((ist man von außerhalb verbunden, bricht dadurch die SSH-Verbindung ab)):
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.
Aber Vorsicht, so kann kein Nachbar per WLAN meshen!
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 =====
Ist in Stuttgart ab Firmware Version 0.8 (Gluon 2016.2) automatisch aktiv. Diese Einstellungen sind also nur dann relevant, wenn man einzelne Datenraten ändern möchte.
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 (([[https://forum.freifunk.net/t/client-basic-rate-setzen-um-1mbit-verbindungen-zu-blocken/13286/2|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: [[:anleitungen:howto_router-einstellungen-ueber-ssh-aendern#autoupdate_konfigurieren|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/|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: [[http://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Frequenzen/Allgemeinzuteilungen/2013_10_WLAN_2,4GHz_pdf.pdf?__blob=publicationFile&v=4|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.@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|http://freifunk-moenchengladbach.de]](2014/11/25 21:16) & von [[http://paderborn.freifunk.net|http://paderborn.freifunk.net]] (2015/03/21 00:36) übernommen//, Herzlichen Dank!
{{tag>config ssh}}