Welche SSH-Befehle sollte man kennen, wenn man seinen Knoten fernadministrieren will?

Bastele gerade an zwei Videotutorials zur Fernadministration von Freifunk-Knoten. Im ersten Teil ging es um das Generieren und Einrichten des Schlüssels sowie den Weg zum Router mit Putty.

Im zweiten Teil möchte ich ein paar grundsätzliche Befehle zeigen, über die man den Router verwalten kann.

Mein erster Anhaltspunkt wäre dieser Wiki-Eintrag, der auf Vorschlägen von @CHRlS basiert.

  • Router Firmware aktualisieren
  • Autoupdater Branch festlegen
  • Daten ändern / Kontaktinfo ändern
  • Geodaten ändern
  • Bandbreitenbegrenzung ändern

Sonst noch irgendwelche Befehle, die man kennen sollte?

4 „Gefällt mir“

http://wiki.freifunk.net/konsole

2 „Gefällt mir“

Als Ergänzung vllt. noch:

WAN-Mash und VPN-Mash ein- und ausschalten.

Router IPv6 finden
Zuerst müssen wir die IPv6 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 2 oder 3 … oder ein ganz anderes Interfacesein. Im Zweifel "ifconfig’ eingeben und die interfaces checken.)
ping6 ff02::1%en1
Viele Adressen werden aufgelistet. Man kann den Prozess sofort nach einfabe 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

Funktioniert diese Methode eigentlich zuverlässig?

Das ist eine recht vollständige Beschreibung der Gluon-Administration auf der Kommandozeile:

2 „Gefällt mir“
  • meshvpn ausschalten (trivial)
  • meshvpn anschalten (trivial)
  • ssh-keys einkopieren, wenn man vorher nur ein passwort gesetzt hatte
  • meshvpn einrichten (wenn es im LUCI nicht getan wurde, advanced)
  • lanports vom br-client nehmen und stattdessen auf br-wan bridgen (und das auch so in der /etc/rc.local zementieren)
  • HTmode ändern an Standorten wo Stabilität und Reichweiter wichtiger ist als Durchsatz.
  • ipv6/ipv4 für meshvpn explizit unterdrücken.
  • MTU-Size manuell ändern

Anzahl der VPN tunnel im Wan aendern (2 → 1)

Kann helfen bei schmalbandigen DSL Leitungen. :wink:

1 „Gefällt mir“

Passwort entfernen, wenn man den SSH Key eingepflegt hat.

1 „Gefällt mir“

Okay, ich merke schon hier geht einiges. Ich picke mir ein paar Rosinen für ein Basis-Tutorial raus, den Rest kann man sowieso wohl besser nachlesen oder nochmal in ein erweitertes Tutorial packen.

Noch mein persönlich wichtigster:

uci show | grep verdächtigerwert

Hilft bei allem was ich mir nicht merken kann

/etc/init.d/network restart

Macht die meisten Änderungen ohne Reboot wirksam

3 „Gefällt mir“

Debugging (wäre vielleicht ein eigenes Video wert? :smiley: ):

  • ip address
  • ip link
  • ip route
  • batctl interface
  • batctl gateways
  • batctl originators
  • batctl ping
  • batctl traceroute
  • batctl statistics
  • ping / ping6
  • traceroute
5 „Gefällt mir“

Lieber ein geschriebenes Tutorial mit Beispiel-Output :wink:
Es geht ja um Konsoleneingaben, da ist der Mehrwert eines Videos gering, und ich lese lieber nach, als 'nen Film in mehr oder weniger guter Auflösung mit mehr oder weniger gutem Ton- sofernd der überhaupt dabei ist- anzusehen

3 „Gefällt mir“

wie lautet der befehl für ssh in der busybox/dropbear?

ja 2020020202022020202

Hat Busybox nochmal einen SSH-Client? Habe ich noch nie getestet. :wink:

ich habe dazu eine frage.

ff_router als ausgang für dropbear ssh mit key

mein vorgehen ist bis her so, das ich mich irgendwo per ssh einlogge ins freifunk ipv6 netzt, z.b meine ff_node und von dort aus, nutze ich diese als host um andere ff_knoten zu erreichen im netzwerk. das hat den vorteil ich muss nicht im freifunk netz angemeldet sein oder ich kann einen server mit shell nutzen.

auf der linux shell kann ich mit ssh -i sshkey host dropbear kann das nicht.
im internet habe ich dinge gefunden wie, ich muss schlüßel für dropbaer umwandeln, damit sie nutzbar sind. :unamused:
das hat für mich zur folge, wenn ich einen ff_router als host nutze um anderen ff_router zu verbinden, muss ich mit passwd arbeiten. :weary:

habt ihr dafür eine idee?

Man kann die Ssh-Schlüssel durchschleifen.

ssh -A -i id root@Freifunkrouter
ssh root@Zielrouter

Dabei muss der Schlüssel nicht auf dem ersten Router sein.

2 „Gefällt mir“

danke dir @MPW

für alle die wissen wollen wie das einfach anzuwenden ist.

Voraussetzung
Pub keys auf den routern
interface auf dem hop den du nutzt musst du zählen mit ifconfig
in meinem fall ist eth0 an position 6 also %6

ssh -A -i ~/.ssh/id_rsa FreiFunk -t ssh ipv6_IP%6

oder wenn man FreiFunk in .ssh/config hat

Host IP / FQDN
HostName FreiFunk
port 22
user root
IdentityFile ~/.ssh/id_rsa
ForwardAgent yes

ssh FreiFunk -t ssh ipv6_IP%6
1 „Gefällt mir“

Ich baue gerade extra für sowas eine kleine weboberfläche: https://github.com/MTRNord/gluon-web-remote momentan leider noch nicht so weit das es eine funktion hat aber sobald es da funktionen gibt werde ich drauf hinweisen :wink:


Meine Idee-liste bzw TODO-Liste ist:

  • User Accounts
  • Jeder User kann unendlich viele Router verbünde machen
    • In den Verbünden können Router gemanaged werden und automatisch durch
      nummeriert und geflashed werden
  • Status der Router anzeigen (On/Off, Link stärke, Fastd links, etc.)
  • UCI Commands per Web absenden
  • automatisches key einsenden (für netze wie kiel oder wo man das sonst
    so machen muss)
  • Auswahl der Update-Branch für den ganzen Routerverbund
  • in php geschrieben
  • muss im ff laufen (vielleicht als Service auf einem Gateway und dann mit mehreren User-Accounts)
  • eventuell (wahrscheinlich eher nicht) auch gateway managment oberfläche

Was haltet ihr von der Idee und habt ihr Vorschläge?

3 „Gefällt mir“

Hallo mtrnord!

Was ist aus deinem Projekt geworden? Klingt für mich nach einer super Idee!

Gruß
Ronny