IPv6: Eine Bestandsaufnahme

Netz der Zukunft

,
Im Folgenden nehmen wir IPv6 nach der Sendepause noch einmal neu aufs Tablett und sehen, ob man damit inzwischen auf Applikationsebene machen kann und was man dazu braucht.

IPv6 ist ein Thema, dessen sich vor sieben Jahren zuerst die Geeks und die Presse angenommen haben. Nach kurzer Zeit war Linux und fast alle freien Applikationen IPv6-ready mit einigen wenigen ungelösten Problemen. Als sich danach die Analysten dem Thema zuwandten, errechneten sie, dass es keinen monetären Vorteil bringt, und es wurde wieder still um die IP-Technologie des 21. Jahrhunderts.

Jetzt gerät es zusehends wieder mehr in den Fokus, da sich Regierungen und politische Organisationen darüber einig sind, dass sie IPv6 haben wollen, und zwar schnell. Nach Möglichkeit soll es bis Juli 2008 schon die erste produktiven reinen IPv6-Netzwerke geben. Eine gute Quelle ist hier die Government Computer News (GCN), die regelmäßig über IPv6 berichtet [1]. Regierungen und politische Institutionen sind natürlich große Kunden, die einerseits ein großes monetäres Volumen für Hersteller, Consultants und Contractors darstellen, andererseits sind solche Namen in der Kundenkartei natürlich auch Aushängeschilder und Referenzen. Die Regierungen hoffen, dass diese Vorbildwirkung den Stein in Richtung IPv6 bald endgültig ins Rollen bringt.

Egal, wie man nun dazu steht, sicher ist, dass IPv6 nicht mehr verschwinden wird. Erst vor wenigen Monaten, im August 2007, hat die IETF die Entwurfsversion eines Migrationsplans [2] aktualisiert und schreibt, dass die Migrationsphase von Januar 2010 bis Dezember 2011 stattfinden wird (Abbildung 1). Dies bedeutet auch, dass am Ende dieses Zeitraums alle Internet-Provider IPv6-Konnektivität für ihre Kunden bieten müssen.

Abbildung 1: Der Migrationsplan sieht die endgültige IPv6-Migration zwischen 2010 und 2011 vor.

IPv6 in der Praxis

Die meisten Linux-Distributionen bringen heute IPv6-Support auf Betriebssystem- und Anwendungsebene mit. Bei machen Anwendungen ist aber nötig, IPv6 zum Beispiel in einer Konfigurationsdatei noch zu aktivieren. So benötigt der Nameserver BIND in den meisten Fällen noch die Zusatzoption »listen-on-v6 { any; };« in der »named.conf« . Auch Sendmail muss über »sendmail.cf« mitgeteilt bekommen, dass der Client wie auch der Daemon auf einer definierten IPv6-Adresse lauschen sollen (bei den Optionen »ClientPortOptions« und »DaemonPortOptions« die Address Family »inet6« eintragen).

Prinzipiell ist damit zu rechnen, dass heute auch ohne Handarbeit die meisten Linux-Hosts, wie auch Mac OS X und Windows Vista, und Open-Source-Applikationen IPv6 nach dem ersten Booten unterstützen. In der Praxis ignorieren viele Administratoren das und lassen IPv6 unkontrolliert und unadministriert weiter laufen. Die Konsequenz ist ein nicht administrierter TCP/IP-Protokollstack im Netzwerk, durch die Sicherheitsbrille betrachtet eine Katastrophe. Nach Meinung der Autoren ist es besser, IPv6 zu akzeptieren und es richtig zu administrieren.

Mit IPv6 umgehen

IPv6 heißt zuerst einmal viel tippen. IPv4-Adressen sind mit wenig Übung einfach zu merken, bei IPv6-Adressen wird es trotz möglicher Kurzschreibweisen (siehe Kasten "IPv6 kurz und gut") und unveränderlicher Prefixe schon schwer. Um sich die Arbeit mit IPv6 zu erleichtern, ist es hilfreich so früh wie möglich mit Namens- und Directory Services zu arbeiten. Für die ersten Gehversuche in Testumgebungen ist die Datei »/etc/hosts« das richtige Instrument. Ziemlich schnell braucht man dann aber einen IPv6-Nameserver, der zumindest die normale Vorwärtsauflösung (Name zu IPv6-Adresse) beherrscht. Funktioniert das, ist natürlich noch die Rückwärtsauflösung zu konfigurieren.

IPv6 kurz und gut

