IPv6 Stichpunkte

IPv6 ist ein neues Protokoll und unterscheidet sich an vielen stellen von IPv4, auch wenn es die Ähnlichkeit im Namen anders erwarten lässt. Es ist mehr als nur ein ganz großer Adressraum und auf dieser Seite pflege ich meine eigene Liste von Aussagen, die ich im Laufe der Zeit glaube verstanden zu haben. Fehler sind nie ausgeschlossen und sie können mich auch gerne korrigieren.

Stichpunkte

  • Jeder hat IPv6. IPv6 ist per Default "ein" und sollte "ein bleiben"
    Sie können heute davon ausgehen, dass alle moderneren Clients schon IPv6 sprechen. Dazu zählen neben Windows und Linux auch IOS- und Android-Geräte. Denken Sie besser nicht daran, IPv6 abzuschalten. Microsoft hat für Windows hier klar gesagt, dass Windows ohne dies nicht unterstützt ist.
    Das bedeutet aber auch, dass Sie als verantwortlicher Netzwerkadministrator aber auch Service-Betreiber die Auswirkungen kennen müssen
  • IPv6 Anforderungen an Firewalls
    IPv6 erweitert auch die Anforderungen an Regeln. Selbst wenn Sie auf der Firewall z.B. IPv6 komplett blocken, können Systeme im gleichen Subnetz miteinander über IPv6 kommunizieren. Zudem gibt es Dienste wie ISATAP, die IPv6-Pakete in IPv4-Pakete tunneln und damit einen Kommunikationskanal öffnen könnten, den Sie nicht möchten.
  • 128Bit Adressen statt 32bit bei IPV4.
    Es sollt damit "genug" Adressen für alle geben. Neben der schieren Zahl bedeutet dies aber auch ein Design-Wechsel für ihr eigenes LAN. Wenn jede Firma ein Vielfaches der Adressen bekommt die das gesamte Internet heute ausmachen, dann öffnet dies neue Wege. Sie können quasi "verschwenderisch" mit Adressen umgehen und könnten z.B. jeden Server in ein eigenes Subnetz wegsperren.
  • IPv6-Adressen mit ":" statt "."
    Während IPV4 Adresse das Format xxx.xxx.xxx.xxx hatten, werden IPV6-Adressen in 8 Gruppen a 4 Hex-Zeichen geschrieben, die mit Doppelpunkten getrennt sind. Dabei können führende "0"-Werte pro Gruppe zur Lesbarkeit entfallen und genau eine Gruppe  mit ":0000:" kann als "::" geschrieben werden.
  • 64bit Netzwerk und 64bit Host - das kleinste Subnetz ist /64
    Bei IPv4 gab es Class-A/B/C Netzwerke mit Subnet-Masken um die knappen Adressen möglichst optimal zu verteilen. Mit IPv6 ist ein /64er Netzwerk das kleinste Subnetzs, da die hinteren 64bit für den "Host" und die vorderen 64bit für das Netzwerk stehen.
  • Supernetting für Routing
    Natürlich wird niemand eine Routingtabelle für 2^64 Netzwerke irgendwo pflegen. Es gibt aber ja so viele Netzwerke, dass die Vergabestellen großzügig Netzwerke zusammenfassen können und dabei sehr viel Reserven enthalten.
  • Vergabe durch die fünf RIPE
    Die IANA hat an jede der fünf NOCs einen /12 Bereich vergeben, den diese nun an ISPs weiter verteilen.

    Jedes RIP kann also bis zu 2^36 ISPs ausstatten und jeder ISP hat 2^32 Subnetze. Wenn jeder ISP an jeden Kunden ein /48er Netzwerk vergibt, dann kann jeder ISP  bis zu 2^16 (als 65535) Kunden bedienen und jeder Kunde könnte ebenfalls 2^16 Subnetze aufbauen. Für "kleine Kunden" hintern einem ISP reicht das locker aus
  • Provider-unabhängige IP Adressen (Teilnetz mit /32)
    Wenn sie eine großes internationales Unternehmen sind, können Sie natürlich selbst "RIPE Mitglied" werden (ca. 1400€/Jahr) und bekommen dann 1024 IPv4 Adressen und ein /32 IPv6 Subnetz sie können aber auch über eine "Local Internet Registry (LIR) als Sponsor ein eigenes Teilnetz bekommen. Auch dieses Teilnetz gehört dann ihnen und kann über mehrere Provider geroutet werden. Sie haben dann ca. 4,3 Milliarden Subnetze zur internen Verwendung.
  • Windows 10 Build 1709 Mindestvoraussetzung
    Auch wenn IPV6 schon bei Windows 8,7,Vista und den früheren Windows Server Versionen vorhanden ist, hat Microsoft bei Windows 10 anfangs einen fehlerhaften IPv6-Stack ausgeliefert. Es gibt hierzu aber keinen Hotfix sondern sie müssen Build 1709 oder neuer einsetzen.
  • Jeder Client hat mehrere IPv6-Adressen
    Während bei IPv4 ein Client und Server in der Regel nur genau eine IPv4-Adresse hatte, ist es bei IPv6 eher die Regel, dass ein Client mehrere IP-Adressen hat. Sobald IPv6 aktiv ist, bekommt jeder Client eine "Link Local" Adresse und kann mit anderen Clients im gleichen Subnetz kommunizieren. Er bekommt aber zusätzlich auch noch andere Adressen.
  • Temporäre IPv6 für ausgehende Verbindungen
    Selbst wenn sie einem Webserver eine statische IPv6-Adresse zuweisen, bekommt er dennoch auch eine temporäre IPv6-Adresse. Diese nutzt der Server selbst für ausgehende Verbindungen.
    So ein Verhalten stellt natürlich an ein Accounting (NetFlow/IPFix/SFlow) und Firewalls (Source IP als Filter) neue Anforderungen. Es könnte daher schon interessant sein, solche Servern ein eignes Subnetz zu spendieren, damit die IP-Adresse nicht mehr das Kriterium ist.
  • Link Local" Adresse ist nur lokal
    Die Adressen mit dem "fe80"-Prefix werden nur für die Kommunikation im gleichen Subnetz genutzt Kein Router darf Pakete mit diesen Quell- oder Ziel-Adressen weiterleiten. ein Computer mit mehreren netzwerkkarten wird aber auch mehrere "Link Local"-Adressen haben, weswegen diese Adressen auch immer noch ein "Interface"-Kennzeichnung dahinter haben.

    Die Link Local Adresse bildet der Client aus einem empfangenen IPv6-Paket, aus dem er den Netzwerkteil übernimmt. Den Hostanteil kann er zufällig bestimmen. Das Risiko einer doppelten Adresse bei 2^64 Bits ist geringer als eine Fehlkonfiguration durch einen Administrator per manuellem Eintrag oder DHCPv6.
  • Default Gateway per "Router Announcement"
    Bei IPv4 ist es normal, dass ein Client per DHCP-Server neben der IP-Adresse auch die Router bekommt. Das ist bei IPv6 theoretisch noch möglich aber nicht mehr ratsam, das sich die Router selbst regelmäßig im Netzwerk bekannt geben. Ein neue Client muss also einfach ein "Ich suche einen Router" senden und bekommt die Informationen. Seine Link Local Adresse hat er ja schon selbst ermittelt.
  • Router-IP kann "fe80:" sein
    Selbst wenn ich eine öffentlichen IPV6-Adresse auf meinem Interface habe und auch der Router eine öffentlichen IPv6-Adresse hat, kann das Default Gateway eine "lokale" Adresse sein. Die öffentliche Router-IP sehe ich so gar nicht.
  • Namensauflösung per DNS
    DNS ist weiterhin das Mittel der Wahl um zwischen Namen und IPv6-Adressen in beide Richtungen umzusetzen. Ein DNS-Server kann der Client durch eine DHCP-Antwort erhalten. Es gibt aber auch eine eigene Multicast-Adresse für DNS-Dienste, die ein Client nutzen kann, d.h. die DNS-Server in einem Subnetz hören auf die DNS-Multicast-Adressen ff02::1:2 und ff05::1:3.
  • Multicast statt ARP
    Bei IPv4 sucht ein Client die MAC-Adresse zu einer Gegenstelle im gleichen LAN mittels ARP, d.h. es sendet einen Broadcast weg, der von der Gegenseite beantwortet wird. Ein Switch muss das Paket an alle Endgeräte im gleichen VLAN senden. Bei IPv6 werden diese Anfragen über Multicasts gelöst. ARP gibt es daher nicht mehr mit IPv6.
  • Dual-Stack Mode oder IPv6Only
    Wenn Sie nichts im Betriebssystem verstellt haben, läuft ihr System im "Dual Stack" Mode und kann über IPv4 oder IPv6 kommunizieren. Die meisten Clients versuchen eine DNSv6-Anfrage und wenn eine Adresse geliefert wird, nutzt der Client auch erst einmal IPv6. Auf Dauer macht es natürlich keinen Sinn, beide Stacks nebeneinander zu betreiben. Ehe Sie aber den ersten Client auf "IPv6 Only" umstellen, muss sichergestellt sein, dass alle Dienst auch über IPv6 erreichbar sind. Daher sollten Sie erst einmal dafür sorgen, dass alle Dienste auch per IPv6 nutzbar sind. Das geht im eigenen internen Netzwerk einfacher als "im Internet". Die meisten internen Clients müssen ja interne Proxy-Server o.ä. nutzen, um öffentliche Adressen zu erreichen.
    Als Anbieter von Diensten sollten Sie aber auf jeden Fall frühzeitig auch IPv6 unterstützen, damit Sie Clients auf IPv6 stellen können.
    Die Abschaltung von IPv4 auf einem Dienstserver ist möglich, wenn es keine IPv4-Verbindungen mehr gibt. das bedeutet nicht, dass IPv4 nicht möglich wäre. Es ist schon denkbar, dass Client per IPv4 einen Loadbalancer ansprechen, der aber zum Backend nur noch IPv6 nutzt.
  • ISATAP ist nicht erwünscht.
    Früher war ISATAP ein Weg, wie ein per IPv4-Adresse erreichbares Relay-System für IPv6-Systeme eine Brücke aufgebaut hat. Allein der Aufbau eines ISATAP-Servers samt passenden DNS-Eintrag war dafür notwendig. Wenn ISATAP nicht per Firewall geblockt wird und DNS-Einträge nicht kontrolliert werden dann ist dies ein ganz großes Risiko für ihre Netzwerk. Zum Glück hat zumindest der Microsoft-DNS-Server die Einträge zu ISATAP auf einer Blockliste stehen.

