Project

General

Profile

Actions

Tracker #29207

open

[TRACKER] IPv6 DHCP provisioning

Added by Lukas Zapletal about 4 years ago. Updated about 4 years ago.

Status:
New
Priority:
Normal
Category:
DHCP
Target version:
-
% Done:

0%

Difficulty:
Triaged:
Yes
Fixed in Releases:
Found in Releases:

Description

IPv6 DHCP management can be achieved via our existing dnsmasq DHCP plugin. For IPv6 network, DHCP client DUID must be generated and deployed by Foreman, then it can be leveraged to hand over the required reservation. The following can be achieved with any dnsmasq version:

/etc/dhcp/dhclient6.conf
# DUID generated randomly by Foreman
interface "eth0" {
   send dhcp6.client-id 00:00:00:00:00:00:00:00:00:01;
}

/etc/dnsmasq.d/host1:
dhcp-range=fd12:3456:789a:1::aaaa,fd12:3456:789a:1::afff,64,10m
dhcp-host=id:00:00:00:00:00:00:00:00:00:01,[fd12:3456:789a:1::aa01],host1

For PXE/HTTP boot temporary IPv6 addresses, series of patches must be applied against dnsmasq to allow a feature that reserves one or multiple IPv6 addresses against a same MAC:

/etc/dhcp/dhclient6.conf

# DUID generated randomly by Foreman
interface "eth0" {
   send dhcp6.client-id 00:00:00:00:00:00:00:00:00:01;
}

/etc/dnsmasq.d/host1:
# this syntax needs patches (https://bugzilla.redhat.com/show_bug.cgi?id=1575026 and https://bugzilla.redhat.com/show_bug.cgi?id=1779187)
dhcp-host=52:54:00:3f:5c:c0,[fd12:3456:789a:1::aa04/126],host1
# alternative syntax:
#dhcp-host=52:54:00:3f:5c:c0,[fd12:3456:789a:1::aa02],[fd12:3456:789a:1::aa03],[fd12:3456:789a:1::aa04],host1
dhcp-host=id:00:00:00:00:00:00:00:00:00:01,[fd12:3456:789a:1::aa01],host1

It looks like Foreman DHCP IPv6 management should always allocate IPv6 addresses in bunches of 8. One address associated with DUID and 7 addresses reserved for PXE/HTTP booting. Although dynamic leases can be used for most provisioning workflows, this allows provisioning of hosts in DHCP networks without lease range (e.g. more secure networks).

For more details read: https://community.theforeman.org/t/ideas-for-ipv6-netboot-provisioning/15521


Related issues 3 (3 open0 closed)

Related to Smart Proxy - Bug #29185: Change HTTP Boot module root path to /EFI/BOOTReady For TestingLukas ZapletalActions
Related to Installer - Bug #29186: Use grub2 from grub2-efi-x64-cdboot package on Red HatsNewLukas ZapletalActions
Related to Installer - Bug #29187: Create /EFI/BOOT -> /grub2 symlink within TFTP directoryNewLukas ZapletalActions
Actions #1

Updated by Lukas Zapletal about 4 years ago

  • Related to Bug #29185: Change HTTP Boot module root path to /EFI/BOOT added
Actions #2

Updated by Lukas Zapletal about 4 years ago

  • Related to Bug #29186: Use grub2 from grub2-efi-x64-cdboot package on Red Hats added
Actions #3

Updated by Lukas Zapletal about 4 years ago

  • Related to Bug #29187: Create /EFI/BOOT -> /grub2 symlink within TFTP directory added
Actions #4

Updated by Lukas Zapletal about 4 years ago

  • Description updated (diff)
Actions

Also available in: Atom PDF