IPv6/Stateless Address Autoconfiguration

Aus Foxwiki

Stateless Address Autoconfiguration (SLAAC) - Automatische Konfiguration von IPv6-Adressen

Autoconfiguration

SLAAC ist Bestandteil der Autoconfiguration, die drei wesentliche Aufgaben hat
  1. Generieren einer Link-local Address
  2. Durchführen der Stateless Address Autoconfiguration
  3. Sicherstellen der Eindeutigkeit der generierten Adressen (Duplicate Address Detection)

Ablauf

Prinzip SLAAC
  1. Den ersten Schritt macht der Host, indem er mittels Router Solicitation nach einem Router Advertisement fragt.
    1. Alternativ könnte er auch ein periodisches Router Advertisement abwarten.
    2. diese Geduld beobachtet man aber eher selten.
  2. Der Router verschickt das angeforderte Router Advertisement,welches alle konfigurationsrelevanten Daten enthält.
  3. Daraufhin führt der Host die Konfiguration des Interfaces durch und prüft die Eindeutigkeit der selbst erzeugten Adressen.
  4. Wenn diese Eindeutigkeit angenommen werden kann, ist die Konfiguration des Interfaces vollständig und gilt als beendet.

Duplicate Address Detection

Duplicate Address Detection besteht aus mehrere Neighbor Solicitations
  • Wenn ein Node feststellen möchte, ob eine Adresse schon von einem anderen Node genutzt wird,dann versucht er die zugehörige Linklayer Address aufzulösen.
  • Bleibt eine Antwort aus, benutzt offensichtlich kein anderer Node auf dem Link die überprüfte Adresse.
  • Um Fehlschlüsse aufgrund von Paketverlusten zu vermeiden, sollen mehrere Neighbor Solicitations verschickt werden.
Ab wann eine Adresse als eindeutig gilt, hängt von den Parametern der jeweiligen Implementierung ab
  • Jede Adresse hat anfangs den Status tentative (probeweise).
  • Erst wenn die Duplicate Address Detection vollständig durchlaufen wurde, und keine Anzeichen darauf schließen lassen, dass die Adresse bereits in Benutzung ist, wird die Adresse valid (gültig).

Ablaufverfolgung

Ziel
  • Komplette Aufzeichnung der Autoconfiguration mit Wireshark
  • Vom Hochfahren des Interfaces bis zu seiner endgültigen Konfiguration

Interface herunterfahren

# ip link set down dev enp2s0

2: enp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
   link/ether 74:27:ea:e1:b2:b4 brd ff:ff:ff:ff:ff:ff
   inet 192.168.1.106/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0
      valid_lft 4826sec preferred_lft 4826sec

Wireshark starten

Wireshark starten

  • auf PseudoInterface any lauschen
$ ssh -X root@localhost 
root@localhost's password: 

# wireshark&

Interface starten

# ip link set up dev enp2s0
enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
   link/ether 74:27:ea:e1:b2:b4 brd ff:ff:ff:ff:ff:ff
   inet6 2001::a44d:a161:1a33:c64d/64 scope global dynamic noprefixroute 
      valid_lft 86399sec preferred_lft 14399sec
   inet6 fe80::99d7:66e5:331d:9449/64 scope link noprefixroute 
      valid_lft forever preferred_lft forever

Aktivität beobachten

In Wireshark können wir bereits Aktivität beobachten. Wir warten den Abschluss der Konfiguration ab, sie ist erfolgreich verlaufen wenn wir Adressen mit den Parametern scope global und dynamic sehen:

# ip addr show dev enp1s0
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
   link/ether 50:3e:aa:1f:63:81 brd ff:ff:ff:ff:ff:ff
   inet 10.30.1.1/24 brd 10.30.1.255 scope global enp1s0
      valid_lft forever preferred_lft forever
   inet6 fe80::523e:aaff:fe1f:6381/64 scope link 
      valid_lft forever preferred_lft forever

TMP

Automatische Konfiguration

Stateless Auto-Konfiguration (out-of-the-box)

Wird unterstützt und kann bei der zugewiesenen link-lokalen Adressen beobachtet werden, sobald ein IPv6 fähiges Interface aktiv ist.

Beispiel:


Stateless Auto-Konfiguration unter Verwendung des Router Advertisement Daemon (radvd)

Mehr Infos hierzu in späteren Versionen. Siehe unten im Abschnitt radvd daemon autoconfiguration.

Dynamic Host Configuration Protocol v6 (DHCPv6)

Nach einer langen Zeit der Diskussion wurde RFC 3315 / Dynamic Host Configuration Protocol for IPv6 (DHCPv6) verabschiedet. Momentan (10/2005) existieren 2 Implementierungen:

  • Dibbler von Tomasz Mrugalski <thomson at klub dot com dot pl>(Tipps zur Konfiguration)
  • dhcpv6 (Tipps zur Konfiguration)
  • ISC DHCP (Tipps zur Konfiguration)