IPv6-Internetzugang

Seite 3: Fallstricke

Inhaltsverzeichnis

Die Sixxs-Website zeigt im unteren Bereich an, ob man per IPv4 oder übers IPv6-Netz surft – samt IP-Adresse und Whois-Anfrage, die den Besitzer der Adresse identifiziert.

Nachdem aiccu den Tunnel aufgebaut hat, zeigt die Web-Seite www.sixxs.net/main, ob man per IPv4 oder IPv6 unterwegs ist. IPv6-taugliche Anwendungen wie Firefox oder der IE 7 suchen sich zuerst per IPv6 den Weg, sofern man diese Fähigkeit nicht abgeschaltet hat. Auf einem Windows XP funktionierte das auf Anhieb, ein Debian-Rechner mit dem Kernel 2.6.20 benötigte jedoch noch etwas Nachhilfe.

Die von aiccu gesetzte Default-Route auf das Tunnel-Interface scheint dem IPv6-Stack des Linux-Kernels nicht zu reichen – er verweigerte jegliche Netzwerkverbindung. Das erwünschte Ergebnis brachte erst eine zusätzliche Route auf das Präfix 2000::/3, die man als Root-Benutzer mittels ip -6 route add 2000::/3 dev sixxs hinzufügt. Das Präfix 2000::/3 bezeichnet alle momentan nutzbaren, also nicht durch die Internet Engineering Task Force reservierten IPv6-Unicast-Adressen.

Die gesamte aktuelle Routing-Tabelle zeigen unter Linux die Befehle route -6 oder ip -6 route list an, auf der Windows-Eingabeaufforderung erledigt das Kommando route PRINT -6 die gleiche Aufgabe.

Soll der Sixxs-Tunnel automatisch unter Debian oder einem seiner Abkömmlinge starten, bindet man aiccu in die Netzwerk-Skripte unterhalb von /etc/network ein. Der Sixxs-Client aiccu muss dabei als Daemon arbeiten, was der Eintrag daemonize true in der Datei /etc/aiccu.conf erzwingt. Anschließend erstellt man einen neuen Eintrag in der Datei interfaces:

iface sixxs inet6 manual
up /etc/init.d/aiccu start
post-up ip -6 route add 2000::/3 dev sixxs
pre-down ip -6 route del 2000::/3 dev sixxs
down /etc/init.d/aiccu stop

Ein vollständiges Beispiel und weitere Skripte für die Einrichtung finden Sie in dieser Zip-Datei, weitere Details zu Debian-Netzwerkeinrichtung verraten die Manualpage von ifupdown und der Artikel Spurenleser.

Bislang gibt es nur wenige Provider, die einen IPv6-Zugang für Privatkunden anbieten. Dazu gehören in Deutschland Titan-DSL, Tal.de und Spacenet, die alle eine T-DSL-Leitung voraussetzen. Tal.de erklärte der c’t allerdings, dass das Unternehmen für Geschäftskunden auch SDSL-Zugänge über Leitungen von Arcor, QSC und Telefonica mit IPv6 versorgen kann. Andere große DSL-Anbieter wie Arcor und Hansenet oder Mobilfunk-Provider wie Vodafone und E-Plus bekunden bislang nur Interesse an dem neuen Protokoll, Angebote haben sie aber noch nicht im Programm.

Wir nutzen für die Tests einen Zugang des DSL-Providers Titan-DSL, dessen IPv6-Zugang über jede T-DSL-Leitung funktioniert und ohne IPv4 auskommt. Neben Benutzernamen und Passwort erhält man außerdem ein IPv6-Netzwerk-Präfix, das Titan-DSL auf die Einwahlverbindung routet. Benutzern von Windows XP bleibt die IPv6-Einwahl verwehrt: Der IPv6-Stack von XP arbeitet über Ethernet oder Tunnel, versteht sich jedoch nicht mit Einwahlverbindungen. Microsofts neustes Kind Vista, die verschiedenen Linux-Distributionen und andere Unixe wählen sich jedoch mit Bordmitteln ein.

Linux nutzt für die Einwahl den Point-to-Point-Protocol-Daemon pppd und den PPP-over-Ethernet-Client pppoe, die allen modernen Distributionen beiliegen. Zugangsdaten wie DSL-Benutzername und Passwort hinterlegt man in der Datei /etc/ppp/pap-secrets. Die DSL-Zugangsparameter nimmt die Datei /etc/ppp/peers/dsl-provider auf, aus der das Kommando pon per Vorgabe seine Einstellungen liest. Besitzt man mehrere DSL-Zugänge, legt man unterhalb von /etc/ppp/peers eine zusätzliche Konfigurationsdatei an – beispielsweise dsl-v6. Diese Datei enthält neben den üblichen Einstellungen für die Verbindungssteuerung (mtu, mru, persist) die Optionen noip und +ipv6, die IPv4 ab- und IPv6 anschalten:

pty "pppoe -I eth0 -m 1404 -U "
linkname default0
noip
defaultroute
...
+ipv6 ipv6cp-use-ipaddr
debug

Möchte man sich mit diesen Einstellungen einwählen, ruft man pon mit dem Dateinamen dsl-v6 als Parameter auf. Bei Titan-DSL erhält der Einwahlrechner im Unterschied zu einer Einwahl über IPv4 keine IPAdresse vom Provider zugewiesen, was man dem PPP-Daemon mit der Option noip mitteilt. Die lokalen Adressen setzt man stattdessen per Skript: Liegt es unterhalb des Verzeichnisse /etc/ppp/ipv6-up.d, startet der pppd es bei der Einwahl automatisch.

#!/bin/sh
PPP_IFACE="$1"
PRG="/sbin/ip -6"
IPV6ADDR=2001:db8::1/48
$PRG addr add $IPV6ADDR dev $PPP_IFACE
$PRG route add default dev $PPP_IFACE
$PRG route add 2000::/3 dev $PPP_IFACE

Das Skript verpasst dem PPP-Interface eine global gültige IPv6-Adresse und legt eine Default-Route auf das PPP-Interface sowie eine Route auf das IPv6-Präfix 2000::/3. Der pppd-Daemon übergibt dem Skript außerdem einige Parameter, von denen hier nur der Interface-Name PPP_IFACE wichtig ist.