IPv6-Zugang fürs LAN nachrüsten

Seite 5: IPv6-Dongle

Inhaltsverzeichnis

Wie auch der DSL-Zugang sollte ein IPv6-Tunnel möglichst jederzeit laufen. Dazu eignet sich ein einfacher Linux-Router mit OpenWRT besser als ein Linux-Desktop-PC.

Die Einrichtung eines IPv6-Tunnels unterscheidet sich unter OpenWRT allerdings von der unter einem Standard-Linux. Die allermeisten Programme konfiguriert dort entweder die Web-Oberfläche luci oder das Konsolenkommando uci, das sich um die Verwaltung von Einrichtungsdateien unterhalb von /etc/config kümmert.

Nach der erstmaligen Installation arbeitet OpenWRT als IPv4-Router, der im LAN IPv4-Adressen per DHCP verteilt, das LAN mit einer IPv4-Firewall abschottet und sich über die WAN-Schnittstelle ins Internet verbindet. Das Root-Passwort lässt sich dabei per Telnet oder über die Web-Oberfläche setzen.

Daher hängt man den OpenWRT-Router mit seiner WAN-Schnittstelle ins bestehende lokale Netz, in dem der vorhandene Router IPv4-Adressen per DHCP verteilt. Über einen Rechner an den LAN-Ports des OpenWRT-Routers verbindet man sich nun per SSH zum Gerät, das auf die IPv4-Adresse 192.168.1.1 lauscht.

Nach dem Login deaktiviert man zuerst die IPv4-Firewall über die Befehle /etc/init.d/firewall stop und /etc/init.d/firewall disable – letzter verhindert den Start der Firewall beim nächsten Bootvorgang. Da der auf OpenWRT laufende DHCP-Server dnsmasq nur auf den zum Einrichten genutzten LAN-Schnittstellen lauscht, muss man ihn nicht zwingend abschalten.

Als nächstes aktualisiert der Befehl opkg update die OpenWRT-Paketdatenbank. Anschließend installiert opkg install radvd gw6c ip6tables alle nötigen Pakete, Abhängigkeiten wie Kernelmodule installiert opkg automatisch mit.

Dank seiner Unterstützung für das Tunnel Setup Protocol benötigt der Gogo6-Client gw6c nur Angaben zur Benutzerkennung und zum Einwahlserver:

uci set gw6c.basic.server=authenticated.freenet6.net
uci set gw6c.basic.auth_method=any
uci set gw6c.basic.userid=GOGO6-BenutzerID
uci set gw6c.basic.passwd=GOGO6-Passwort
uci set gw6c.basic.disabled=0

Damit gw6c den für IPv6-Routing zuständigen radvd automatisch einrichtet, muss er jedoch als Router laufen (host_type) und die Präfixlänge sowie die Schnittstelle fürs lokale Netz kennen. Das LAN hängt bei dieser Einrichtung abweichend an eth0.2, der sonst fürs Internet zuständigen WAN-Schnittstelle.

uci set gw6c.routing.host_type=router
uci set gw6c.routing.prefixlen=56
uci set gw6c.routing.ifprefix=eth0.2

Die mit uci gesetzten Werte speichert OpenWRT nicht sofort. Über den Befehl uci changes gw6c lassen sich alle Änderungen überprüfen und notfalls mit uci revert gw6c auf die Ausgangswerte zurücksetzen. Erst die Eingabe von uci commit gw6c sichert alles in die Datei /etc/config/gw6c.

Nach diesen Vorbereitungen startet man den Tunnel mit /etc/init.d/gw6c start, was gleichzeitig die Einrichtung und den Start von radvd anstößt. Der Befehl /etc/init.d/gw6c enable registriert den Tunnel-Client im Startsystem, sodass der Tunnel sofort beim Booten aufbaut wird.

Für die Einrichtung eines Sixxs-Tunnels sind einige Schritte mehr nötig: Den Tunnel-Client aiccu samt radvd installiert das Kommando opkg install aiccu radvd. Anschließend setzen folgende Befehle die bereits genannten Einrichtungsparameter:

uci set aiccu.@aiccu[0].username=SIXXS-Username
uci set aiccu.@aiccu[0].password=SIXXS-Passwort
uci set aiccu.@aiccu[0].tunnel_id=TXXXX
uci set aiccu.@aiccu[0].protocol=tic
uci set aiccu.@aiccu[0].server=tic.sixxs.net
uci set aiccu.@aiccu[0].interface=sixxs
uci set aiccu.@aiccu[0].defaultroute=1
uci set aiccu.@aiccu[0].nat=1
uci set aiccu.@aiccu[0].heartbeat=1

Auch den fürs IPv6-Routing zuständigen radvd füttert man über uci mit Optionen wie der LAN-Schnittstelle und dem eigenen vom Sixxs zugewiesenen Präfix:

uci set radvd.@interface[0].interface=wan
uci set radvd.@interface[0].AdvSendAdvert=1
radvd.@interface[0].ignore=0
uci set radvd.@prefix[0].interface=wan
uci set radvd.@prefix[0].prefix=2001:db8::/64
uci set radvd.@prefix[0].AdvOnLink=1
uci set radvd.@prefix[0].AdvAutonomous=1
uci set radvd.@prefix[0].AdvRouterAddr=0
uci set radvd.@prefix[0].ignore=0
uci set network.wan.ip6addr=2001:db8::1/64

Als Netzwerk-Interface für das LAN können Sie hier einfach „wan“ eintragen, die OpenWRT-Startskripte für radvd ermitteln daraus den tatsächlichen Schnittstellennamen (eth0.2). Wie auch bei den anderen Beispielen müssen Sie hinter uci set radvd.@prefix[0].prefix= auf jeden Fall Ihren vom Sixxs zugewiesenen Präfix eintragen. Zusätzlich braucht das fürs LAN zuständige Interface (network.wan.ip6addr) eine IPv6-Adresse. Die Befehle uci commit aiccu und uci commit radvd speichern die Eingaben im System. Mit den beiden Kommandos /etc/init.d/aiccu enable und /etc/init.d/radvd enable starten beide Programme beim nächsten Booten automatisch – für den sofortigen Start ersetzt man „enable“ durch „start“.

Übrigens verkauft der Tunnelbroker Gogo6 solch einen Adapter respektive IPv6-Router für stolze 100 US-Dollar plus 20 US-Dollar Versand. Angesichts des Preises und der langen Lieferzeit dürfte jedoch ein selbst gebautes Gerät die bessere Wahl sein, um die Zeit bis zur Einführung echter nativer IPv6-DSL-Zugänge zu überbrücken.

(rek)