Wie kann ich meine Zehen in die dynamische IPv6-Netzwerkadressierung eintauchen?

14

Gibt es in IPv6 eine Möglichkeit, die dynamische Adressierung und Konfiguration für eine Untergruppe von Hosts in einem Netzwerk zu aktivieren, die durch bestimmte Mac-Adressen identifiziert werden?

Ich habe langsam an der Einrichtung von IPv6 gearbeitet. Alle meine Router haben statische Adressen und Routen und einige kritische Server sind statisch adressiert. Jetzt möchte ich anfangen, einige Clients zu testen, aber ich möchte es nicht einfach für ein gesamtes Netzwerk auf einmal aktivieren. Ich möchte es nur für ein paar Hosts aktivieren können.

In der IPv4-Welt würde ich einen DHCP-Server mit 0 freien Adressen im Bereich einrichten und nur Reservierungen einrichten. In der IPv6-Welt scheint dies keine Option zu sein, da ich über DHCPv6 kein Standard-Gateway festlegen kann, das anscheinend nur über Router-Werbung erlernt werden kann.

Wie wird das angegangen? Ist es einfach nicht möglich, IPv6 in einem Netzwerk selektiv zu aktivieren?

Meine Router basieren auf Linux und der DHCPv6-Server würde unter Linux laufen, wenn es darauf ankommt, und ich möchte Clients aller Art (Windows / Linux / OSX) aktivieren.

Zoredache
quelle
Warum können Sie keine DHCPv6-Reservierungen vornehmen? Sogar mein Heimrouter kann das.
Michael Hampton
@MichaelHampton, Ja, DHCPv6 sollte in der Lage sein, eine Adresse an den Client zu übermitteln. Wie kann ich jedoch dafür sorgen, dass der Client eine Standardroute hat?
Zoredache
Auf dem DHCP-Server können Sie einige iptables-Regeln festlegen, die DHCPv6 von einigen MAC-Adressen blockieren und von denen zulassen, für die IPv6 aktiviert werden soll.
Atle
@Zoredache: Die Standardroute wird immer durch Router Advertisement (RA) -Nachrichten kommuniziert. DHCPv6 tauscht keine Routing-Informationen aus.
Sander Steffann

Antworten:

7

Ich verstehe nicht, warum Sie dies mit IPv6 nicht im Wesentlichen auf dieselbe Weise tun können wie mit IPv4 (obwohl ich empfehlen werde, die Bereitstellung eher über Subnetze als über einzelne Hosts vorzunehmen; dies erspart Ihnen später viel Zeit und Kopfschmerzen).

So funktioniert IPv6 hier (stark vereinfacht; die wichtigsten Details finden Sie in RFC 4861 ):

Der Standard-Router sendet regelmäßig eine Router-Ankündigung oder wenn er eine Router-Anfrage von einem neuen Host erhält. Die RA enthält natürlich die Adresse des Routers und verschiedene Flags. Von Interesse für uns sind hier die M-Flagge (verwaltet) und die O-Flagge (andere Flagge). Diese Flags geben an, dass der Host den Rest seiner Konfigurationsinformationen von einem DHCPv6-Server erhalten soll:

  • Wenn das M-Flag gesetzt ist, werden alle Konfigurationsinformationen (mit Ausnahme der Routeradressen) von DHCPv6 bereitgestellt.
  • Wenn das O-Flag gesetzt ist, konfiguriert der Host seine eigene IPv6-Adresse mit SLAAC. Alle anderen Konfigurationsinformationen (mit Ausnahme der Router-Adressen) werden von DHCPv6 bereitgestellt.

An diesem Punkt ist es nur eine Frage der Verwendung, z. B. fixed-address6in Ihrer dhcpd.confKonfiguration, um Reservierungen festzulegen. Ihr DHCPv6-Setup ähnelt im Wesentlichen dem DHCP-Setup für IPv4.

Ich habe auch den Fall übersprungen, in dem ein Subnetz zwei oder mehr Router hat, die die "Standard" -Route handhaben. In diesem Fall sollten Sie die IPv6-Router-Einstellungen überprüfen, um diesen Aspekt zu konfigurieren.

Michael Hampton
quelle
Ok, das klingt richtig. Die Herausforderung besteht darin, dass ich derzeit mit der Verwendung von DnsMasq für Routenwerbung experimentiere. Welches scheint die Funktionen zu ermangeln, die erforderlich sind, um dies zu ermöglichen. Ich denke ich muss auf radvd umsteigen.
Zoredache
1
@Zoredache dnsmasq ist in dieser Hinsicht ziemlich minimal, und ich denke nicht, dass es alle notwendigen Funktionen hat. Ich benutze selbst radvd. Wenn Sie etwas Minimalistisches benötigen, z. B. für ein eingebettetes System, ziehen Sie 6relayd in Betracht . Dies ist ein kombinierter Router Advertisement / DHCPv6 Server und Relay, der ursprünglich für OpenWrt geschrieben wurde.
Michael Hampton
1

Sie können einen DHCPv6-Server (wie WIDE oder ISC) für die statusbehaftete Konfiguration oder radvd für die zustandslose automatische Konfiguration einrichten. IPv6 gibt den Bereich FC00 :: / 7 für eindeutige lokale Adressen an (ähnlich wie private Adressbereiche in IPv4).

Mark Bidewell
quelle
Und Sie sollten fc00 :: oder fd00 :: nicht verwenden, wie ich es bei einigen Leuten sehe. Du sollst eine zufällige / 48 aus diesem Bereich auswählen.
Michael Hampton