So Leute. Endlich.
Habe mich gerade anhand weiter unten beschriebener Methode durch den täglichen Hoodkurzschluss delmenhorst <-> default02 gegraben. Mein Dank geht an Robin -- er weiß, wieso :) Die Ursache ist (aus Ursachenforschungsgründen immer noch, aber keine Sorge, das Symptom wird weiterhin per iptables auf dem default02.sn.ffn.de weggemacht) ein Kabelmeshrouter mit festgefahrenem hoodselector.
Konnte mich gerade noch zurückhalten, den Router zu fixen. bitte den Router erstmal in seinem Fehlerzustand belassen. Nicht rebooten, keine Kabel abziehen. wir wollen die Ursache für das Problem herausfinden. Habe mir erlaubt, Tareks sshkey auf dem Router zu hinterlegen, damit er sich das Problem mal live anschauen kann.
root@Wuesting-Raiffeisenstrae-I1:~# hoodselector The hoodselector is still running.
root@Wuesting-Raiffeisenstrae-I1:~# ls -l /var/run/hoodselector.pid -rw-r--r-- 1 root root 0 Sep 27 19:28 /var/run/hoodselector.pid
root@Wuesting-Raiffeisenstrae-I1:~# cat /tmp/hoodselector_error Command failed: Not found Command failed: Not found Command failed: Not found ifconfig: SIOCGIFFLAGS: No such device ifconfig: SIOCGIFFLAGS: No such device Command failed: Not found Failed to parse json data: unexpected end of data /usr/bin/lua: /usr/sbin/hoodselector:110: attempt to index local 'a' (a nil value) stack traceback: /usr/sbin/hoodselector:110: in function 'h' /usr/sbin/hoodselector:181: in function 'r' /usr/sbin/hoodselector:481: in main chunk [C]: ? root@Wuesting-Raiffeisenstrae-I1:~#
root@Wuesting-Raiffeisenstrae-I1:~# batctl gwl [B.A.T.M.A.N. adv 2017.2, MainIF/MAC: primary0/8e:83:b2:79:67:3b (bat0/84:16:f9:c8:ac:f2 BATMAN_IV)] Router ( TQ) Next Hop [outgoingIf] Bandwidth 52:15:c8:12:c6:a8 (251) 52:15:c8:12:c6:a8 [ mesh-vpn]: 59.5/32.3 MBit * ce:d3:06:0a:17:bf (179) 1a:e5:c9:ac:bb:58 [br-mesh_lan]: 1000.0/1000.0 MBit
das andere Ende des Kabels steckt im br-wan eines entsprechend konfigurierten Routers (Wuesting-Raiffeisenstraße-O2)
LG Lorenz
-------- Weitergeleitete Nachricht -------- Am 03.10.2018 um 12:06 schrieb lrnzo:
moin,
ich will dir die Idee kurz umreißen:
ssh -A FF_OS_Martinistr_Lager_10feedc260a2
den Welcome-screen erspare ich uns mal .... mit "batctl gwl" kannst du das bzw die Supernodes/Gateways eines routers sehen. Normalerweise ist dort ein Supernode aufgeführt. Eine gesunde Ausgabe sieht zb aus:
root@FF-OS-Martinistr-Lager:~# batctl gwl [B.A.T.M.A.N. adv 2017.2, MainIF/MAC: primary0/3e:ff:38:f1:d6:2b (bat0/10:fe:ed:c2:60:a2 BATMAN_IV)] Router ( TQ) Next Hop [outgoingIf] Bandwidth
- 82:f2:bd:50:be:33 (235) 0a:1d:84:d2:73:11 [ mesh0]: 1000.0/1000.0 MBit
nun kennt man also die MAC des BATMAN-Interfaces des Supernodes. Dieses kann man nun tracen:
root@FF-OS-Martinistr-Lager:~# batctl tr 82:f2:bd:50:be:33 traceroute to 82:f2:bd:50:be:33 (82:f2:bd:50:be:33), 50 hops max, 20 byte packets 1: 0a:1d:84:d2:73:13 7.091 ms 1.119 ms 2.687 ms 2: 82:f2:bd:50:be:33 30.561 ms 34.256 ms 33.654 ms
man sieht also die MACs der BATMAN-Interfaces der Mesh-hops bis zum Supernode, in diesem Fall einer. Nun habe ich mir mal die link-local Adressen meiner mesh-nachbarn angeschaut. Eine davon hat eine ziemliche Ähnlichkeit mit der MAC des nächste BATMAN-Hops in Richtung Supernode. Habe die Zeile mit nem Pfeil markiert.
root@FF-OS-Martinistr-Lager:~# ping ff02::1%mesh0 PING ff02::1%mesh0 (ff02::1%mesh0): 56 data bytes 64 bytes from fe80::3cff:38ff:fef1:d629: seq=0 ttl=64 time=0.467 ms 64 bytes from fe80::885:8ff:fe28:be31: seq=0 ttl=64 time=10.509 ms (DUP!) 64 bytes from fe80::cca6:51ff:fe65:a099: seq=0 ttl=64 time=13.085 ms (DUP!) 64 bytes from fe80::81d:84ff:fed2:7311: seq=0 ttl=64 time=13.697 ms (DUP!) <- 64 bytes from fe80::a889:48ff:fed0:d211: seq=0 ttl=64 time=14.859 ms (DUP!) 64 bytes from fe80::d05c:c1ff:fefe:40b9: seq=0 ttl=64 time=15.959 ms (DUP!) ^C --- ff02::1%mesh0 ping statistics --- 2 packets transmitted, 2 packets received, 10 duplicates, 0% packet loss round-trip min/avg/max = 0.467/7.148/15.959 ms
Aus 0a:1d:84:d2:73:13 wurde fe80::81d:84ff:fed2:7311. Die Bildungsvorschrift scheint zu sein:
- und 6. Oktett (0a bzw 13) um 2 reduzieren (gibt 08, die führende Null verschwindet dann in der ::-Abkürzung, bzw 11), zwischen 3. und 4. Oktett ein "ff:fe" einfügen (wird meistens so gemacht, wenn man aus einer MAC eine v6 ableiten will, vergleiche mal die Primary-MACs in der map in den dort gelisteten v6-Adressen) und dann noch zwei benachbarte Oktett zu einem "hextett" (heißt das so?) zusammenfassen (zB 84:ff -> 84ff). und sieht da, man landet über diese linklocal-Adresse auf dem nächsten Hop Richtung Supernode.
root@FF-OS-Martinistr-Lager:~# ssh root@fe80::81d:84ff:fed2:7311%mesh0
root@FF-OS-Martinistr-84:~# batctl gwl [B.A.T.M.A.N. adv 2017.2, MainIF/MAC: primary0/0a:1d:84:d2:73:13 (bat0/10:fe:ed:f4:07:2a BATMAN_IV)] Router ( TQ) Next Hop [outgoingIf] Bandwidth
- 82:f2:bd:50:be:33 (254) 2e:65:38:c4:88:e2 [ mesh-vpn]: 1000.0/1000.0 MBit
in der Spalte outgoingIf steht nun auch mesh-vpn
Alles klar? Also Idee ist, mit "batctl gwl" und "batctl tr" die Fährte aufnehmen und sich dann von node zu node durchhangeln, bis man das ist, wo der falsche vpn-tunnel aufgebaut ist.
Sobald du startklar bist, würde ich auf dem default-supernode die Anschluss-ip entblocken (damit es eine Spur zum verfolgen gibt) und mit etwas Glück kommen wir mit deinem key ist zum fraglichen Router. zumindest können wir ihn auf diese Weise herausfinden.
LG Lorenz