Linux Befehle: Unterschied zwischen den Versionen
Tmk (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Kwm (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
Zeile 4: | Zeile 4: | ||
Unter Linux öffnet man eine Konsole mit dem Befehl <code>ssh root@IP-Adresse-des-Freifunkrouters</code> und kopiert Dateien mit dem Befehl <code>scp</code>, siehe dazu den Absatz mit den ausführlichen Beispielen. | Unter Linux öffnet man eine Konsole mit dem Befehl <code>ssh root@IP-Adresse-des-Freifunkrouters</code> und kopiert Dateien mit dem Befehl <code>scp</code>, siehe dazu den Absatz mit den ausführlichen Beispielen. | ||
== Arbeiten auf der Kommandozeile von Routern == | |||
Die Kommandozeile ist ein Eingabebereich für die Steuerung des Routers das im Textmodus abläuft. Damit eröffnen sich für den WRT Möglichkeiten jenseits der Grenzen der Weboberfläche. | |||
== Zugriff auf die Kommandozeile des Routers mit SSH == | |||
{{Tip|SSH ist eine verschlüsselte Telnetverbindung zu einen anderen Rechner. Damit habt ihr die Möglichkeit auf einem anderen Rechner Befehle auf der Kommandozeile ausführen zu koennen. Das ist insbesondere unter Linux sehr Vorteilhaft, da dort eigentlich alle Anwendungen durch die Kommandozeile gestartet werden können.}} | |||
=== Starten einer SSH-Verbindung unter dem Betriebssystem Linux === | |||
Einfach in der Bash Eures Rechners | |||
{{shell|ssh <Ziel-IP>}} | |||
eintippen. | |||
=== Starten einer SSH-Verbindung unter Windows === | |||
Zuerst laden wir uns das Programm [[http://www.chiark.greenend.org.uk/~sgtatham/putty/|Putty]] runter. | |||
Wenn der Download beendet ist, einfach die Putty.exe ausführen und dann sollte man folgendes Fenster sehen: | |||
[[Bild:software_putty.jpg]] | |||
Hier bei Host Name die IP von Eurem WRT eintippen, und auf Open klicken. Dann sollte sich ein schwarzes Fenster öffnen: | |||
[[Bild:software_putty2.jpg]] | |||
Das ist Euer WRT! (hoffentlich ;) ) Dort loggt ihr Euch als root ein und tippt das Passwort passend zu Euren WRT ein. Dann sollte sich die Busy-Box melden. | |||
=== Starten einer SSH-Verbindung unter dem Betriebssystem Mac OS X === | |||
Zum Verbinden brauchen wir das "Terminal". Es befindet sich im Ordner Programme->Dienstprogramme. Alternativ kann man das auch mit dem Spotlight (cmd+space) duch Eingabe von "Terminal" suchen lassen und muss dann nur noch Enter auf dem gefundenen Eintrag drücken, um das Terminal zu starten. | |||
Sofern geöffnet kann eine Verbindung zum Router aufgebaut werden: | |||
==== Router IPv6 finden (MacOS und Linux) ==== | |||
Zuerst müssen wir die IPv6 Adresse des Routers finden. Dazu einfach im Terminal eingeben (sofern per WLAN mit Freifunknetz verbunden): | |||
(Vorweg: %en1 beschriebt das Interface, über das verbunden werden soll. Hier Ethernet 1....kann auch 0 oder 2 ... oder ein ganz anderes Interface sein. Im Zweifel "ifconfig' eingeben und die Interfaces checken.) | |||
ping6 ff02::1%en1 | |||
Viele Adressen werden aufgelistet. Man kann den Prozess sofort nach Eingabe mit '''ctrl + c''' beenden. Die zweite Adresse in dieser Liste müsste die Adresse des Routers sein... | |||
Wenn wir die Adresse haben kann man mit folgendem Befehl sich zum Router verbinden: | |||
ssh -6 root@fe80::6a72:51ff:fe04:f52e%en1 | |||
Alternativ kann man auch dieses ScriptLet verwenden, das nur die v6-Router (ff02::2 --> all-routers) an-pingt: | |||
ping6 -c3 ff02::2%en0 | grep -v DUP | grep fe80 | |||
Hier ist kein ctrl-c notwendig, weil die Anzahl der Anfragen mit -c3 auf 3 begrenzt ist. Getestet wurde das auf einem Macbook mit Mavericks (10.9). | |||
=== Nachträgliches Hinterlegen eines SSH–Schlüssels (MacOS und Linux) === | |||
Wenn man bei der Einrichtung des Routers einen SSH–Schlüssel hinterlegt hat, kann man sich damit einloggen, ohne jedes Mal das Passwort eingeben zu müssen. Der Schlüssel kann man aber auch nachträglich auf dem Router speichern (Die Beispiel IP–Adresse muss selbstverständlich angepasst werden): | |||
cat ~/.ssh/id_rsa.pub | ssh root@fe80::6a72:51ff:fe04:f52e%en1 'cat >> /etc/dropbear/authorized_keys' | |||
Damit der Befehl auch tatsächlich auf dem Router ausgeführt wird, muss noch ein Mal das Passwort eingegeben werden, aber anschließend sind Logins mit dem Schlüssel möglich und das Entfernen des Login-Passwortes meist sinnvoll. | |||
==== Passwort entfernen ==== | |||
Login mit Passwort deaktivieren. Befehl nach Login, auf dem Router, ausführen: | |||
passwd -l root | |||
==== Passwort ändern ==== | |||
Das Passwort kann auch geändert werden: | |||
passwd | |||
ACHTUNG: leeres Passwort wird akzeptiert - Login ist dann ohne Passwort möglich. Auch, wenn SSH Keys hinterlegt sind. Unbedingt ein starkes, sonst nirgends verwendetes Passwort hinterlegen oder es entfernen mit Option "-l". | |||
== Auf der Kommandozeile == | |||
Hat man sich schließlich per SSH eingeloggt, lassen sich zahlreiche Befehle nutzen. | |||
=== Grundlegende Befehle === | |||
{{Shell|ls}} | |||
ist ein Befehl, mit dem ihr eine Liste aller Dateien in einem Verzeichnis anzeigen lassen könnt (ähnlich `dir` unter MSDOS) | |||
{{Shell|ls -l}} | |||
Zeigt eine Liste mit den kompletten Informationen der Dateien an | |||
{{Shell|cd}} | |||
heiß soviel wie "change directory" oder auch "wechsel das Verzeichnis". Damit könnt ihr in einen Ordner eurer Wahl springen. | |||
{{Shell|cd ..}} | |||
Damit kommt ihr in den übergeordneten Ordner | |||
{{Shell|cd /}} | |||
in das Hauptverzeichnis | |||
{{Shell|cat}} | |||
gibt den Inhalt einer Datei in der Kommandozeile aus. Der Vorteil ist das man nicht extra einen Editor starten muss | |||
{{Shell|vi}} | |||
ist ein Kommandozeileneditor, mit dem ihr euch Dateien angucken und verändern könnt. Um damit umzugehen, sollte man bei einer Suchmaschine eures Vertrauens mal nach "vi kommandos" oder "vi einführung" suchen. Kurz erwähnt: ihr kommt mit `:q!` oder `<esc> :q!` immer aus diesen Programm wieder raus, weitere Infos entnehmt ihr bitte einer Anleitung des `vi`. Ein guter Einstieg ist der Wikipedia Artikel dazu | |||
{{Shell|top}} | |||
ein Tool, mit dem ihr euch die Aktuelle Auslastung eures Systems anzeigen lassen könnt | |||
{{Shell|date}} | |||
verändert die Systemzeit | |||
{{Shell|rm}} | |||
löscht eine Datei | |||
{{Shell|rm -d}} | |||
löscht ein Verzeichnis inklusive Inhalt | |||
=== Anpassen der Einstellungen in OpenWrt === | |||
[[UCI]] ist das Kommandozeilentool, welches in [[OpenWRT|OpenWRT]] genutzt wird, um Einstellungen auszulesen oder zu ändern. Über UCI lassen sich alle Einstellungen, die auch über die Konfigurationsoberfläche möglich sind, sowie einige weitere Einstellungen vornehmen. | |||
====Einstellungen anzeigen==== | |||
Alle gesetzten Einstellungen auflisten: | |||
uci show | |||
Eine bestimmte Einstellung suchen: | |||
uci show|grep Suchwort | |||
Eine bestimmte Einstellung anzeigen: | |||
uci show [Einstellung] | |||
Beispiel: | |||
uci show autoupdater.settings.enabled | |||
Oder für eine Einstellungsgruppe: | |||
uci show autoupdater.settings | |||
====Einstellungen setzen==== | |||
uci set [Einstellung]=[Wert] | |||
Beispiel: | |||
uci set autoupdater.settings.enabled=1 | |||
Wichtig: Wenn du Einstellungen via UCI gesetzt hast, müssen diese via uci commit am Ende aktiviert werden! | |||
====Einstellungen sichern==== | |||
Bevor man an Einstellungen herum fummelt kann es sinnvoll sein, diese zunächst zu sichern um sie problemlos wieder herzustellen. Dies lässt sich für alle Einstellungen via uci export oder auch nur für einen Abschnitt machen, wie im folgenden Beispiel: | |||
uci export network > network.uci | |||
Und der Import geht dann so: | |||
cat network.uci | uci import | |||
===Einstellungen von Gluon ändern=== | |||
[[Gluon]] ist eine [[OpenWrt]]-basierte [[Freifunk-Firmware]], die von vielen, aber nicht allen Communities im Freifunk-Umfeld benutzt wird. | |||
'''Bitte beachte, dass diese deutschen Anleitungen veraltet sein können''', die [https://github.com/freifunk-gluon/gluon/wiki/Commandline-administration aktuelle Dokumentation] (auf Englisch) findet sich im GitHub Wiki des Gluon-Projektes. | |||
====Autoupdater Branch festlegen==== | |||
Wenn der Router nach dem Reboot wieder oben ist könnt ihr den Branch für den Autoupdater noch festlegen: | |||
uci set autoupdater.settings.enabled='1' | |||
uci set autoupdater.settings.branch='stable' | |||
uci commit autoupdater | |||
Das Update kann man dann manuell anstoßen. | |||
autoupdater -f | |||
Das stable Release ist immer die jüngste stabile Version der Firmware für Produktivsysteme. Seit der Version 0.5 ist der Autoupdater mit dem stable Branch automatisch bei Installation aktiviert, so dass die Router sich automatisch aktuell halten. Sollte dies nicht gewünscht sein, so muss dies explizit deaktiviert werden. | |||
====Neustart im Configmode==== | |||
Manchmal ist es Notwendig in den Configmode zu starten. Dies beinhaltet die Weboberfläche des Systems zum ersten Einrichten eines Freifunk-Routers. Für gewöhnlich hält man ein paar Sekunden lang die Reset Taste gedrückt. Folgende Ausführung würde den gleichen Effekt erzielen: | |||
uci set gluon-setup-mode.@setup_mode[0].enabled=1 | |||
uci commit gluon-setup-mode | |||
reboot | |||
====Routernamen ändern==== | |||
Wenn ihr bspw. den *Namen* des Router ändern möchtet geht dies wie folgt in der SSH Shell: | |||
uci set system.@system[0].hostname='FF-OB-SAMPLE-01' << Name anpassen | |||
uci commit system | |||
Danach ist ein Reboot erforderlich. | |||
====Kontaktdaten ändern==== | |||
uci set gluon-node-info.@owner[0]='owner' | |||
uci set gluon-node-info.@owner[0].contact='Mustermann muster@freifunk-ruhrgebiet.de 02453434434' << Daten anpassen | |||
uci commit gluon-node-info | |||
====Geodaten ändern==== | |||
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='51.484943' << anpassen | |||
uci set gluon-node-info.@location[0].longitude='6.880250' << anpassen | |||
uci commit gluon-node-info | |||
====Bandbreitenbegrenzung ändern==== | |||
Alt: | |||
uci set gluon-simple-tc.mesh_vpn='interface' | |||
uci set gluon-simple-tc.mesh_vpn.ifname='mesh-vpn' | |||
uci set gluon-simple-tc.mesh_vpn.enabled='1' | |||
uci set gluon-simple-tc.mesh_vpn.limit_ingress='50000' << download anpassen | |||
uci set gluon-simple-tc.mesh_vpn.limit_egress='10000' << upload anpassen | |||
uci commit gluon-simple-tc | |||
---- | |||
Neu: | |||
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='16000' << download anpassen | |||
uci set simple-tc.mesh_vpn.limit_egress='1000' << upload anpassen | |||
uci commit simple-tc | |||
====Bandbreitenbegrenzung zeitgesteuert ändern==== | |||
Folgende Cronjobs anlegen: | |||
vi /usr/lib/micron.d/speedlimit | |||
Für tägliche Limits von 07 bis 1700 Uhr: | |||
0 7 * * * uci set simple-tc.mesh_vpn.enabled='1' && uci set simple-tc.mesh_vpn.limit_ingress='2000' && uci set simple-tc.mesh_vpn.limit_egress='500' && /etc/init.d/fastd restart | |||
0 17 * * * uci set simple-tc.mesh_vpn.enabled='0' && /etc/init.d/fastd restart | |||
Für werktägliche Limits von 07 bis 1700 Uhr (ungetestet): | |||
0 7 * * 1-5 uci set gluon-simple-tc.mesh_vpn.enabled='1' && uci set gluon-simple-tc.mesh_vpn.limit_ingress='2000' && uci set gluon-simple-tc.mesh_vpn.limit_egress='500' && uci commit gluon-simple-tc && reboot | |||
0 17 * * 1-5 uci set gluon-simple-tc.mesh_vpn.enabled='0' && uci commit gluon-simple-tc && reboot | |||
Hier wird jeweils ein Limit von 2Mbits down und 0.5 MBits up gesetzt. | |||
Achtung! Jeder Scriptaufruf führt ein commit und damit einen Schreibvorgang auf dem Rom aus. Dies kann sich negativ auf die Lebensdauer des Gerätes auswirken. Ein Reboot ist nötig, damit die Beschränkung aktiv oder inaktiv wird. | |||
====Mesh VPN aktivieren==== | |||
Mesh VPN bezieht sich auf das Meshen mit anderen Routern über das Internet. Es ist auch Voraussetzung für die Internetfreigabe der Clients am eigenen Knoten. | |||
uci set fastd.mesh_vpn.enabled=1 | |||
uci commit fastd | |||
/etc/init.d/fastd start | |||
Sofern noch kein Schlüssel generiert wurde, muss das ebenfalls geschehen: | |||
/etc/init.d/fastd generate_key mesh_vpn | |||
18fa75d1808692f04770bedf30c42dac24585d331560c545d70dd27f22a05648 | |||
Dieser Schlüssel muss dann in der jeweiligen Domäne angemeldet werden. | |||
====Meshing über WAN-Schnittstelle ([[Mesh on wan|Mesh on wan]]) aktivieren==== | |||
Wenn du die WAN-Schnittstelle nicht nur für einen Internetzugang verwenden möchtest, sondern über diese auch das Meshing-Protokoll aktivieren willst, um z.B. andere, evtl. langsamere Freifunk-Router mit dem Freifunk-Netz zu versorgen, gehst du wie folgt vor: | |||
uci set network.mesh_wan.auto=1 | |||
uci commit network | |||
/etc/init.d/network restart | |||
====Meshing über WAN-Schnittstelle deaktivieren==== | |||
uci set network.mesh_wan.auto=0 | |||
uci commit network | |||
/etc/init.d/network restart | |||
====Private WLAN==== | |||
Es ist möglich ein privates WLAN anzulegen, das mit dem WAN-Port gebridged und separat zum Mesh Netzwerk ist. Bitte beachte, dass Mesh on Wan ''nicht'' zeitgleich aktiviert werden sollte. | |||
Effekt: Dieses private WLAN ist nun Teil des am WAN-Port anliegenden Heimnetzes. Gibt man ihm die gleichen Zugangsdaten (SSID & Passwort) wie dem bestehenden Heim-WLAN, so wird dieses effektiv erweitert. Zeitgleich fungiert der Router als Freifunk-Router. Freifunk und privates Netz bleiben dabei voneinander getrennt. | |||
Das private WLAN kann im Config-Modus aktiviert werden, alternativ auch über die Konsole wie folgt: | |||
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 wireless | |||
wifi | |||
Bitte ersetze $SSID mit dem Namen deines Heimnetzwerks und $KEY mit deinem bisher üblichen Key (der vom privaten Router). Bei einem Dualband-Gerät (das 2.4 und 5 Ghz für WLAN verwendet), gibt es neben radio0 auch radio1; letzteres sollte genauso konfiguriert werden. | |||
Zum deaktivieren des Ganzen wie folgt vorgehen: | |||
uci set wireless.wan_radio0.disabled=1 | |||
grep radio1 /etc/config/wireless | |||
if [ $? ]; then # disable auch das 5GHz radio | |||
uci set wireless.wan_radio1.disabled=1 | |||
fi | |||
uci commit wireless | |||
wifi | |||
====Meshing on LAN==== | |||
Eigentlich wird nur der WAN Anschluss zum Betreiben eines Freifunk Routers benötigt. Die anderen Ports jedoch bleiben ungenutzt. Das Meshing ist über diese (meist gelben) LAN Ports abgeschaltet. Diese sind für Clients, neben WLAN, eine zusätzliche Verbindungsmethode. Man kann diese Ports jedoch auch dafür benutzen um mit weiteren Routern zu "meshen": | |||
uci set network.client.ifname='bat0' | |||
uci set network.mesh_lan=interface | |||
uci set network.mesh_lan.ifname="$(cat /lib/gluon/core/sysconfig/lan_ifname)" | |||
uci set network.mesh_lan.mesh=bat0 | |||
uci set network.mesh_lan.proto=batadv | |||
uci set network.mesh_lan.auto=1 | |||
uci commit network | |||
reboot | |||
---- | |||
Nur 2015.1.x: | |||
# activate | |||
uci set network.client.ifname="bat0" | |||
uci set network.mesh_lan.auto=1 | |||
uci commit network | |||
/etc/init.d/network restart | |||
# deactivate | |||
uci set network.client.ifname="bat0 $(cat /lib/gluon/core/sysconfig/lan_ifname)" | |||
uci set network.mesh_lan.auto=0 | |||
uci commit network | |||
/etc/init.d/network restart | |||
---- | |||
Testen (funktioniert nur, wenn auch ein Kabel eingesteckt ist): | |||
batctl if | |||
sollte nun u.A. eth1: active anzeigen | |||
ubus call network.interface.mesh_lan status | |||
Sollte "up": true anzeigen | |||
====Abrufen an welchen Ports Kabel eingesteckt sind==== | |||
swconfig dev switch0 show | grep 'link:' | |||
====Gateways im Router an-/abschalten==== | |||
uci set fastd.mesh_vpn_backbone_peer_<<COMMUNITY-NAME>>_vpn<<NR-DES-GATEWAYS>>.enabled=0/1 | |||
uci commit | |||
/etc/init.d/fastd restart | |||
<<COMMUNITY-NAME>> muss durch das Kürzel eurer Community ersetzt werden, z.B. ffnord | |||
<<NR-DES-GATEWAYS>> wird durch die Zahl des Gateways ersetzt (i.d.R. 0-3) | |||
====Clientnetz zeitgesteuert an-/abschalten==== | |||
vi /usr/lib/micron.d/wifioff | |||
i (um den Schreibmodus zu aktivieren) | |||
Für tägliche Abschaltung von 21 bis 7 Uhr: | |||
0 21 * * * uci set wireless.ibss_radio0.disabled='1'; uci set wireless.mesh_radio0.disabled='1'; uci set wireless.client_radio0.disabled='1'; uci set wireless.wan_radio0.disabled='1';uci set wireless.ibss_radio1.disabled='1'; uci set wireless.mesh_radio1.disabled='1'; uci set wireless.client_radio1.disabled='1'; uci set wireless.wan_radio1.disabled='1';wifi | |||
0 7 * * * uci set wireless.ibss_radio0.disabled='0'; uci set wireless.mesh_radio0.disabled='0'; uci set wireless.client_radio0.disabled='0'; uci set wireless.wan_radio0.disabled='0';uci set wireless.ibss_radio1.disabled='0'; uci set wireless.mesh_radio1.disabled='0'; uci set wireless.client_radio1.disabled='0'; uci set wireless.wan_radio1.disabled='0';wifi | |||
ESC dann :wq | |||
=====Erläutertung:===== | |||
wireless.ibss - wird nur benötigt, wenn Mesh via IBSS aktiv ist | |||
wireless.mesh - wird nur benötigt, wenn Mesh via 802.11s aktiv ist | |||
wireless.client - schaltet das Client Netz ab | |||
wireless.wan - wir benötigt, wenn eine private WLAN SSID ausgestrahlt wird | |||
radio0 - 2,4GHz WLAN Modul | |||
radio1 - 5GHz WLAN Modul | |||
====Fastd Uplink sofort für ein paar Stunden ausschalten==== | |||
Manchmal braucht man die gesamte Bandbreite für eine Zeit für sich. In dem Fall braucht man nicht gleich den Stecker zu ziehen, sondern mit diesem Script kann man direkt von seinem Rechner aus auf der Konsole den Uplink für eine Zeit ausschalten: | |||
SECONDS=3600 # one hour | |||
ssh root@your:ipv6::addr:ess '(/etc/init.d/fastd stop && sleep '$SECONDS' && /etc/init.d/fastd start)&' | |||
====Statusseite partiell ausblenden - Privacy (2016.1.x)==== | |||
Nachbarknoten (alles) | |||
chmod -x /lib/gluon/status-page/www/cgi-bin/interfaces | |||
Nachbarknoten (dBm) | |||
chmod -x /lib/gluon/status-page/www/cgi-bin/dyn/stations | |||
Statistik (alles) | |||
chmod -x /lib/gluon/status-page/www/cgi-bin/dyn/statistics | |||
====WAN auf allen Netzwerkports==== | |||
uci set network.client.ifname=bat0 | |||
uci set network.wan.ifname='eth0 eth1' | |||
uci commit network | |||
Achtung! Je nach Router sind auch andere Befehle notwendig. | |||
Zuerst sollte man mit | |||
uci show network.client.ifname | |||
uci show network.wan.ifname | |||
sich den Altzustand anzeigen lassen und notieren. Der WDR4300 hat z.B. statt eth0 und eth1 die Interface eth0.1 und eth0.2. Zur Änderung werden folglich folgende Befehle benötigt. | |||
uci del_list network.client.ifname=eth0.1 | |||
uci add_list network.wan.ifname=eth0.1 | |||
Danach die Änderung erneut prüfen. Und mit | |||
uci commit | |||
bestätigen. | |||
====ReBroadcast Mesh-on-WAN/LAN abschalten ([https://github.com/freifunk-gluon/gluon/issues/652 Default on 2016.2.x])==== | |||
With this option set incoming multicast payload frames on <iface> are not being rebroadcasted on <iface> again.<br> | |||
This option should be set on links which are known to be transitive and symmetric only, for instance point-to-point wifi longshots or wired links.<br> | |||
-- Linus Lüssing | |||
uci set network.mesh_wan.mesh_no_rebroadcast='1' | |||
uci set network.mesh_lan.mesh_no_rebroadcast='1' | |||
uci commit network | |||
reboot && exit | |||
====Weiterleitungs-Kosten des Mesh-Hop (Knoten) festlegen (2011.0.0 <= batman-adv < 2014.1.0)==== | |||
A higher [https://www.open-mesh.org/projects/batman-adv/wiki/Tweaking#hop-penalty hop penalty] will make it more unlikely that other nodes will choose this node as intermediate hop towards any given destination.<br> | |||
EX: Mobile nodes could choose a value of 255 (maximum value) to avoid being chosen as a router by other nodes. | |||
1. Anzeigen (Default: 15) | |||
cat /sys/class/net/bat0/mesh/hop_penalty | |||
2. Temporär ändern, z.B. 100 | |||
echo 100 > /sys/class/net/bat0/mesh/hop_penalty | |||
3. Persistent abspeichern, z.B. 100 | |||
uci set batman-adv.bat0.hop_penalty='100' | |||
uci commit batman-adv | |||
# reboot oder Schritt 2. zum Anwenden | |||
====Sendeleistung reduzieren==== | |||
Mögliche Werte: | |||
iwinfo phy0 txpower | |||
Sendeleistung z.B. auf 12dBm reduzieren: | |||
uci set wireless.radio0.txpower=12 | |||
uci commit | |||
wifi | |||
Hinweis: seit 2016.2.3 ist dort ein ungelöster Bug, weshalb das z.Z keine Wirkung hat. Workaround: | |||
iw phy0 set txpower fixed 1200 # $wert mal 1000 | |||
====POE Passthrough auf TP-Link CPE==== | |||
Ab Gluon 2016.2: | |||
<nowiki>uci set system.poe_passthrough=gpio_switch | |||
uci set system.poe_passthrough.name='PoE Passthrough' | |||
uci set system.poe_passthrough.gpio_pin='20' | |||
uci set system.poe_passthrough.value='1' | |||
uci commit system</nowiki> | |||
[[Kategorie:Freifunk-Tools]] | |||
= Nützliche Befehle für Freifunkfirmware und OpenWRT = | = Nützliche Befehle für Freifunkfirmware und OpenWRT = |
Version vom 17. Oktober 2018, 14:12 Uhr
Hier findest du eine kleine Übersicht von nützlichen Befehlen für die Konsole (= Kommandozeile) typischer Freifunk-Firmwares.
Unter Windows kann man den SSH-Clienten PuTTY benutzen, um eine Konsole zu öffnen und mit WinSCP können Dateien innerhalb der Verzeichnisse bearbeitet werden. Benutze dazu das Protokoll SCP.
Unter Linux öffnet man eine Konsole mit dem Befehl ssh root@IP-Adresse-des-Freifunkrouters
und kopiert Dateien mit dem Befehl scp
, siehe dazu den Absatz mit den ausführlichen Beispielen.
Arbeiten auf der Kommandozeile von Routern
Die Kommandozeile ist ein Eingabebereich für die Steuerung des Routers das im Textmodus abläuft. Damit eröffnen sich für den WRT Möglichkeiten jenseits der Grenzen der Weboberfläche.
Zugriff auf die Kommandozeile des Routers mit SSH
Vorlage:Tip
Starten einer SSH-Verbindung unter dem Betriebssystem Linux
Einfach in der Bash Eures Rechners Vorlage:Shell eintippen.
Starten einer SSH-Verbindung unter Windows
Zuerst laden wir uns das Programm [[1]] runter. Wenn der Download beendet ist, einfach die Putty.exe ausführen und dann sollte man folgendes Fenster sehen:
Hier bei Host Name die IP von Eurem WRT eintippen, und auf Open klicken. Dann sollte sich ein schwarzes Fenster öffnen:
Das ist Euer WRT! (hoffentlich ;) ) Dort loggt ihr Euch als root ein und tippt das Passwort passend zu Euren WRT ein. Dann sollte sich die Busy-Box melden.
Starten einer SSH-Verbindung unter dem Betriebssystem Mac OS X
Zum Verbinden brauchen wir das "Terminal". Es befindet sich im Ordner Programme->Dienstprogramme. Alternativ kann man das auch mit dem Spotlight (cmd+space) duch Eingabe von "Terminal" suchen lassen und muss dann nur noch Enter auf dem gefundenen Eintrag drücken, um das Terminal zu starten.
Sofern geöffnet kann eine Verbindung zum Router aufgebaut werden:
Router IPv6 finden (MacOS und Linux)
Zuerst müssen wir die IPv6 Adresse des Routers finden. Dazu einfach im Terminal eingeben (sofern per WLAN mit Freifunknetz verbunden): (Vorweg: %en1 beschriebt das Interface, über das verbunden werden soll. Hier Ethernet 1....kann auch 0 oder 2 ... oder ein ganz anderes Interface sein. Im Zweifel "ifconfig' eingeben und die Interfaces checken.)
ping6 ff02::1%en1
Viele Adressen werden aufgelistet. Man kann den Prozess sofort nach Eingabe mit ctrl + c beenden. Die zweite Adresse in dieser Liste müsste die Adresse des Routers sein... Wenn wir die Adresse haben kann man mit folgendem Befehl sich zum Router verbinden:
ssh -6 root@fe80::6a72:51ff:fe04:f52e%en1
Alternativ kann man auch dieses ScriptLet verwenden, das nur die v6-Router (ff02::2 --> all-routers) an-pingt:
ping6 -c3 ff02::2%en0 | grep -v DUP | grep fe80
Hier ist kein ctrl-c notwendig, weil die Anzahl der Anfragen mit -c3 auf 3 begrenzt ist. Getestet wurde das auf einem Macbook mit Mavericks (10.9).
Nachträgliches Hinterlegen eines SSH–Schlüssels (MacOS und Linux)
Wenn man bei der Einrichtung des Routers einen SSH–Schlüssel hinterlegt hat, kann man sich damit einloggen, ohne jedes Mal das Passwort eingeben zu müssen. Der Schlüssel kann man aber auch nachträglich auf dem Router speichern (Die Beispiel IP–Adresse muss selbstverständlich angepasst werden):
cat ~/.ssh/id_rsa.pub | ssh root@fe80::6a72:51ff:fe04:f52e%en1 'cat >> /etc/dropbear/authorized_keys'
Damit der Befehl auch tatsächlich auf dem Router ausgeführt wird, muss noch ein Mal das Passwort eingegeben werden, aber anschließend sind Logins mit dem Schlüssel möglich und das Entfernen des Login-Passwortes meist sinnvoll.
Passwort entfernen
Login mit Passwort deaktivieren. Befehl nach Login, auf dem Router, ausführen:
passwd -l root
Passwort ändern
Das Passwort kann auch geändert werden:
passwd
ACHTUNG: leeres Passwort wird akzeptiert - Login ist dann ohne Passwort möglich. Auch, wenn SSH Keys hinterlegt sind. Unbedingt ein starkes, sonst nirgends verwendetes Passwort hinterlegen oder es entfernen mit Option "-l".
Auf der Kommandozeile
Hat man sich schließlich per SSH eingeloggt, lassen sich zahlreiche Befehle nutzen.
Grundlegende Befehle
Vorlage:Shell ist ein Befehl, mit dem ihr eine Liste aller Dateien in einem Verzeichnis anzeigen lassen könnt (ähnlich `dir` unter MSDOS)
Vorlage:Shell Zeigt eine Liste mit den kompletten Informationen der Dateien an
Vorlage:Shell heiß soviel wie "change directory" oder auch "wechsel das Verzeichnis". Damit könnt ihr in einen Ordner eurer Wahl springen.
Vorlage:Shell Damit kommt ihr in den übergeordneten Ordner
Vorlage:Shell in das Hauptverzeichnis
Vorlage:Shell gibt den Inhalt einer Datei in der Kommandozeile aus. Der Vorteil ist das man nicht extra einen Editor starten muss
Vorlage:Shell ist ein Kommandozeileneditor, mit dem ihr euch Dateien angucken und verändern könnt. Um damit umzugehen, sollte man bei einer Suchmaschine eures Vertrauens mal nach "vi kommandos" oder "vi einführung" suchen. Kurz erwähnt: ihr kommt mit `:q!` oder `<esc> :q!` immer aus diesen Programm wieder raus, weitere Infos entnehmt ihr bitte einer Anleitung des `vi`. Ein guter Einstieg ist der Wikipedia Artikel dazu
Vorlage:Shell ein Tool, mit dem ihr euch die Aktuelle Auslastung eures Systems anzeigen lassen könnt
Vorlage:Shell verändert die Systemzeit
Vorlage:Shell löscht eine Datei
Vorlage:Shell löscht ein Verzeichnis inklusive Inhalt
Anpassen der Einstellungen in OpenWrt
UCI ist das Kommandozeilentool, welches in OpenWRT genutzt wird, um Einstellungen auszulesen oder zu ändern. Über UCI lassen sich alle Einstellungen, die auch über die Konfigurationsoberfläche möglich sind, sowie einige weitere Einstellungen vornehmen.
Einstellungen anzeigen
Alle gesetzten Einstellungen auflisten:
uci show
Eine bestimmte Einstellung suchen:
uci show|grep Suchwort
Eine bestimmte Einstellung anzeigen:
uci show [Einstellung]
Beispiel:
uci show autoupdater.settings.enabled
Oder für eine Einstellungsgruppe:
uci show autoupdater.settings
Einstellungen setzen
uci set [Einstellung]=[Wert]
Beispiel:
uci set autoupdater.settings.enabled=1
Wichtig: Wenn du Einstellungen via UCI gesetzt hast, müssen diese via uci commit am Ende aktiviert werden!
Einstellungen sichern
Bevor man an Einstellungen herum fummelt kann es sinnvoll sein, diese zunächst zu sichern um sie problemlos wieder herzustellen. Dies lässt sich für alle Einstellungen via uci export oder auch nur für einen Abschnitt machen, wie im folgenden Beispiel:
uci export network > network.uci
Und der Import geht dann so:
cat network.uci | uci import
Einstellungen von Gluon ändern
Gluon ist eine OpenWrt-basierte Freifunk-Firmware, die von vielen, aber nicht allen Communities im Freifunk-Umfeld benutzt wird.
Bitte beachte, dass diese deutschen Anleitungen veraltet sein können, die aktuelle Dokumentation (auf Englisch) findet sich im GitHub Wiki des Gluon-Projektes.
Autoupdater Branch festlegen
Wenn der Router nach dem Reboot wieder oben ist könnt ihr den Branch für den Autoupdater noch festlegen:
uci set autoupdater.settings.enabled='1' uci set autoupdater.settings.branch='stable' uci commit autoupdater
Das Update kann man dann manuell anstoßen.
autoupdater -f
Das stable Release ist immer die jüngste stabile Version der Firmware für Produktivsysteme. Seit der Version 0.5 ist der Autoupdater mit dem stable Branch automatisch bei Installation aktiviert, so dass die Router sich automatisch aktuell halten. Sollte dies nicht gewünscht sein, so muss dies explizit deaktiviert werden.
Neustart im Configmode
Manchmal ist es Notwendig in den Configmode zu starten. Dies beinhaltet die Weboberfläche des Systems zum ersten Einrichten eines Freifunk-Routers. Für gewöhnlich hält man ein paar Sekunden lang die Reset Taste gedrückt. Folgende Ausführung würde den gleichen Effekt erzielen:
uci set gluon-setup-mode.@setup_mode[0].enabled=1 uci commit gluon-setup-mode reboot
Routernamen ändern
Wenn ihr bspw. den *Namen* des Router ändern möchtet geht dies wie folgt in der SSH Shell:
uci set system.@system[0].hostname='FF-OB-SAMPLE-01' << Name anpassen uci commit system
Danach ist ein Reboot erforderlich.
Kontaktdaten ändern
uci set gluon-node-info.@owner[0]='owner' uci set gluon-node-info.@owner[0].contact='Mustermann muster@freifunk-ruhrgebiet.de 02453434434' << Daten anpassen uci commit gluon-node-info
Geodaten ändern
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='51.484943' << anpassen uci set gluon-node-info.@location[0].longitude='6.880250' << anpassen uci commit gluon-node-info
Bandbreitenbegrenzung ändern
Alt:
uci set gluon-simple-tc.mesh_vpn='interface' uci set gluon-simple-tc.mesh_vpn.ifname='mesh-vpn' uci set gluon-simple-tc.mesh_vpn.enabled='1' uci set gluon-simple-tc.mesh_vpn.limit_ingress='50000' << download anpassen uci set gluon-simple-tc.mesh_vpn.limit_egress='10000' << upload anpassen uci commit gluon-simple-tc
Neu:
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='16000' << download anpassen uci set simple-tc.mesh_vpn.limit_egress='1000' << upload anpassen uci commit simple-tc
Bandbreitenbegrenzung zeitgesteuert ändern
Folgende Cronjobs anlegen:
vi /usr/lib/micron.d/speedlimit
Für tägliche Limits von 07 bis 1700 Uhr:
0 7 * * * uci set simple-tc.mesh_vpn.enabled='1' && uci set simple-tc.mesh_vpn.limit_ingress='2000' && uci set simple-tc.mesh_vpn.limit_egress='500' && /etc/init.d/fastd restart
0 17 * * * uci set simple-tc.mesh_vpn.enabled='0' && /etc/init.d/fastd restart
Für werktägliche Limits von 07 bis 1700 Uhr (ungetestet):
0 7 * * 1-5 uci set gluon-simple-tc.mesh_vpn.enabled='1' && uci set gluon-simple-tc.mesh_vpn.limit_ingress='2000' && uci set gluon-simple-tc.mesh_vpn.limit_egress='500' && uci commit gluon-simple-tc && reboot
0 17 * * 1-5 uci set gluon-simple-tc.mesh_vpn.enabled='0' && uci commit gluon-simple-tc && reboot
Hier wird jeweils ein Limit von 2Mbits down und 0.5 MBits up gesetzt.
Achtung! Jeder Scriptaufruf führt ein commit und damit einen Schreibvorgang auf dem Rom aus. Dies kann sich negativ auf die Lebensdauer des Gerätes auswirken. Ein Reboot ist nötig, damit die Beschränkung aktiv oder inaktiv wird.
Mesh VPN aktivieren
Mesh VPN bezieht sich auf das Meshen mit anderen Routern über das Internet. Es ist auch Voraussetzung für die Internetfreigabe der Clients am eigenen Knoten.
uci set fastd.mesh_vpn.enabled=1 uci commit fastd /etc/init.d/fastd start
Sofern noch kein Schlüssel generiert wurde, muss das ebenfalls geschehen:
/etc/init.d/fastd generate_key mesh_vpn 18fa75d1808692f04770bedf30c42dac24585d331560c545d70dd27f22a05648
Dieser Schlüssel muss dann in der jeweiligen Domäne angemeldet werden.
Meshing über WAN-Schnittstelle (Mesh on wan) aktivieren
Wenn du die WAN-Schnittstelle nicht nur für einen Internetzugang verwenden möchtest, sondern über diese auch das Meshing-Protokoll aktivieren willst, um z.B. andere, evtl. langsamere Freifunk-Router mit dem Freifunk-Netz zu versorgen, gehst du wie folgt vor:
uci set network.mesh_wan.auto=1 uci commit network /etc/init.d/network restart
Meshing über WAN-Schnittstelle deaktivieren
uci set network.mesh_wan.auto=0 uci commit network /etc/init.d/network restart
Private WLAN
Es ist möglich ein privates WLAN anzulegen, das mit dem WAN-Port gebridged und separat zum Mesh Netzwerk ist. Bitte beachte, dass Mesh on Wan nicht zeitgleich aktiviert werden sollte. Effekt: Dieses private WLAN ist nun Teil des am WAN-Port anliegenden Heimnetzes. Gibt man ihm die gleichen Zugangsdaten (SSID & Passwort) wie dem bestehenden Heim-WLAN, so wird dieses effektiv erweitert. Zeitgleich fungiert der Router als Freifunk-Router. Freifunk und privates Netz bleiben dabei voneinander getrennt.
Das private WLAN kann im Config-Modus aktiviert werden, alternativ auch über die Konsole wie folgt:
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 wireless wifi
Bitte ersetze $SSID mit dem Namen deines Heimnetzwerks und $KEY mit deinem bisher üblichen Key (der vom privaten Router). Bei einem Dualband-Gerät (das 2.4 und 5 Ghz für WLAN verwendet), gibt es neben radio0 auch radio1; letzteres sollte genauso konfiguriert werden.
Zum deaktivieren des Ganzen wie folgt vorgehen:
uci set wireless.wan_radio0.disabled=1 grep radio1 /etc/config/wireless if [ $? ]; then # disable auch das 5GHz radio uci set wireless.wan_radio1.disabled=1 fi uci commit wireless wifi
Meshing on LAN
Eigentlich wird nur der WAN Anschluss zum Betreiben eines Freifunk Routers benötigt. Die anderen Ports jedoch bleiben ungenutzt. Das Meshing ist über diese (meist gelben) LAN Ports abgeschaltet. Diese sind für Clients, neben WLAN, eine zusätzliche Verbindungsmethode. Man kann diese Ports jedoch auch dafür benutzen um mit weiteren Routern zu "meshen":
uci set network.client.ifname='bat0' uci set network.mesh_lan=interface uci set network.mesh_lan.ifname="$(cat /lib/gluon/core/sysconfig/lan_ifname)" uci set network.mesh_lan.mesh=bat0 uci set network.mesh_lan.proto=batadv uci set network.mesh_lan.auto=1 uci commit network reboot
Nur 2015.1.x:
# activate uci set network.client.ifname="bat0" uci set network.mesh_lan.auto=1 uci commit network /etc/init.d/network restart
# deactivate uci set network.client.ifname="bat0 $(cat /lib/gluon/core/sysconfig/lan_ifname)" uci set network.mesh_lan.auto=0 uci commit network /etc/init.d/network restart
Testen (funktioniert nur, wenn auch ein Kabel eingesteckt ist):
batctl if
sollte nun u.A. eth1: active anzeigen
ubus call network.interface.mesh_lan status
Sollte "up": true anzeigen
Abrufen an welchen Ports Kabel eingesteckt sind
swconfig dev switch0 show | grep 'link:'
Gateways im Router an-/abschalten
uci set fastd.mesh_vpn_backbone_peer_<<COMMUNITY-NAME>>_vpn<<NR-DES-GATEWAYS>>.enabled=0/1 uci commit /etc/init.d/fastd restart
<<COMMUNITY-NAME>> muss durch das Kürzel eurer Community ersetzt werden, z.B. ffnord
<<NR-DES-GATEWAYS>> wird durch die Zahl des Gateways ersetzt (i.d.R. 0-3)
Clientnetz zeitgesteuert an-/abschalten
vi /usr/lib/micron.d/wifioff
i (um den Schreibmodus zu aktivieren)
Für tägliche Abschaltung von 21 bis 7 Uhr:
0 21 * * * uci set wireless.ibss_radio0.disabled='1'; uci set wireless.mesh_radio0.disabled='1'; uci set wireless.client_radio0.disabled='1'; uci set wireless.wan_radio0.disabled='1';uci set wireless.ibss_radio1.disabled='1'; uci set wireless.mesh_radio1.disabled='1'; uci set wireless.client_radio1.disabled='1'; uci set wireless.wan_radio1.disabled='1';wifi 0 7 * * * uci set wireless.ibss_radio0.disabled='0'; uci set wireless.mesh_radio0.disabled='0'; uci set wireless.client_radio0.disabled='0'; uci set wireless.wan_radio0.disabled='0';uci set wireless.ibss_radio1.disabled='0'; uci set wireless.mesh_radio1.disabled='0'; uci set wireless.client_radio1.disabled='0'; uci set wireless.wan_radio1.disabled='0';wifi
ESC dann :wq
Erläutertung:
wireless.ibss - wird nur benötigt, wenn Mesh via IBSS aktiv ist wireless.mesh - wird nur benötigt, wenn Mesh via 802.11s aktiv ist wireless.client - schaltet das Client Netz ab wireless.wan - wir benötigt, wenn eine private WLAN SSID ausgestrahlt wird
radio0 - 2,4GHz WLAN Modul radio1 - 5GHz WLAN Modul
Fastd Uplink sofort für ein paar Stunden ausschalten
Manchmal braucht man die gesamte Bandbreite für eine Zeit für sich. In dem Fall braucht man nicht gleich den Stecker zu ziehen, sondern mit diesem Script kann man direkt von seinem Rechner aus auf der Konsole den Uplink für eine Zeit ausschalten:
SECONDS=3600 # one hour ssh root@your:ipv6::addr:ess '(/etc/init.d/fastd stop && sleep '$SECONDS' && /etc/init.d/fastd start)&'
Statusseite partiell ausblenden - Privacy (2016.1.x)
Nachbarknoten (alles)
chmod -x /lib/gluon/status-page/www/cgi-bin/interfaces
Nachbarknoten (dBm)
chmod -x /lib/gluon/status-page/www/cgi-bin/dyn/stations
Statistik (alles)
chmod -x /lib/gluon/status-page/www/cgi-bin/dyn/statistics
WAN auf allen Netzwerkports
uci set network.client.ifname=bat0 uci set network.wan.ifname='eth0 eth1' uci commit network
Achtung! Je nach Router sind auch andere Befehle notwendig. Zuerst sollte man mit
uci show network.client.ifname uci show network.wan.ifname
sich den Altzustand anzeigen lassen und notieren. Der WDR4300 hat z.B. statt eth0 und eth1 die Interface eth0.1 und eth0.2. Zur Änderung werden folglich folgende Befehle benötigt.
uci del_list network.client.ifname=eth0.1 uci add_list network.wan.ifname=eth0.1
Danach die Änderung erneut prüfen. Und mit
uci commit
bestätigen.
ReBroadcast Mesh-on-WAN/LAN abschalten (Default on 2016.2.x)
With this option set incoming multicast payload frames on <iface> are not being rebroadcasted on <iface> again.
This option should be set on links which are known to be transitive and symmetric only, for instance point-to-point wifi longshots or wired links.
-- Linus Lüssing
uci set network.mesh_wan.mesh_no_rebroadcast='1' uci set network.mesh_lan.mesh_no_rebroadcast='1' uci commit network reboot && exit
Weiterleitungs-Kosten des Mesh-Hop (Knoten) festlegen (2011.0.0 <= batman-adv < 2014.1.0)
A higher hop penalty will make it more unlikely that other nodes will choose this node as intermediate hop towards any given destination.
EX: Mobile nodes could choose a value of 255 (maximum value) to avoid being chosen as a router by other nodes.
1. Anzeigen (Default: 15)
cat /sys/class/net/bat0/mesh/hop_penalty
2. Temporär ändern, z.B. 100
echo 100 > /sys/class/net/bat0/mesh/hop_penalty
3. Persistent abspeichern, z.B. 100
uci set batman-adv.bat0.hop_penalty='100' uci commit batman-adv # reboot oder Schritt 2. zum Anwenden
Sendeleistung reduzieren
Mögliche Werte:
iwinfo phy0 txpower
Sendeleistung z.B. auf 12dBm reduzieren:
uci set wireless.radio0.txpower=12 uci commit wifi
Hinweis: seit 2016.2.3 ist dort ein ungelöster Bug, weshalb das z.Z keine Wirkung hat. Workaround:
iw phy0 set txpower fixed 1200 # $wert mal 1000
POE Passthrough auf TP-Link CPE
Ab Gluon 2016.2:
uci set system.poe_passthrough=gpio_switch uci set system.poe_passthrough.name='PoE Passthrough' uci set system.poe_passthrough.gpio_pin='20' uci set system.poe_passthrough.value='1' uci commit system
Nützliche Befehle für Freifunkfirmware und OpenWRT
Befehl | Beschreibung |
---|---|
ls
|
Verzeichnisinhalt listen |
cd
|
Verzeichnis wechseln |
cp
|
Kopieren |
rm
|
Datei/Verknüpfung/Link löschen |
vi
|
Textdateieditor (verlassen mit ESC,!,q,RETURN). Befehlsübersicht |
date
|
Anzeigen und Einstellen des Datums und der Uhrzeit |
uptime
|
zeigt die Gerätelaufzeit seit dem letzten Neustart an |
df -h
|
Speicherauslastung der Dateisysteme anzeigen |
free
|
Arbeitsspeicherauslastung anzeigen |
top
|
Systemauslastung/Prozesse anzeigen (wird mit "q" wieder beendet). Manpage |
logread
|
System-Logs anzeigen |
ip
|
Das "Schweizer Messer" zur Netzwerkkonfiguration. Wesentliche Varianten: ip link show , ip address show , ip route show . Manpage
|
mtr
|
Paketverfolgung und Anzeige der Zwischenstationen. Eine Kombination aus ping und traceroute . Manpage
|
horst
|
Ein kleines Programm, welches u.a. die empfangenen WLAN-Netzwerkpakete mit der dazugehörigen Signalstärke anzeigt. Muss ggf. per opkg nachinstalliert werden. |
opkg
|
Paketmanagement. Dokumentation |
busybox
|
Kombi-Binary für alle wesentlichen Utilities. Die Manpage ist lesenswert; sollten Symlinks fehlen, per busybox cmd aufrufen.
|
nützliche One-Liner
Befehl | Beschreibung |
---|---|
arp | grep br-batman | wc -l
|
Gibt die der ARP-Tabelle bekannte Zahl an MAC-Adressen auf dem br-batman Device zurück. |
arp | sort -n
|
ARP-Tabelle, erhöhte Lesbarkeit. |
ip a | grep inet | sort
|
Filtert die ip a Ausgabe nach IP-Adressen.
|
Enter, dann ~ (Tilde), dann . (Punkt)
|
Remoteterminal hängt? Diese Sequenz bringt dich zurück. |
ausführliche Beispiele
- Befehl um Verzeichnis zu wechseln
cd /VERZEICHNIS
- Befehl um eine Datei über http in das aktuelle Verzeichnis auf den Router zu laden
wget http://SERVER/VERZEICHNIS/DATEI
- Befehl um Dateien zu übertragen
scp datei1 datei2 user@server:/zielverzeichnis/ scp benutzerx@server1:datei1 datei2 benutzery@server2: scp user@server:/verzeichnis/datei /lokales/zielverzeichnis/
- Befehle um auf FF-Router neue Firmware zu übertragen ( -n Konfiguration überschreiben; bitte beachten, das der FF-Router danach einen kalt Start braucht; also Strom aus und wieder an )
ssh root@ff-router cd /tmp wget <link zum image> sysupgrade -nv <heruntergeladenes image>
oder
ssh root@ff-router scp benutzerx@server1:datei.bin /tmp/ cd /tmp sysupgrade -nv datei.bin
- Befehl zum entpacken von Tar-Archiven im aktuellen Verzeichnis
tar -xf *.tar
- Befehl zum installieren von Paketen aus dem aktuellen Verzeichnis
opkg install PAKET.ipk
- Befehl zum erzeugen eines Links
ln -s /verzeichnis/datei /verzeichnis/link
- Befehl zum anzeigen der eigenen IP-Adressen <Schnittstelle kann optional angegeben werden eth0 wlan0 ...>
ip addr show wlan0
- Welche Nachbarn hat der Router
wget -q -O - http://127.0.0.1:2006/neigh
- Welchen Weg nehmen Daten zum Ziel
traceroute www.freifunk.net
- Kombination aus ping und traceroute zum Beenden q drücken
mtr www.freifunk.net
- ändern des Standard-Editors auf „nano“
export EDITOR=/usr/bin/nano
- systemweit dauerhaftes Ändern des Standard-Editors auf „nano“ als root
echo 'export EDITOR=/usr/bin/nano' >> /etc/profile ;exit
- dauerhaftes Ändern des Standard-Editors auf „nano“ als user
echo 'export EDITOR=/usr/bin/nano' >> ~/.bashrc ; exit
- crontab als root bearbeiten
crontab -e
- Zwangs-Reboot des Routers zu einer bestimmten Zeit erzwingen
crontab als root bearbeiten und neue Zeile einfügen, zB. ( für täglich 4 Uhr):
0 4 * * * sync ; reboot