Zugang über IPv6
Allgemeines
Sollte ein Freifun-Knoten einmal nicht mehr ansprechbar sein, sei es, weil man seine IP-Adresse nicht kennt, oder er sich keine IP(v4) Adresse mehr zuweisen lässt, gibt es noch einen Weg über IPv6.
Der IPv6 Standard sieht zwei Dinge vor, die uns hier helfen können:
- Jedes Gerät (und Interface) verfügt über eine Link-Local-Adresse (beginnt mit fe80:)
- Jedes Gerät muss auf bestimmte Multicast-Rundrufe antworten.
Sofern zuvor ein SSH-Schlüssel hinterlegt wurde (alternativ notfalls ein Root-Passwort vergeben wurde), kann man über die Link-Local Adresse auf das Gerät zugreifen. Der Befehl auf der Kommandozeile lautet dann
ssh root@adresse%interface
Auf meinem Mac wäre das beispielhaft für den Knoten Eilenriede-Sued-Uplink:
ssh root@fe80::be24:11ff:fe91:25cc%en0
Die Adresse (fe80::be24:11ff:fe91:25cc) und das Interface (en0) variieren selbstverständlich.
Link Local Adresse herausfinden
Hier kommt Punkt 2 aus der obigen Liste zum Einsatz: Mit ping an die Multicast-Adresse
ff02::1
bekommt man eine Antwort (und damit die Adresse) von jedem aktiven Geräten, das IPv6 spricht. Da Multicast in der Regel nicht gerouted wird, bekommt man auch nur Geräte aus dem eigenen LAN angezeigt.
In der Regel muss man hier wieder ein Interface mit angeben, auf dem der Multicast-Rundruf ausgesendet werden sollen.
ping6 -c 2 ff02::1%en0
(Interfacename und Name des Ping-Befehls variieren je nach Betriebssystem.)
Der Parameter c wird hier verwendet, damit nur zwei Rundrufe verschickt werden. Einer ist meistens zu wenig, da die Geräte einen Augenblick brauchen, um zu antworten. Mehr sind nicht nötig, da innerhalb von 2 Sekunde alle geantwortet haben sollten.
Beispiel-Antwort:
$> ping6 -c 2 ff02::1%en0
PING6(56=40+8+8 bytes) fe80::1419:bb1d:5fb5:79df%en0 --> ff02::1%en0
16 bytes from fe80::1419:bb1d:5fb5:79df%en0, icmp_seq=0 hlim=64 time=3.771 ms
16 bytes from fe80::9e05:fedc:d6ff:8419%en0, icmp_seq=0 hlim=64 time=6.826 ms
16 bytes from fe80::a236:fe58:bcff:84d7%en0, icmp_seq=0 hlim=64 time=6.888 ms
Je nach Anzahl der aktiven Geräte im Netz gibt es hier mehr Antworten. Mit dabei ist auch immer der eigene Computer (oft der mit der kürzesten Antwortzeit).
Zusammengesetzt
Den obigen ssh-Befehl probiert man nun mit den 2-3 Adressen durch und bekommt hoffentlich Zugang zu seinem Gerät.
Ab hier kann man dann mit den gewohnten Kommandos auf dem Gerät weiterarbeiten. Siehe auch:
https://github.com/freifunk-gluon/gluon/wiki/Commandline-administration