Es gibt zwei Methoden, die sonst sehr langen IPv6-Adressen so abzukürzen, dass sie immer noch eindeutig sind: Man kann einzelne oder mehrere führende Nullen zusammenfassen und nicht ausschreiben. Jede IPv6-Adresse besteht aus acht hexadezimalen Integer-Zahlen, die durch Doppelpunkte voneinander getrennt sind. Befindet sich zum Beispiel innerhalb zweier Doppelpunkte die Zahl »:0090:« , ist die Kurzschreibweise »:90:« . Wenn sich zwischen zwei Doppelpunkten nur Nullen befinden »:0000:« , kann man diese auch gleich ganz weglassen. So wird zum Beispiel aus »2001:0000:0000:0090:00AD:0000:1234:abcd« die »2001::90:AD: 0000:1234:abcd« . Um die Eindeutigkeit zu wahren, ist die letzte Gruppe Nullen abkürzbar. Sonst wäre nicht mehr klar, welche Abkürzung (das heißt »::« ) mit wie vielen Nullen aufzufüllen ist.

Die zweite Methode ist, das im eigenen Netzwerk immer gleich bleibende Präfix einmal zu definieren und im Folgenden nicht mehr mitzuführen. Das spart ungefähr die Hälfte an Tipparbeit. Am obigen Beispiel könnte das Präfix zum Beispiel »2001:0000:0000:0090::/60« sein. Wenn man vom ISP ein /60-Subnet erhalten hat, wird sich im eigenen Netzwerk dieses Präfix nie ändern, man kann es also in Applikationen einmal definieren und danach weglassen. Der Verwalter eines IPv6-Nameservers würde dieses einmal definieren und im Folgenden nur noch mit den verbleibenden vier hexadezimalen Integer-Zahlen arbeiten. Auch in internen Netzplänen, in der Dokumentation oder in Korrespondenz kann man sich dieses Präfix sparen.

Zurzeit beginnen die meisten IPv6-Adressen mit »2001:« , wenn es native IPv6-Adressen sind oder mit »2002:« wenn sie aus IPv4 konvertierte IPv6-Adressen sind. Die Deutsche Telekom AG hat den Adressblock »2003::/19« zugewiesen bekommen. Es gibt Wege, für den Übergangszeitraum aus einer IPv4-Adresse eine eindeutige IPv6-Adresse zu berechnen. Wichtig für den Administrator ist hier nur zu wissen, dass er einer IPv6-Adresse, die beispielsweise mit »1972:« beginnt, kritisch begegnen muss.

Alles automatisch

In der Theorie muss der Admin bei IPv6 nur den Router eines Netzwerkes mit den IPv6 Interface Identifiern (sprich den EUI-64-Adressen) konfigurieren und kann dann loslegen. Alle Clients, die mit einem solchen Netzwerk verbunden werden, konfigurieren ihre IPv6-Adresse und die Router-Adresse (über Neighbour Discovery, ND und Router Advertisements, RA) automatisch. Ein DHCP-Server ist nicht notwendig. Diese Methode heißt Stateless Autoconfiguration.

Mit einem so entstandenen Netzwerk ist leider wenig anzufangen, da keinerlei Namensauflösung existiert. Die IPv6-Adresse des Name Servers konfiguriert sich nämlich nicht automatisch. Das setzt Stateful Autoconfiguration voraus. Hinter diesem Wort verbirgt sich in der Praxis ein DHCPv6-Server, der Name Server und andere DNS-Optionen (zum Beispiel TFTP-Server für VoIP und so weiter) an die Clients kommuniziert.

Verschiedene Vorschläge Entwurfstadium versuchen dies zu verbessern, zum Beispiel die Konfiguration des DNS-Servers über Router Advertisements oder das Verwenden bekannter Anycast-Adressen (RFC 4339). Bisher ist aber keiner davon in die Praxis umgesetzt. In den in der Praxis gängigen Dual-Stack-Umgebungen (IPv4 und IPv6, Abbildung 2) führt das Unvermögen, den Nameserver bei Stateless Autoconfiguration zu finden, bisher zu keinem Problem, da ja jeder Host einen IPv4-Nameserver konfiguriert hat, der auch mit IPv6 Address Records antworten kann. Auf lange Sicht nimmt dieses Problem, wenn es nicht bald gelöst wird, den IPv6-Netzwerken aber viel von Ihrer Eleganz. Generell wird es künftig wohl so aussehen, dass alle Server eine fest eingetragene IP-Adresse haben und die Clients sich alle stateless selber konfigurieren.

Abbildung 2: Wohl für längere Zeit der Standard: Eine Dual-Stack-Umgebung, die IPv4 und IPv6 unterstützt.

Kommentare

Recycing lebt vom Mittmachen ;-) Wo wurde der Artikel denn ausgegraben? (kT)

kein Text

comments powered by Disqus

Artikel der Woche

Loadtests ohne Server

Für Loadtests der eigenen Server bietet sich die Cloud an, denn kurz getaktet lassen sich dort viele Rechnerinstanzen starten, die das eigene Budget nur wenig belasten. Noch flexibler, günstiger und besser skalierbar sind Tests mit einer Serverless-Infrastruktur wie AWS Lambda. Wir führen vor, wie Sie dort mit Serverless Artillery eigene Loadtests starten. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018