IPv6 DHCP-Server

Hat man einen DHCP-Server im Einsatz macht es zunehmend mehr Sinn, diesen auch für IPv6 einzurichten.
Unter Ubuntu 16.04 wird dieser schon Standardmässig mitgeliefert, man muss jedoch alle Konfigurationsdateien noch erstellen.

Zuerst müssen die Standard-Konfigurationsdateien von dhcpd4 kopiert und abgeändert werden:

cp -v /etc/default/isc-dhcp-server /etc/default/isc-dhcp-server6

Nun die Datei: /etc/default/isc-dhcp-server6 editieren und die folgenden Konfigurationen anpassen:

DHCPD_CONF=/etc/dhcp/dhcpd6.conf
DHCPD_PID=/var/run/dhcpd6.pid
OPTIONS="-6"
cp -v /etc/init.d/isc-dhcp-server /etc/init.d/isc-dhcp-server6
sed -i s/isc-dhcp-server/isc-dhcp-server6/ /etc/init.d/isc-dhcp-server6
sed -i s/dhcpd.conf/dhcpd6.conf/ /etc/init.d/isc-dhcp-server6
sed -i s/dhcpd.pid/dhcpd6.pid/ /etc/init.d/isc-dhcp-server6

Nun wird die Haupt-Konfiguration erstellt:

/etc/dhcp/dhcpd6.conf

authoritative;
log-facility local1;
 
# Currently iscp-dhcp-server6 does not provide failover for ipv6
include "/etc/dhcp/dhcpd6.domain.example.org.conf";
Keine Failover für dhcpd6

Die obige Konfiguration mit dem include File ist ideal, wenn man ein Failover-System mit zwei hosts macht.
Leider hat der dhcpd6 derzeit kein failover in der IPv6 Version.
Die Konfigvuration wird jedopch aus Gründen der Übersichtlichkeit (und falls später eine kommt diese einfach hinzufügen zu können 😉 ) gleich gehalten.

Nun die Definitions-Konfiguration:
/etc/dhcp/dhcpd6.domain.example.org.conf

subnet6 2001:db8:0:1::/64 {
  # Range for clients
  range6 2001:db8:0:1::129 2001:db8:0:1::254;
 
  # Range for clients requesting a temporary address
  range6 2001:db8:0:1::/64 temporary;
 
  # Additional options
  option dhcp6.name-servers fec0:0:0:1::1;
  option dhcp6.domain-search "domain.example";
 
  # Prefix range for delegation to sub-routers
  prefix6 2001:db8:0:100:: 2001:db8:0:f00:: /56;
} 
 
# Example for a fixed host address
host specialclient {
  host-identifier option dhcp6.client-id 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01:23:45;
  fixed-address6 2001:db8:0:1::127;
}

Hinweis: Alle „range6“, option und prefix6 müssen noch auf das Netzwerk angepasst werden in dem sie laufen.

Welches ist mein IPv6 subnet?

Da IPv6 für viele noch Neuland ist, stellt man sich erst mal die Frage, in was für einen Subnet man da überhaupt ist?
Im Gegensatz zu IPv4 kennt IPv6 anstelle des Subnets den „Prefix“; es ist die erste Vierergruppe einer IPv6 IP-Adresse.

Ein Beispiel für die IP-Adresse: 2001:1234:5678:1234:5678:ABCD:EF12:1234/64
Hier wäre 2001:1234:5678:1234 der Prefix (oder das „subnet“) und 5678:ABCD:EF12:1234 der Host.

Dies zur Kurz-Version. Wer sich für die Details interessiert, der Vorgang wird detailliert auf der Seite: How to find IPv6 Prefix beschrieben.

Zum Schluss wird der DHCP6 Server enabled und gestartet:

systemctl enable isc-dhcp-server6
systemctl start isc-dhcp-server6

Quellen

Published by

Steven Varco

Steven ist ein Redhat RHCE-Zertifizierter Linux-Crack und ist seit über 18 Jahren sowohl beruflich wie auch privat auf Linux spezialisiert. In seinem Keller steht ein Server Rack mit diversen ESX und Linux Servern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.