Thread-Gerät erreicht den Server nicht: Thread ist nur IPv6
Ein Thread-Gerät kommt an einen IPv4-Dienst nicht heran. Thread spricht nur IPv6 – ohne Übersetzung endet die Verbindung am Border Router.
Aufwand:
ca. 20 Min.
Das Symptom
Das Thread-Gerät ist eingebunden, reagiert auf Schaltbefehle und meldet brav
seine Messwerte an den Hub. Nur eine Sache klappt nicht: Es soll einen Server
im Internet erreichen, ein Zeitsignal, eine Firmware-Prüfung, einen
Cloud-Endpunkt. Dort kommt nichts an.
Im Protokoll steht ein Verbindungsfehler ohne weitere Erklärung. Andere Geräte
im Haushalt erreichen genau dieselbe Adresse mühelos, das Internet funktioniert
also. Und der Funk ist es auch nicht, denn lokal reagiert das Gerät sofort.
Die „Layer 8“-Wahrheit
Ein Thread-Netz kennt kein IPv4. Nicht schlecht unterstützt, nicht abgeschaltet,
sondern gar nicht vorhanden. Wer nun einen Dienst ansprechen will, der nur unter
einer IPv4-Adresse existiert, hat ein grundsätzliches Problem: Es gibt schlicht
keine Adresse dieser Art, die ein Thread-Gerät verwenden könnte.
Gelöst wird das mit einem Übersetzer am Border Router. NAT64 ist ein Mechanismus,
der Hosts in reinen IPv6-Netzen den Zugriff auf IPv4-Ressourcen ermöglicht, und
der Border Router veröffentlicht dazu ein eigens gebildetes Präfix in den
Thread-Netzwerkdaten. Das Gerät setzt die IPv4-Adresse hinter dieses Präfix und
erhält so eine IPv6-Adresse, die der Übersetzer wieder auseinandernimmt. Was in
Wahrheit ein Trick mit Adressarithmetik ist, sieht für das Gerät aus wie ganz
normales IPv6.
Fehlt dieser Übersetzer oder ist er ausgeschaltet, dann fehlt kein Feature,
sondern die einzige existierende Straße. Das Gerät ist dann nicht kaputt, es
steht nur in einem Netz, aus dem es in diese Richtung keinen Ausgang gibt.
Die echte, verifizierte Lösung
1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:
1.
Feststellen, ob das Ziel überhaupt IPv4-only ist
Erreicht das Gerät andere Ziele und nur einen bestimmten Dienst nicht, ist die Wahrscheinlichkeit hoch, dass genau dieser Dienst kein IPv6 anbietet. Das grenzt das Problem sofort vom klassischen Funkproblem ab.
2.
Klären, ob der Border Router NAT64 überhaupt anbietet
Nicht jeder Border Router bringt einen Übersetzer mit. Ohne ihn gibt es aus dem Thread-Netz heraus keinen Weg zu einem reinen IPv4-Ziel, egal wie gut der Funk ist. Auf einem OpenThread Border Router lässt sich der Zustand direkt abfragen.
nat64 state
3.
Die Übersetzung einschalten, wenn sie vorhanden aber inaktiv ist
Ist die Funktion vorhanden, aber abgeschaltet, wird auch kein Präfix in den Netzwerkdaten veröffentlicht. Die Geräte können dann gar keine übersetzbare Zieladresse bilden.
nat64 enable
4.
Prüfen, ob Übersetzungen tatsächlich stattfinden
Läuft der Übersetzer, entstehen bei jeder Verbindung Einträge in einer Zuordnungstabelle. Bleibt sie leer, während das Gerät angeblich sendet, liegt der Fehler vor der Übersetzung und nicht dahinter.
nat64 mappings
5.
Namensauflösung mitdenken
Zur Übersetzung gehört auch die Antwort des Namensdienstes. Der Border Router bildet aus einer IPv4-Antwort eine IPv6-Adresse mit dem NAT64-Präfix. Zeigt ein Gerät einen Namensfehler statt eines Verbindungsfehlers, ist dieser Teil der Kette gestört, nicht die Funkstrecke.
Häufige Fragen (FAQ)
?Warum betrifft das nur Thread-Geräte und nicht meine WLAN-Geräte?
Weil ein Thread-Netz ausschließlich IPv6 kennt. Ein WLAN-Gerät bekommt in nahezu jedem Heimnetz eine IPv4-Adresse und redet damit direkt mit IPv4-Zielen. Ein Thread-Gerät hat diese Möglichkeit gar nicht. Es braucht am Border Router einen Übersetzer, der zwischen IPv6 und IPv4 vermittelt.
?Was genau übersetzt so ein NAT64-Übersetzer?
Er ist ein Gateway zwischen IPv6 und IPv4 und übersetzt laut OpenThread-Dokumentation TCP, UDP sowie ICMP beziehungsweise ICMPv6. Der Border Router veröffentlicht dafür ein eigenes Präfix in den Thread-Netzwerkdaten. Das Gerät baut daraus eine IPv6-Adresse, die den IPv4-Server meint, und schickt seine Pakete dorthin.
Belege
Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.
Seiten hängen erst und laden dann doch? Oft ist IPv6 halb konfiguriert: Der Rechner versucht es zuerst, wartet ins Leere und fällt spät auf IPv4 zurück.