[[Vorlage(Getestet, focal)]] {{{#!vorlage Wissen [:mit Root-Rechten arbeiten:] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis()]] Die große Anzahl an nutzbaren Adressen unter [wikipedia:IPv6:] ermöglichen es, dass jedes Gerät eine eigene, öffentlich geroutete, [wikipedia:IP-Adresse:Adresse] erhält. NAT findet nicht statt. Die meisten Privatkunden-ISPs teilen ihren Kunden in regelmäßigen Abständen ein neues Präfix zu, sodass sich die vorderen 64 Bit ändern. Die hinteren 64 Bit wurden in der Vergangenheit standardmäßig anhand der MAC-Adresse festgelegt, welche eine Eigenschaft der Netzwerkkarte ist und daher gleich bleibt ([https://datatracker.ietf.org/doc/html/rfc4291#section-2.5.1 modified EUI-64]). Dadurch wäre eine Rechner trotz geändertem Präfix identifizierbar. Die „IPv6 Privacy Extensions“ ([https://tools.ietf.org/html/rfc4941 RFC 4941] {en}) sollen hier Abhilfe schaffen, indem der Interface-Identifier zufällig generiert wird. = Funktionsweise = Sind die Privacy Extensions aktiviert, so erzeugen sie zu den bereits existierenden IP-Adressen eine weitere Adresse je Präfix und Netzwerkschnittstelle. Diese zusätzliche Adresse wird zufällig erzeugt hat nur eine bestimmte Lebensdauer, während derer sie für die Kommunikation genutzt wird. Läuft die Lebenszeit ab, so wird wieder eine neue Adresse generiert und für die Kommunikation genutzt, während die bisherige noch eine Zeit aktiv bleibt, um eventuell noch eingehende Netzwerkpakete empfangen zu können. Dies kann man anhand von `valid_lft` und `preferred_lft` erkennen. Somit existiert die auf Basis der MAC-Adresse generierte IP-Adresse zwar weiter, kommt jedoch letztlich nicht zum Einsatz. = Konfiguration = {{{#!vorlage Warnung Dieser Abschnitt beschreibt die Konfiguration über Kernel-Variablen, welche vom [:NetworkManager:] im Normalfall überschrieben werden. Ist der NetworkManager für die Verbindung aktiv, sind die Privacy Extensions standardmäßig aktiviert und über diesen zu konfigurieren. }}} Beginnend mit Ubuntu 12.04 LTS sind die Privacy Extensions von Haus aus aktiviert. Die entsprechende Konfigurationsdatei ist '''/etc/sysctl.d/10-ipv6-privacy.conf'''. In der Standardkonfiguration beträgt die maximale Lebensdauer einer IP-Adresse 7200 Sekunden (2 Stunden), die Dauer, während der sie aktiv genutzt bevorzugt wird, 3600 Sekunden (1 Stunde). Möchte man die Lebensdauer der temporären Adressen ändern, so kann man die entsprechenden Optionen (siehe unten) ebenfalls in dieser Datei ablegen. Wurde die Datei erstellt, muss man noch dafür sorgen, dass die neue Konfiguration auch aktiviert wird. Dies kann mittels eines Neustarts geschehen, eleganter ist es jedoch, die Konfiguration mit folgendem Befehl neu einzulesen: {{{#!vorlage Befehl sudo sysctl -p /etc/sysctl.d/10-ipv6-privacy.conf }}} == Optionen == Die Einstellmöglichkeiten der Privacy Extensions sind recht übersichtlich. {{{#!vorlage Tabelle Option Beschreibung +++ `net.ipv6.conf.all.use_tempaddr` 0 = Privacy Extensions nicht aktiv[[BR]]1 = temporäre Adresse bereitstellen[[BR]]2 = temporäre Adresse bereitstellen und aktiv nutzen +++ `net.ipv6.conf.all.temp_prefered_lft` Dauer in Sekunden, wie lange die Adresse anderen vorgezogen wird +++ `net.ipv6.conf.all.temp_valid_lft` Dauer in Sekunden, wie lange die Adresse vorhanden ist }}} `all` wurde als Bezeichner für die Netzwerkschnittstelle in diesen Beispielen eingesetzt, es sind die folgenden Varianten möglich: *`default` - Bezeichner für neue Schnittstellen *`all` - Bezeichner für alle Schnittstellen *`eth0`, `eth1`, `wlan0`, `wifi0` usw - Bezeichnung einer spezifischen Netzwerkschnittstelle Werden vom Standard abweichende Konfigurationen gesetzt, so wird empfohlen jede Option jeweils mit ''default'' und ''all'' einzufügen. = Beispiel = Die vorhanden IPv6-Adressen lassen sich mit folgendem Befehl prüfen: {{{#!vorlage Befehl ip -6 addr }}} Die Ausgabe für ein Interface könnte dann beispielsweise so aussehen: {{{ 3: wlan0: mtu 1500 qlen 1000 inet6 2001:db8:ff00:8cb0:a1b5:b96d:3d80:f9d3/64 scope global temporary deprecated dynamic valid_lft 257sec preferred_lft 0sec inet6 2001:db8:ff00:8cb0:221:beff:feef:dead/64 scope global dynamic valid_lft 6859sec preferred_lft 3259sec inet6 fe80::221:beff:feef:dead/64 scope link valid_lft forever preferred_lft forever }}} * Die unterste Adresse ist die Link-Lokale Adresse (`scope link`), sie wird von den Privacy Extensions nicht beeinflusst. * Die mittlere Adresse ist die globale Adresse (`scope global`), die ebenfalls aus der MAC-Adresse erzeugt wurde. Sie wurde nicht statisch festgelegt sondern mittels der IPv6-Autokonfiguration erzeugt (`dynamic`). * Die obere Adresse wurde durch die Privacy Extensions erzeugt (`temporary`). Diese Adresse hat keine Gültigkeit mehr (`deprecated`), da die „Preferred Lifetime“ abgelaufen ist (`preferred_lft 0sec`). Diese Adresse ist noch 257 Sekunden gültig (`valid_lft 257sec`) und kann noch zum Empfang von Netzwerkpaketen, die an diese Adresse gesendet wurden, genutzt werden. Für ausgehende Netzwerkanfragen (zum Beispiel Aufruf einer Webseite) kommt die mittlere Adresse (`2001:db8:ff00:8cb0:221:beff:feef:dead`) zum Einsatz. Überprüft man nun, mit welcher Adressse man im Internet auftaucht, zum Beispiel mit der Seite [http://test-ipv6.com test-ipv6.com] {en}, dann sollte in diesem Beispiel `2001:db8:ff00:8cb0:221:beff:feef:dead` herauskommen. In der Regel nutzt Ubuntu jedoch die temporäre Adresse, so sie denn noch nicht abgelaufen ist. = Links = * [:IPv6:] {Übersicht} * [:IPv6/Grundlagen:] ## * [:IPv6/Privacy Extensions:] * [:IPv6/Miredo:] #tag: Netzwerk, System, Sicherheit, IPv6