Die Liste werde ich immer mal wieder weiterführen

Besondere IPv6-Netze

Netzwerk Einsatzbereich

fe80::/10

Link Lokal Adressen
Sie dienen einfach der lokalen Kommunikation innerhalb des VLANs und werden von Routern nicht weiter gegeben. Auch wenn es seit viele Adressen und Netzwerke sind, sind sie weltweit nicht eindeutig. Zwischen solchen Netzwerken darf es kein Routing geben
Wenn ein Router solche Pakete tatsächlich weiterleiten würde, ist das ein Fehler. Auf Firewalls können Sie diese Adressen also blocken.

fec0::/10

Site Local Adressen
Waren ursprünglich wie RFC 1918-Adressen geplant, also 192.168.x.x, die ein Administrator lokal selbst vergeben konnte aber wurden später wieder abgekündigt. Heute können Sie diese Adressen blocken, denn Sie werden nicht mehr genutzt.

fc00::/7
fd00::/7

Unique Local
Diese Adressen sind die präferierten Adressen für eigene Netzwerkplanungen mit "privaten" Adressen. Sie sollten auf der Firewall verhindern, dass diese Adressen ihr Netzwerk verlassen

fe80::/10

Linked Scoped Unicast

2000::/3

Global Unicast

2001:db8::/32

