Troubleshooting bei Inbetriebnahme des neuen Backends

Hallo zusammen,

wir möchten mit unserem Backend umziehen und ich konnte die Konfiguration der Gateways auch soweit erfolgreich mit Ansible ausrollen.

Vor einiger Zeit hatte ich bereits schon mal ein ähnliches Problem, das aber gelöst werden konnte: [gelöst] Benötige Unterstützung

Nun stellt es sich so dar, dass ich nicht mal einen Knoten online bekomme. Laut ifconfig auf dem Gateway scheint ein L2TP-Tunnel zu stehen, aber der Knoten bleibt offline.

Die Tunnel zu FFRL werden nach einem “birdc6 show proto” als “established” angezeigt.

Weiterhin beobachte ich noch den Effekt, dass IPv6 im alten Backend clientseitig nicht mehr funktioniert, sobald die Gateways des neuen Backends online sind. Schalte ich die neuen Server ab, ist das Problem weg. Die Server im alten Backend mit der Tunnelkonfiguration, die ich auf den neuen Gateways benutzen möchte, sind natürlich abgeschaltet.

Ich habe neue IPv6 Präfixe benutzt und verteile auch einen anderen IPv4-Scope, was aber nicht ursächlich sein kann.

Hat jemand eine Idee, wo ich ansetzen kann?

Welchen Kernel hast du auf den Gateways? Welchen Tunneldigger habt ihr auf den Knoten?
Es gibt einen Bug im Tunneldigger der dazu führt das immer die gleiche Tunnel ID an den Server übertragen wird. Ein weiterer Bug im Kernel hat dazu geführt das die Tunnel ID vom Kernel ignoriert wurde und die Verbindung zu Stande kam. Dieser Kernel Bug :bug: wurde aber in Kerneln > 4.9.0-0.bpo.3-amd64 gefixt und Doppelte IDs werden vom Kernel abgewiesen.

Siehe auch:

Ich nehme an das die Neuen Gateways schlicht Routen zum FFRL exportieren die dazu führen das euer gesamtes /48er Netz an den neuen Gateways ankommen. Zum test kannst du auf den neuen Gateways mal mit systemctl stop bird6 bird6 deaktivieren und gucken ob es dann wieder geht.

OK, wenn ich bird6 anhalte, ist zumindest das zweite Problem weg. Kann man da für eine Übergangszeit was dran ändern? Ich habe leider kein weiteres /48 Netz zur Verfügung.

Wir benutzen einen 4.9.0-0.bpo.6-amd64 Kernel auf den Gateways. Der tunneldigger sollte aktuell sein, wir nutzen Gluon 2018.1.1.

Btw, im Moment fällt mir nicht ein, wo und wie ich den IPv6 Scope seinerzeit registriert hatte. Kannst du mir da auf die Sprünge helfen?

Greif dir ein /56 raus. So haben wir das damals auch gemacht.

Unser Netz ist 2a03:2260:2004::/48. Reicht es, dann z.B. 2a03:2260:2004:ff00::/56 zu nehmen?
Oder habe ich da noch einen Denkfehler? Muss ich am alten Backend auch etwas ändern?

Passt.

Du hast 256 56er Subnetze, Standardmäßig wird meist nur das allererste genutzt. Du kannst dir ein beliebiges anderes nehmen.

Wir nummerieren die einfach durch: 2a03:2260:115:0100::/56, 0200::/56 etc.

Ich stehe immer noch auf dem Schlauch und mein Knoten mag nicht online gehen.

Könnte bitte noch mal jemand über die aktuelle Konfiguration drüberschauen? Danke!

Falls ihr direkt schauen möchtet;: eure Keys sind auf dem Gateway hinterlegt. Host: test3.freifunk-lippe.de

Passende Firmware-Images gibt es hier: https://my.hidrive.com/share/ndvhegpj13

Die Domänen 03 und 04 im Branch “testing” sind für die Konfiguration eingestellt.

Dir fehlt das batctl:

root@gw03_varus ~ # batctl -m bat03 o
-bash: batctl: Kommando nicht gefunden.

Da fehlt leider das x86-64-Target.

Wenn du das beides nachholst, schaue ich später gerne mal.

Das Target liefere ich nach.

Sollte batctl nicht automatisch mitinstalliert werden? Wie installiere ich die richtige Version manuell nach?

OK, ein

apt install batctl

hat es ihm besorgt. Die zusätzlichen Images sind auch online.

Eigentlich schon. Ist auf jeden Fall im Ansible drin.

Ne, jetzt hast du zwei nicht zusammen passende Versionen:

batctl debian-2014.3.0-2 [batman-adv: 2016.4]

Die beide auch noch veraltet sind.

Das haben wir drauf:

root@parad0x ~ # batctl -v
batctl 2017.4 [batman-adv: 2017.4]

Guck dir nochmal die Ansible-Rolle batman-build an. Die sollte das neueste installieren. Hast du die ausgeführt?

Ich habe an den Rollen nichts verändert. Wie prüfe ich das?

batctl ist wieder runter.

Du hast in den Hostvariablen deines GW03 die Batman-Version nicht definiert. Dadurch wird die Rolle gar nicht ausgeführt, Zeile 18.

Gleich nochmal die gateways.yml, die host_vars und die group_vars ab. Die muss man leider immer wieder anpassen, wenn wir neue Variablen einführen. Das ist etwas blöd. Man könnte etwas sauberer mit Standardparametern arbeiten. Da müssen wir uns noch verbessern.

Jetzt sehe ich es auch, danke! Ich rolle mal das Gateway neu aus und teste.

Jetzt ist die Rolle batman-build ausgerollt worden. Leider geht der Knoten immer noch nicht online.

Laut Syslog ist Ansible noch aktiv…

Bau mal die x86-64, dann schaue ich mal.

Bin gerade mit nochmaligem Ausrollen fertig geworden.

Das Image ist fertig.

1 Like

Da scheinen mir einfach andere Gateways hinterlegt zu sein:

tunneldigger.mesh_vpn.address='gw01.freifunk-lippe.de:20001' 'gw02.freifunk-lippe.de:20001'