IPv6 BIAS

Sucht man im Internet nach IPv6 trifft man nicht selten auf folgende Beiträge:

  • Wie deaktiviert man IPv6
  • Schlechte Erfahrungen mit IPv6
  • Vermeintlich unvollständige Implementierungen von IPv6
  • Konzeptschwächen von IPv6
  • Mangelnde Notwendigkeit für IPv6
  • Menschen, die sich von IPv4 nicht trennen können, sowie
  • Hinweise auf Inkompatibilitäten von Firmware sowie Software zu IPv6

Sieht man sich die Adaptionsrate von IPv6 seit etwa 2012 an, stellt man ein etwa lineares Wachstum auf zur Zeit ca. 45% fest. Dennoch hätte man eigentlich jetzt schon bei 80-90% sein müssen.

Es verhält sich bisher mit dem Internet und IPv4 so, wie mit Deutschland und dem Faxen.

Spekulationen über die schwache Annahme

Einer der Hauptgründe für die schlechte IPv6 Adaptionsrate ist nach meiner Erfahrung reine Ignoranz. Tatsächlich gibt es noch haufenweise Menschen, die direkt oder indirekt mit Computernetzenwerken zu tun haben und garnichts von IPv6 wissen. Noch häufiger scheinen jedoch Menschen zu sein, die nichts von v6 wissen wollen. So werden neue Internetanwendungen in Betrieb genommen oder sogar Multiplayer AAA Titel, die 0% IPv6 support erfahren. Neue Rechenzentren werden aufgebaut, ohne IPv6 support. Neue Firmen nehmen ihren Betrieb auf und ihr Netzwerk hat keinerlei IPv6 support.

Der Ereignishorizont

Warum jedoch ist es so problematisch, wenn Menschen an ihrem Router IPv6 ausschalten, oder man es eben einfach nicht implementiert. Das Hauptproblem ist dabei die Inkompatibilität zwischen IPv4 und IPv6. Internetteilnehmer ohne IPv6 Konntektivität können nicht mit Teilnehmern kommunizieren, die nur auf IPv6 laufen. Damit wiederrum die Implementierung von IPv6 only Diensten im Internet funktionieren kann, wird eine hohe Adaptionsrate bei IPv6 vorausgesetzt. Da fragt man sich zurecht, welcher Wahnsinnige nutzt denn kein IPv4? Meine Einschätzung dazu lautet: Jeder will tendenziell ein IPv6 only Netz betreiben. Die Alternative dazu ist Dual Stack Betrieb. Auch wenn dieser durchaus funktioniert, handelt es sich dabei um eine Zwischenlösung. Der Dual Stack Betrieb eines einfachen Heimnetzes ist wirklich zumeist völlig unproblematisch und auch kaum aufwändiger. In Firmennetzen oder überall dort wo Server und Firewalls betrieben werden sieht die Sache jedoch völlig anders aus. Je größer das Netz, desto antiproportional größer ist der Zusatzaufwand. Deswegen kann langfristig das Ziel nur ein Single Stack IPv6 only Betrieb sein. Dies sollte im Idealfall von jedem Unternehmen auch genau so projektiert werden. Allerdings fehlt dazu meistens sowohl Erfahrung als auch das Wissen.

Schwache Argumentationen

Befragt man über Suchmaschinen das Internet über IPv6 so erhält man vor allen Dingen in Foren massenweise Aussagen von selbsternannten Fachleuten. Man hat IPv6 aktiviert und das gab nur Probleme. Das ist natürlich im Einzelfall durchaus möglich, jedoch niemals ein Grund es wieder zu deaktivieren. Man redet dort über Sachverhalte und irgendwelche dahergelaufenen Fritzbox-ich-bin-jetzt-ein-Netzwerkspezialist-Typen sind der Meinung die versammelte Mannschaft des Internet müsste am besten ihre persönliche Ansicht zu IPv6, Dingen wie NAT, Firewalls und Sicherheit kennenlernen. Tatsächlich scheint die Masse jener, die IPv6 ablehnen tatsächlich eine relative breite Masse abzubilden, zumindest weil sie sehr laut sind. Davon darf man sich jedoch nicht blenden lassen. Meiner Erfahrung nach sind so gut wie alle Argumente gegen IPv6 entweder einfach falsch oder einfach zu entkräften. Deswegen möchte ich die größten Irrtümer zu IPv6 hier versuchen klarzustellen, so dass in Zukunft sachlichere und mehr auf fakten basierende Unterhaltungen geführt werden können.