Dokumentationen
Wenn Sie in Dokumentationen und Beschreibungen nicht ihre eigenen richtigen Adressen verwenden wollen, dann können Sie aus dem Bereich Adressen verwenden. Vermeiden Sie aber solche Adressen aus anderen Dokumentationen 1:1 in ihre Dokumentationen zu übertragen. Es gibt genug Netze um sich eigene Nummern auszudenken.
Sie werden produktiv nicht eingesetzt und auf Firewalls sollten Sie die Adressen auch blockieren..

ff00::/8

Multicast

ff02:00/16

Multicast für ARP Ersatz
Adressen in dem Bereich sind Multicast-Adressen für die Suche nach Partnern, d.h. was unter IPv4 die ARP-Anfragen sind, welche dort aber als Broadcast versendet werden.

In der Liste erscheinen nun aber nicht die Subnetze, die sich die fünf IP Registries geholt haben. um Sie dann weiter an ISP und Kunden zu vergeben.

Fragen

Natürlich habe ich noch die ein oder andere Frage zu IPv6 und

  • Router Announcement steuern
    Theoretisch könnte jeder Client im einem Subnetz sich als "Router "ausgeben" und damit andere Systeme stören oder Verkehr über sich umleiten und ggfls. mitschneiden. Insofern ist es wichtig, dass die Clients nur "autoritative" Router akzeptieren oder Switches eben solche "Router Announcements" (RA) nicht von jedem Port annehmen. Es gibt eine passende RFC, die das Problem beschreibt ( https://tools.ietf.org/html/rfc6104 Rogue IPv6 Router Advertisement Problem Statement) Echt eingesetzt habe ich es aber noch nicht.
  • SFLOW/NetFlow/IPFix anhand SourceID  (TempIP)
    Die Tatsache, dass auch ein Server mit fester IP-Adresse ausgehende Verbindungen mit einer dynamischen Adresse starten, macht es für eine Verkehrserfassung basierend auf der Quelle nicht gerade einfacher. Auch kann sich diese Adresse ändern, so dass Statistiken über längere Zeit eine Herausforderung sind
  • Fritz!Box und IPv6 nach Draußen ohne NAT?
    Mit IPv4 war das Verhalten klar, dass meine einzige öffentliche IPv4-Adresse bei der anderen Seite sichtbar wurde und meine internen privaten Adressen extern nicht einfach nachzutracken waren. Mit IPv6 hat aber auch jeder interne Client eine öffentliche IPv6-Adresse und könnte daher direkt erkannt werden. Wenn sich dann die externe Adresse nicht mehr ändern würde, dann kann der einzelne Client durchgängig getrackt werden.
    Zudem stelle ich mir die Frage, ob von extern auch eine eingehende Verbindung auf die so bekannte Adresse möglich ist. Das wäre für VoIP von Vorteil aber bei IoT-Devices weniger sicher, auch wenn NAT ja nicht als Firewall missverstanden werden darf.
  • Statische IPv6-Subnetz mit Telekom ?
    Aktuell ändert sich meine externe IPv6-Netzzuweisung alle 24h aber vielleicht ändert sich das irgendwann auch mal. Dann hätte ich nicht nur eine feste IPv6-Adresse sondern sogar einige Subnetze. Ich vermute mal, dass das aber für Client Zugänge lange nicht kommen wird.

Weitere Links