IPv6 selber machen!

Nur weil die Provider (in diesem Fall meiner) sich schwer tun, heisst das ja noch lange nicht, dass man nicht selbst aktiv werden kann. Also ipv6 im eigenen Netzwerk einsetzen und Erfahrungen mit dem Betrieb und den Fallstricken sammeln. Und es hat außerdem den Vorteil, dass man den Igel-Effekt nutzen kann: wenn der Provider irgendwann mal umstellt und darüber informiert, kann man sagen, dass man schon da ist. :)

Wie geht das jetzt? Die einfachste und auch seit Jahren schon angebotene Variante ist ein 6to4-Tunnel. Der Tunnel ist eine IPv4-Punkt-zu-Punkt-Verbindung, in welchem die IPv6-Paket transportiert werden. So einen bekommt man bei einem Tunnelbroker, zum Beispiel bei SixXS oder Hurrican Electric. Den gibt’s da für lau nach persöhnlicher Registrierung. Mit der Registrierung bekommt man einen Account, mit welchem sich Tunnel erzeugen lassen. Im Fall von HE sind das 5 mögliche, allerdings können die nicht zum gleichen Endpunkt aufgebaut werden, sprich: für den eigenen Internetanschluss kann man auch nur einen Tunnel anlegen.

Da mein DSL-Router (eine gefritzte congstar-Box) zu alt für diesen Shice ist und offiziell kein v6 unterstützt, musste ein anderes Gerät diesen Job übernehmen. Gerade frisch in den Hausbestand an Rechen-Sklaven eingefügt, kann das doch (für die nächste Zeit) ein RaspberryPi machen. Diese Idee hatten auch schon andere vor mir, was also Erfolg verheisst. Auf dem Pi ist die v6-Unterstützung seit letztem Jahr standardmäßig aktiv und der Kleinrechner bekommt somit die Rolle des anderen Tunnelendpunktes zugeteilt und darf im Netzwerk für andere Rechner als v6-Gateway fungieren.

In die /etc/network/interfaces des Pi trägt man einfach die Tunneldaten ein und startet mit ifup das Interface. Auf der tunnelbroker-Webseite gibt es für die Einrichtung entsprechende Konfigurationsvorschläge für eine ordentliche Auswahl an Werkzeugen bzw. Betriebssystemen. Wenn alles richtig eingetragen wurde und keine Stolperfallen lauern, hat man ab dem Punkt schon mal einen funktionierenden v6-Tunnel (Test: ping6 ipv6.google.com). Eine Stolperfalle ist, dass es Router gibt, die solche Tunnel-Pakete ohne irgendwelche Spielereien mit forwarding direkt in das eigene Netzwerk weiterleiten. Hat man den nicht, stimmen zwar die Tunnel-Verbinungsdaten beim Tunnelbroker, aber man muss mehr Aufwand betreiben, um den Tunnel in das Netzwerk zu bekommen (zB. mit explizitem Forwarding oder einem Rechner in der DMZ, der als Tunnelendpunkt fungiert). Hat man allerdings einen Router der das Forwarding ohne weitere Maßnahmen selbst macht – meiner ist so einer – muss man bei den Tunnel-Verbindungsdaten die Adresse des internen Netzes des Rechners angeben. Die Tatsache des Weiterleitens der Tunnelpakete komplett vorbei an der üblichen Firewall auf dem Router fand ich überraschend.

Hat man jetzt einen Tunnel, möchte man natürlich auch, dass die anderen Rechner im Netzwerk diesen nutzen können. Praktischerweise bekommt man bei HE zu den Tunneldaten auch ein weiteres /64-Netz dazu. Die schnelle und wenig automatisierte Variante der Verteilung kriegt man erstmal damit hin, dass alle Rechner (auch der Tunnelendpunkt-Rechner, zusätzlich zur abweichenden Tunnel-IP) eine v6-IP dieses Netzes bekommen und eine Route, die auf den lokalen Tunnelendpunkt zeigt. Auf dem Tunnelendpunkt ist natürlich auch das forwarding einzuschalten. Dann braucht man noch einen DNS-resolver, der v6-Adressen auflöst und schon hat man ein komplettes Netz mit IPv6 über den Tunnel versorgt. (Quasi die Kurzfassung; nicht zu vergessen ist, dass man dann auch eine Brandmauer hochziehen sollte, um nicht jeden Schmutzfinken aus dem Netz einzuladen.)

Angenehmer Nebeneffekt des v6-Tunnels im Vergleich zu normalen DSL-Verbindung: bei HE-Tunnelverbindungen kann man einen Endpunkt bestimmen, der nicht im eigenen Land liegt, sondern zum Beispiel in Holland oder Großbritannien. Das verschont einen unter anderem vor dem bekloppten Sperren von Videos bei utube (natürlich über IPv6 erreichbar) wegen des GEMA-Streits. (ich bin gespannt, wie lange die das noch gestatten.) Ein weiterer Effekt ist, dass man schnellere Verbindungen zu einigen Webseiten hat und weniger Hops dahin nötig sind, bestenfalls sind Webseiten über reine v6-Verbindungen erreichbar, was sich zur Zeit quasi als Schnellstraße neben den dicken, aber doch verstopften v4-Datenautobahnen (jaja, unangenehmer Jargon :) äußert.