IPv6 Adressen kann man sich nicht behalten

Ein häufig genanntes Vorurteil ist IPv6 sei zu unhandlich und kompliziert Die Adressen wären so lang und schwierig zu behalten.. Außerdem ist man Dezimalschreibweise sowie vier von Punkten getrennte Elementee gewöhnt. Bei IPv6 findet man nun jedoch bis zu 8 Bereiche durch Doppelpunkte getrennt sowie hexadezimale Schreibweise. Ein paar Beispiele:

IPv4

10.123.1.22/24
127.0.0.1
169.224.128.232

IPv6

2a00:f28:3da1::a/64
fe80::1
fd01:4dd0:28d4:7337::b65/128
2001:4dd0:1220:7337:fca1:8d11:ca20:c6a8/64

Natürlich springt vor allen Dingen diese lange Adresse hier erstmal ins Auge und man will meinen:

Ja, das sieht aber wirklich etwas heftig aus.

Nein. Gerade die zuletzt genannte Adresse ist eine automatisch konfigurierte Adresse, wie die /128 Adresse darüber übrigens auch. Die lange Adresse ist per IPv6 autoconf (SLAAC) konfiguriert, die /128er Adresse über DHCPv6. Mit diesen langen SLAAC Adressen hat man nicht wirklich zu tun. Natürlich merkt man sie sich nicht, es gibt jedoch auch keine Notwendigkeit dazu. Zunächst einmal gibt es natürlich DNS, das ist heute auch in automatisch konfigurierten Heimnetzwerken fest mit eingebaut. Nutzt man OpenWrt, gibt man lediglich an welchen Domainnamen man verwenden möchte und automatisch sind die Hosts über einen DNS Namen erreichbar. In Umgebungen mit Fritzbox, pfSense oder OPNsense verhält es sich genau so. Selbst wenn man DNS aus unerklärlichen Gründen nicht nutzen möchte und darauf besteht IP Adressen zu benutzen, so kann ich aus jahrelanger Erfahrung sagen. Es funktioniert, aber ist immer nur eine vorrübergehende Angelegenheit, wenn man mal ein Testsystem hat oder dergleichen. Zu behalten sind im Prinzip nur der Bereich der ersten vier Elemente + den identifizierenden Teil des Computers.

Die Netzwerkadresse (Network Portion) 2a00:f28:3da1:4a:: Dein Computer (Interface Identifier) ace

Hat man nun das Glück über einen statischen Präfix zu verfügen wird es einfacher, bei einem dynamischen Präfix würde sich die 4a immer wieder zu einem anderen Wert ändern. Die ersten drei Abschnitte davor bleiben gleich. Gerade in Netzen mit dynamischen Präfixen ist die Notwendigkeit sich IP Adressen zu merken höchst selten gegeben. Bleiben wir jedoch erstmal im Heimnetzwerk. Dort werden eben diese langen IP Adressen über autoconf generiert. Das ist gut so und sollte nicht verändert werden. Die daraus resultierenden Adressen kann man getrost ignorieren. Man kann jedoch zusätzlich DHCPv6 Adressen setzen lassen, was ich in den meisten Fällen auch empfehlen würde. Dadurch entstehen Adressen, die sich einfach behalten lassen.

Zusätzlich zu einer solchen automatisch generierten, sehr langen Adresse, erhält man zusätzlich am Endgerät auch noch eine kürzere, meist merkbare Adresse. Hier kann man ähnlich wie bei IPv4 DHCP auch statisch zuordnen, so dass ein Host immer die gleiche Adresse erhält.

2001:4dd0:1220:7337:fca1:8d11:ca20:c6a8
2001:4dd0:1220:7337::a

Die untere Adresse kann man sich mit etwas Übung einfach behalten.

IPv6 wäre unsicher

Diese Argumentation bezieht sich meistens auf den folgenden Aspekt. Da man in einem IPv6 Netzwerk über genügend öffentliche IP Adressen verfügt, werden Teilnehmer eben mit solchen IP Adressen ausgestattet. Dies bereitet einigen Menschen - zu Unrecht - unbehagen. Zunächst einmal war das Internet immer schon so konzipiert, dass jeder Teilnehmer eine öffentliche IP Adresse erhält. Das ist prinzipiell auch notwendig, denn nur mit öffentlichen Adressen lässt sich überhaupt erst eine Verbindung aufbauen. Nun ist jedoch der IPv4 Adressbereich mit seinen rund 4 Milliarden IP Adressen einfach viel zu klein bemessen um jeden Teilnehmer mit einer solchen Adresse auszustatten. Deswegen bedient man sich schon seit Jahrzehnten der Network Adress Translation (NAT) bzw. des IP Masqueradings. Dies ist ein Workaround um eben dieses Problem der mangelnden IP Adressen zumindest teilweise zu beseitigen. Tatsächlich sind diese Methoden jedoch problematisch und zwar aus mehreren Gründen.

Punkt-zu-Punkt Kommunikation

Auch hier sei gesagt das Grundkonzept der Funktionsweise von IP basierter Internet Kommunikation ist die Punkt-zu-Punkt (oder auch Point-to-Point) Kommunikation. Es bedeutet, dass Teilnehmer einer Datenkommunikation direkt miteinander kommunizieren, eben Punkt zu Punkt. Durch Techniken wie IP Masquerading zerstört man dieses Konzept jedoch. In heutigen Heimnetzen hat man zumeist eine öffentliche IP Adresse nur noch am Router, anstatt am Endgerät. Das führt dazu, dass Kommunikation nur noch in eine Richtung aufgebaut werden kann. Konkret heißt das: Ein Teilnehmer im Heimnetz kann einen Server im Internet kontaktieren. Anders herum ist es jedoch nicht möglich. Das ist in den meisten Fällen nicht wirklich problematisch. Rein technisch zerstört es allerdings das Punkt-zu-Punkt Konzept, was sowohl aus sicherheitstechnischen Aspekten kritikwürdig ist aber auch aus einer funktionalen Sicht. Diese NAT uns Masquerading Techniken sorgen nämlich im Alltag des Internets immer wieder für Probleme. Ein Bereich ist die IP Telefonie. Der Klassiker ist das sogenannte One-way-Audio Problem. Bei einem Telefonat wird der Audio Datnestrom nur in eine Richtung erfolgreich übertragen. Das Ergebnis: Teilnehmer A hört B. Teilnehmer B hört A nicht. Es gibt zahlreiche weitere Fälle zum Beispiel beim Spielen von Multiplayer Spielen. Dort gibt es Spiele auf Konsolen, die kann im Internet immer nur eine Person spielen. Kommt aus dem gleichen Heimnetz eine zweite Person, mit der gleichen Konsole und dem gleichen Spiel, so lässt es sich nicht spielen.

Identifizierbarkeit über IPv6

Ein weiterer Kritikpunkt bei IPv6 ist, man wäre einfacher identifierbar. Grundlage dieser Aussage ist, dass jedes System im Heimnetz eine eigene Adresse erhält. Im Gegensatz dazu ist es bei IPv4 ja zumeist so, dass alle Teilnehmer im Heimnetz mit einer einzelnen IPv4 Adresse maskiert werden. So erscheint es nach außen hin so, als gäbe es nur einen Teilnehmer. Dazu ist zunächst einmal zu sagen. Das interessiert Profiler recht wenig. Sogar anhand von Quellport Mustern werden Profile erstellt. pfSense zum Beispiel ist sich dessen bewusst und steuert mit einer Source Port Randomization gegen. Jedenfalls verschafft einem diese Maskierung auf eine IP Adresse nicht wirklich Sicherheit oder Privatsphäre. Wenn man ernsthaft daran interessiert ist seine Privatsphäre effektiv zu schützen, muss man deutlich größere Geschütze auffahren, als einfach nur mit einer v4 Adresse raus zu natten. Insofern ist es erstmal keine nennenswerte Verschlechterung, wenn man mit der Host-eigenen Adresse Kommunikation mit dem Internet betreibt. Das ist vor allen Dingen aus einem bestimmten Grund so: Privacy Extensions. Bei IPv6 sollten gerade für Netze in denen sich Clientgeräte befinden die Privacy Extensions aktiviert sein. Das sorgt dafür, dass der Interface Identifier (die letzten 64 Bit der Adresse) regelmäßig geändert werden. Dadurch erscheint man im Internet über die Zeit mit unterschiedlichen IP Adressen. Auch hier gilt natürlich. Diese Maßnahme alleine sorgt noch nicht für umfangreiche Privatsphäre. Das ist leider ein recht leidiges und umfangreiches Thema, mit dem man eingene Blog Posts ez füllen kann.

Hosts im Heimnetz aus dem Internet nicht erreichbar?

Sind sie nicht. Wenn man nicht absolut krude und schrottige Firewalls verwendet, besteht garnicht die Gefahr aus dem Internet erreichbar zu sein. Jede halbwegs anständige Consumer Firewall hat einen Paketfilter installiert und arbeitet stateful. Das ist absolut ausreichend um eben nicht aus dem Internet für sämtliche Teilnehmer des Internets erreichbar zu sein. Gehört habe ich zudem Argumente, dass es aber ja viel einfacher wäre über Fehler in den Firewall Einstellungen dafür zu sorgen, dass Hosts eben doch erreichbar sind. Das ist theoretisch richtig. Wer jedoch ohne Ahnung an diesen Einstellungen herumwerkt, der läuft auch Gefahr, dass dies bei IPv4 passiert. Hier sorgen Port Forwards dafür, dass man im Heimnetz eben doch erreichbar sein kann, zumindest auf bestimmten Ports. Auch damit lässt sich viel Schaden anrichten durch fehlerhafte Konfigurationen. Ausserdem haben viele Consumer Firewalls eine sogenannte DMZ Funktion. Damit exposed man auch trotz IPv4 und trotz NAT einen Host vollständig im Internet. Tendentiell würde ich sogar umgekehrt argumentieren wollen. Gerade weil IPv4 mit NAT und Masquerading so schlecht funktioniert, ist man häufig auf ganz fiese Technologien wie Hole Punching oder UPNP angewiesen. Diese können leider auch ausgenutzt werden um Rechner im Internet erreichbar zu machen, obwohl sie nur IPv4 nutzen und hinter einer NAT Firewall stehen.

Eine echtes Problem bei IPv6

Es gibt jedoch auch Dinge an IPv6, die tatsächlich ein gewisses Risiko darstellen. Dies ist jedoch eher in Corner Cases von Relevanz und sie lassen sich mit Fachwissen beherschen. Ein Beispiel sind Virtualisierungsumgebungen. Dort werden häufig Linux Bridges eingesetzt. Präpariert man sein System nicht explizit, sorgt dies für IP Konnektivität zwischen dem VM Gast und dem VM Host über die IPv6 Link Local Adressen. Der VM Host setzt dann eine Link Local Adresse auf die Bridge und da man mit dem Gast in der gleichen Broadcast Domäne sitzt, hat man vom Gast aus direkte IP Konnektivität zum Host. Das ist hässlich und sollte man vermeiden. Die Lösung dafür ist jedoch NICHT IPv6 auf dem Host zu deaktivieren. IPv6 auf der Bridge zu deaktivieren kann jedoch durchaus ein valides Mittel sein.

Fazit

IPv6 ist nicht zu kompliziert und es hat entgegen der Behauptungen böser Zungen eine ganze Reihe an Vorteilen gegenüber IPv4. Projektiert euer Netzwerk auf lange sicht auf IPv6 only Betrieb. Kauft keine Geräte ohne vernünftigen IPv6 Support. Dazu zählen auch z.B. Switche, die ins eigene Monitoring integriert werden müssen, oder auch z.B. über v6 mit dem Syslog Server oder auch dem Radius Server kommunizieren müssen. Webcams, Drucker, aber auch Home Automation Systeme sollten allesamt IPv6 fähig sein. Sind sie es nicht, sollte man sie schlicht nicht erwerben.