Project

General

Profile

Tracker #29207

Updated by Lukas Zapletal over 4 years ago

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: 

 <pre> 
 /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 
 </pre> 

 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 
 <pre> 
 # 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 
 </pre> 

 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

Back