Dienstag, 3. Februar 2009

Mobiles IPv6

Neulich bin ich mal dazu gekommen, getunneltes IPv6 im Mobilfunk auszuprobieren, mit T-Mobile und E-Plus.

T-Mobile gibt einem freundlicherweise eine öffentliche Adresse, so das 6to4 in Frage kommt. Konfigurieren, und es tut. Ein Ruby-Script, das die drei Zeilen zur Konfiguration ausspuckt (unter Linux). Und es funktioniert dann auch. Getestet mit CSD-Verbindung, weil T-Mobile 'Eco'-GPRS unglaublich teuer ist und meine normale Mobilanbindung via E-Plus läuft.

E-Plus: Genattete RFC1918-Adresse, so daß 6to4 nur in Frage käme, wenn E-Plus das auf dem NAT-Gateway implementiert: Träum weiter. Wenn sie das täten, könnten sie auch gleich richtige v6-Connectivity implementieren.

Nächste Wahl: Teredo, in der Linux-Inkarnation miredo. Das kommt mit NAT klar (und gibt einem dafür nur eine v6-Adresse statt einem ganzen /48 wie bei 6to4). Braucht ein bischen Treten, bis es aus den Quellen gebaut und übersetzt ist, ein MAKEDEV dazu, und es tut. ssh nach irgendwo.v6 funktioniert; dafür macht sich die Aussetzernatur von GPRS bemerkbar, und miredo murmelt was von Timeouts. Probiert (natürlich) einschließlich Download der Quellen im fahrenden Zug.

Im nächsten Versuch klappt das dann besser, jedenfalls bleibt es stabil und wirft keine Timeouts. Dann mal in einem genatteten und verfeuerwandeten Hausnetz probiert; dort kamen die UDP-Pakete, mit denen Teredo tunnel, aber nicht durch, und kein Tunnel zustand. Das Dumme: Seitdem wirft Teredo mir immer an den Kopf, daß es libteredo nicht initialisieren kann, auch nach Reboots. Autsch. Ich weiß nicht mal, wo es Dateien hinterlassen kann, oder woran das sonst liegt.

Damit wird's dann noch wünschenswerter, GPRS/UMTS via T-Mobile zu machen... (Die Fonic-Geschichte war da eher ein Ausrutscher.)

Update: miredo war ein partielle PEBKAC. Ich hatte den lokalen Port auf 53 eingestellt, und irgendwie mochte Linux den daraus resultierenden lokalen Port (18...) nicht binden, obwohl da nichts im Weg war. Mit dem Default ging es dann wieder, und mit einem im Code hochgesetzten Timeout funktioniert das Ganze auch im Zug besser.

Keine Kommentare: