IPv6 ist das neue Internetprotokoll, mit 128 Bit Adressbereich.

----------------------------------------------------------------
|        prefix |  SLA-ID  |             interface-ID              |
----------------------------------------------------------------
|                                   128 bit                               |
|     48 bit  |   16 bit |             64 bit                  |

Die vergebenen / reservierten Präfixe sind in diversen RFCs beschrieben. Einige interessante bzw. wichtige sind:

Da es immernoch nur wenige Provider gibt, die native IPv6-Konnektivität anbieten, haben sie verschiedene Standards und Möglichkeiten gebildet diesen Misstand zu umgehen. Auf diesen Seiten habe ich die Möglichkeiten zusammen geschrieben, die ich nutze bzw. genutzt habe um am IPv6-Netz teilzunehmen.

6to4-Tunnel (http://en.wikipedia.org/wiki/6to4)

Ein einfacher Weg mit IPv6 zu experimentieren ist die Einrichtung eines 6in4-Tunnels. Hierbei richtet ein Dualstack-fähiger Router einen IP-Tunnel mit einem 6to4-Gateway ein. Zwischen den beiden Tunnelpartnern werden dann IPv4-Packete gesendet. In diesen IPv4-Packeten ist dann die eigentliche IPv6-Nutzlast eingepackt.

6to4-Setup

Meine ersten 6in4-Erfahrungen habe ich durch diesen Vortrag auf dem 19C3 gemacht.

6in4-prefix

Die ersten 16 Bit müssen "2002" sein. Dann folgt die globale IPv4-Adresse (32 Bit) in hexadezimaler Schreibweise. Der Doppelpunkt kommt natürlich zwischen zweitem und drittem IPv4-Octett.
Somit ergibt sich aus der IPv4-Adresse "194.29.229.78" folgendes IPv6-Netz: "2002:c21d:e54e::/48".

Sixxs - Tunnelbrocker

Wenn man jetzt das weit verbreitete Problem hat, dass sich die eigene IP-Adresse ständig ändert (DSL-Dialup-account mit Zwangstrennung), ergibt sich auch eine ständig wechselnde IPv6-Adresse wenn der "6to4-Prefix"-Ansatz verfolgt wird. Solche Wechselnden Adressen ist ja nicht dass was man man haben möchte. Meine Lösung dieses Problems habe ich beim Tunnelbrocker "Sixxs" gefunden. Die Leute bieten einen kostenlosen Service mit mehreren Pops weltweit an, der schon seit mehr als 5 Jahren verfügbar ist. Dort einen Tunnel zu bekommen ist recht einfach:

Die Anmelde- und Beantragungsprozeduren dauern schonmal ein paar Stunden, da die Angaben manuell auf Plausibilität überprüft werden. Diese Maßnahme dient der Vorbeugung von Missbrauch. Um ein möglichst stabiles IPv6-Netz zu errichten und eine möglichst viele IPv6-Hosts online zu halten, gibt's ein "Credit-System"; man bekommt Credits für aktive Tunnel, debugging und developing IPv6-stuff. Für neue Tunnel, Subnetze oder nicht erreichbare Tunnel werden Credits abgezogen (daher auch die Wartephase zwischen Tunneleinrichtung und Subnetzeinrichtung).

6-tunneling between two ipv4 hosts / nets

ip tunnel add uplink6 mode sit local 192.168.0.1 remote 192.168.15.2 ttl 255
ip link set uplink6 up
ip addr add 2002:c21d:e54e:0100::2/56 dev uplink6
ip route add ::/0 via 2002:c21d:e54e:100::1
ip tunnel add bernau6 mode sit remote 192.168.0.1 local 192.168.15.2 ttl 255
ip link set bernau6 up
ip addr add 2002:c21d:e54e:0100::1/56 dev bernau6

IPv6-Netze konfigurieren

SLA-ID (Site Level Aggregation-ID)

Diese 16 Bit werden durch den lokalen Netzadmin verwaltet. Das ist wohl meist die selbe Person, die auch den 6in4-Tunnel einrichtet ...
In meinem Setup habe ich die 16 Bit in zwei 8 Bit-Bereiche geteilt. Die ersten 8 Bit (Location-ID) zur Adressierung des per IPv6 verbundenen Netzwerkes. Die zweiten 8 Bit (Location-Net) dienen zur Identifizierung des Subnetzes innerhalb des mit den ersten 8 Bit angesprochenen Netzwerkes.

 Location   Location-Net   Bezeichnung 
 0x00 (000000002  0x00 (000000002  Berlin / ext IP 
 0x00 (000000002  0x80 (100000002  Berlin / wired-net 
 0x00 (000000002  0x81 (100000012  Berlin / wlan-IP 
 0x00 (000000002  0x90 (100100002  Berlin / DMZ 
 0x01 (000000012  0x00 (000000002  Bernau / public-IP 
 0x01 (000000012  0x80 (100000002  Bernau / wired-net 

interface-ID

Diese 64 Bit ergeben sich aus der MAC-Adresse bei der automatischen Konfiguration mittels "radvd-daemon".