IPv6-Autokonfiguration
Ein IPv6-Host kann mehrere IPv6-Adressen haben. Wenn IPv6 im Host aktiviert ist, dann hat er zumindest eine link-lokale bzw. verbindungslokale Adresse. Wenn zusätzlich der Netzzugang und der Netzzugangsrouter IPv6-fähig sind, dann hat ein Host noch eine zweite IPv6-Adresse. Das ist die globale Adresse. Wenn Privacy Extensions im Host aktiviert ist, dann hat er noch zusätzlich eine temporäre globale Adresse, die für externe Verbindungen genutzt wird. Da temporäre Adressen irgendwann ihre Gültigkeit verlieren, kann ein Host auch mehrere temporäre Adressen haben.
- link-lokale IPv6-Adresse
- globale IPv6-Adresse
- (mehrere) temporäre globale IPv6-Adressen
Zu einer vollständigen IPv6-Konfiguration gehören aber nicht nur die IPv6-Adressen des Hosts, sondern mindestens noch die IPv6-Adressen des Standard-Gateways und eines DNS-Servers. Weitere Bestandteile der IPv6-Konfiguration sind netzabhängig und werden hier nicht berücksichtigt.
- Standard-Gateway
- DNS-Server
Die Fragestellung ist, wie kommt ein IPv6-Host an seine IPv6-Adressen und die anderen Teile der IPv6-Konfiguration, wie zum Beispiel das Standard-Gateway und der DNS-Server?
Woher bekommt ein Host seine link-lokale IPv6-Adresse?
Standardmäßig ist es so, dass wenn ein IPv6-Client gestartet wird, dann weist er sich selber eine link-lokale IPv6-Adresse zu. Verbindungen in andere Netze, zum Beispiel ins Internet, sind mit dieser link-lokalen IPv6-Adresse nicht möglich. Sie ist nur im lokalen Netz gültig. Vergleichbar, aber nicht ganz identisch, mit einer privaten IPv4-Adresse.
Die ersten 64 Bit einer link-lokalen IPv6-Adresse sind fest vorgegeben. Davon sind die ersten 16 Bit "fe80". Weitere 48 Bit werden mit Nullen aufgefüllt. Die restlichen 64 Bit der IPv6-Adresse entsprechen dem Interface Identifier für den die MAC-Adresse des Netzwerkadapters herangezogen wird. Dabei wird die 48-Bit-MAC-Adresse in der Mitte mit einem "ff:fe" auffüllt, damit eine Länge von 64 Bit entsteht. Zusätzlich wird das zweite Bit im ersten Byte invertiert.
Dieses Verfahren gehört zur Stateless Address Autoconfiguration (SLAAC).
Windows bildet den konstanten Interface Identifier anders als hier beschrieben. Bei der Windows-Installation wird für jede Schnittstelle nicht die MAC-Adresse herangezogen, sondern ein zufälliger Interface Identifier erzeugt.
Das kann folgende Konsequenzen haben: Sind auf einer Hardware mehrere Betriebssysteme installiert (Virtualisierung), dann hat jede Windows-Installation einen anderen Interface Identifier.
Woher bekommt ein Host seine globale IPv6-Adresse?
Die globale IPv6-Adresse ist mit einer öffentlichen IPv4-Adresse vergleichbar, weil ein Host nur damit über das lokale Netz hinaus eine Verbindungen ins Internet aufbauen kann. Um eine globale IPv6-Adresse zu bekommen, benötigt der IPv6-Host die link-lokale IPv6-Adresse. Der hintere Teil der Adresse besteht aus dem Interface-Identifier und ist somit bei beiden Adressen gleich. Nur der vordere Teil, der Präfix, der muss für die globale Adresse noch ermittelt werden.
IPv6 kennt drei Wege, wie ein Host an eine globale IPv6-Adresse kommen kann. Entweder wird sie manuell konfiguriert, per Autokonfiguration (SLAAC) oder wie bei IPv4 per DHCP (DHCPv6) vergeben.
Mit SLAAC bezieht ein IPv6-Host nur den globalen Präfix per Router Advertisement und bildet sich zusammen mit dem bekannten Interface Identifier die globale IPv6-Adresse selber.
Sofern ein DHCPv6-Server eingerichtet ist, kann ein Host die globale IPv6-Adresse auch von dort beziehen, wie man es von IPv4 kennt.
DHCPv6 läuft unter der Bezeichnung Stateful Address Autoconfiguration. Hierbei wird an zentraler Stelle festgelegt, welcher Host, welche IPv6-Adresse bekommt/hat.
Woher bekommt ein Host seine temporären globalen IPv6-Adressen?
Die temporäre globale IPv6-Adresse basiert auf den Privacy Extensions. Hierbei wird der globale Präfix verwendet und der ursprüngliche Interface Identifier, der aus der MAC-Adresse gebildet wird, wird durch einen pseudozufälligen Interface Identifier ersetzt. Der wird regelmäßig geändert, um den Datenschutz zu gewährleisten.
- Privacy Extensions (RFC 4941)
- Cryptographically Generated Addresses (CGA, RFC 3972)
Zusammenfassung: IPv6-Adressen
Grundsätzlich gilt, dass ein IPv6-Host seine Adressen per SLAAC selber bilden kann. Er ist dabei nicht auf DHCPv6 angewiesen.
- Zuerst erzeugt sich ein Host eine link-lokale Adresse mit "fe80:..." und dem Interface Identifier, der in der Regel aus der MAC-Adresse gebildet wird.
- Damit ist der Host in der Lage im lokalen Netzwerk zu kommunizieren und besorgt sich damit einen globalen Präfix und bildet sich zusammen mit dem Interface Identifier eine globale IPv6-Adresse. Über diese globale IPv6-Adresse kann ein Host global kommunizieren und auch aus dem Internet erreichbar.
- Ist Privacy Extensions aktiviert, dann wird regelmäßig eine neue, temporär globale IPv6-Adresse mit dem globalen Präfix und einem zufälligen Interface Identifier für ausgehende Verbindungen erzeugt.
Woher bekommt ein Host die IPv6-Adresse des Standard-Gateways?
Im Rahmen der Router Advertisements wird nicht nur der globale Präfix, sondern auch die IPv6-Adresse des Standard-Gateways kommuniziert. Das ist ein Bestandteil von SLAAC.
Woher bekommt ein Host die IPv6-Adresse des DNS-Servers?
Es gibt zwei Möglichkeiten. Im Rahmen der Stateless Address Autoconfiguration (SLAAC) enthalten Router Advertisements die RDNSS-Option für Nameserver-Adressen. Alternativ kann die Bekanntgabe der Nameserver-Adresse über DHCPv6 erfolgen.
Ursprünglich war die Verteilung von DNS-Server-Adressen über einen zusätzlichen DHCPv6-Server vorgesehen. Erst mit dem RFC 6106 wurde im Rahmen von SLAAC mit Router-Advertisements die RDNSS-Option (Recursive DNS-Server) definiert. Mit der RDNSS-Option erfolgt die IPv6-Autokonfiguration zusammen mit den IPv6-Adressen eines oder mehrerer DNS-Server. Weitere Parameter einer Netzkonfiguration erfordert dann DHCPv6.
Beide Verfahren, SLAAC und DHCPv6, haben den Nachteil, dass sie für sich alleine nicht gut funktionieren. Das liegt daran, weil in älteren Betriebssystemen IPv6 nur unzureichend implementiert ist.
Leider fehlt in manchen Betriebssystemen die RDNSS-Option. Dazu gehören zum Beispiel Windows 7 und 8, sowie einige ältere Linux-Distributionen. Bei anderen Betriebssystemen und Geräten ist es womöglich ebenso.
Ein DHCPv6-Server ist deshalb für die vollständige IPv6-Konfiguration dringend notwendig, weil die Unterstützung der RDNSS-Option oftmals fehlt. Wenn die Betriebssysteme aber keinen DHCPv6-Client haben, wie zum Beispiel das veraltete Windows XP, dann ist es nur eingeschränkt IPv6-fähig. Es kann auf IPv6-Ebene keine Domain-Namen auflösen. Es sei denn man konfiguriert die IPv6-Adresse des DNS-Servers manuell.
Betriebssystem | Windows XP | Windows 7/8 | Ubuntu ab 12.04 | Mac OS X ab 10.7 | iOS ab V6 | Android 4.2 | Android 5.0 |
---|---|---|---|---|---|---|---|
IPv6-Support | ja, deaktiviert | ja | ja | ja | ja | ja | ja |
IPv6-Adresse (RA) | ja | ja | ja | ja | ja | ja | ja |
Default-Route (RA) | ja | ja | ja | ja | ja | geräteabhängig | ? |
RDNSS-Option | nein | nein | ja | ja | ja | nein | ja |
Privacy Extensions | Default | Default | Default | Default | Default | Default | Default |
DHCPv6-Client | ja, deaktiviert | ja | ja | ja | ja | nein | nein |
Hinweis: Dass die RDNSS-Option bei manchen Clients fehlt, spielt in einer Dual-Stack-Umgebung (IPv4 und IPv6 im Parallelbetrieb) keine Rolle. Es ist ausreichend, wenn die Clients die IPv4-Adresse des DNS-Servers über DHCPv4 bekommen. Zur Namensauflösung verwendet der Client dann IPv4 und bekommt darüber dann die IPv6-Adresse zu einem Domain- oder Computer-Namen zurück. Sofern der Client eine globale IPv6-Adresse hat wird er die Verbindung wahlweise über IPv4 oder IPv6 aufbauen.
Stateless oder Stateful Address Autoconfiguration
Die "stateless" Autokonfiguration bietet den gleichen Komfort wie beim Betrieb eines sehr einfach gehaltenen DHCP-Servers (stateful). Ohne einen dedizierten DHCP-Server für derartige Informationen bereitstellen zu müssen. In kleinen Netzwerk ist das ein Segen. In großen Netzwerken mag man sich darauf weniger gerne einlassen. Wenn man DHCP von IPv4 her kennt und dann mit SLAAC in den lokalen Netzen arbeiten muss, dann verliert man dabei an einigen Stellen auch Protokollierungs- und Kontrollmöglichkeiten. Davor graut es dem einen oder anderen Netzwerk-Administrator.
Prinzipiell muss man immer mit Router Advertisements arbeiten. Hierbei kann man sich überlegen, welche Informationen darüber verbreitet werden sollen und die fehlenden Teile der IPv6-Konfiguration per DHCPv6 angefordert werden müssen.
Momentan (Stand Anfang 2014) gibt es drei Szenarien die für eine IPv6-Autokonfiguration sinnvoll erscheinen:
- IPv6-Autokonfiguration nur über Router Advertisement (stateless), ohne globale IPv6-Adresse.
- Link-lokale und globale IPv6-Adresse und Default-Route über Router Advertisement, DNS-Adresse und weitere Parameter über DHCPv6 (stateless).
- Globale IPv6-Adresse, DNS-Adresse und weitere Parameter über DHCPv6, die Default-Route über Router Advertisements (stateful).
Alternativ besteht sogar die Möglichkeit, SLAAC und DHCPv6 simultan zu betreiben. Das heißt, dass die IPv6-Konfiguration über beide Verfahren verteilt werden. Sowohl per Router Advertisement als auch per DHCPv6. Die Clients erhalten dann zwei globale Adressen. Der RFC 4862 sieht diese Variante vor. Eine doppelte IPv6-Adressvergabe dürfte aber nur in wenigen Fällen in Betracht kommen.
Aufgaben und Übungen mit dem Raspberry Pi
- IPv6 auf dem Raspberry Pi einschalten und konfigurieren
- IPv6 Privacy Extensions für Raspbian Jessie aktivieren (Raspberry Pi)
- IPv6 Privacy Extensions für Raspbian Wheezy aktivieren (Raspberry Pi)
- Feste IPv6-Adresse für den Raspberry Pi einrichten
- IPv6-Tunnel für SixXS mit aiccu einrichten (Raspberry Pi)
Übersicht: IPv6
- IPv6-Adressen
- Vergabe von IPv6-Adressen (Präfix)
- Schreibweise/Notation von IPv6-Adressen
- IPv6-Address-Scopes (Gültigkeitsbereiche)
- SLAAC - Stateless Address Autoconfiguration
- Privacy Extensions
- DHCPv6 (Stateful Address Autoconfiguration)
- IPv6-Multihoming und -Renumbering
Weitere verwandte Themen:
- NDP - Neighbour Discovery Protocol
- ICMPv6 - Internet Control Message Protocol Version 6
- Übergangsverfahren von IPv4 auf IPv6
- Umstieg von IPv4 auf IPv6
- IPv4-Konfiguration
Teilen:
Collection: IPv6
Alles was Sie über IPv6 wissen müssen.
Eine PDF-Datei mit allen Artikeln über das Internet Protocol Version 6 von dieser Webseite. Die Zusammenstellung berücksichtigt die Einführung in die Grundlagen von IPv6 mit detailreichen Beschreibungen und zahlreichen Tabellen und Abbildungen. Erfahren Sie mehr über die Möglichkeiten und Zusammenhänge im IPv6-Netzwerk.
Netzwerktechnik-Fibel
Alles was Sie über Netzwerke wissen müssen.
Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.
Collection: IPv6
Alles was Sie über IPv6 wissen müssen.
Eine PDF-Datei mit allen Artikeln über das Internet Protocol Version 6 von dieser Webseite. Die Zusammenstellung berücksichtigt die Einführung in die Grundlagen von IPv6 mit detailreichen Beschreibungen und zahlreichen Tabellen und Abbildungen. Erfahren Sie mehr über die Möglichkeiten und Zusammenhänge im IPv6-Netzwerk.