Tracker #29207
open[TRACKER] IPv6 DHCP provisioning
0%
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