7.3. Configuring the DHCPv6 server for network boot
Enable the DHCP version 6 (DHCPv4) service on your server, so that it can provide network boot functionality.
Prerequisites
- You are preparing network installation over the IPv6 protocol.
Find the network addresses of the server.
In the following examples, the server has a network interface
enp1s0with this configuration:- IPv6 address
- fd33::2/64
- IPv6 gateway
- fd33::1
Procedure
Install the DHCP server:
# dnf install keaSet up a DHCPv6 server. Enter the following configuration in the
/etc/kea/kea-dhcp6.conffile. Replace the addresses to match your network card.{ "Dhcp6": { "interfaces-config": { "interfaces": [ "enp1s0" ] }, "subnet6": [ { "id": 1, "subnet": "fd33::/64", "interface": "enp1s0", "pools": [ { "pool": "fd33::100-fd33::200" } ] } ], "client-classes": [ { "name": "uefi PXE Clients", "test": "substring(option[16].hex,6,9) == 'PXEClient' and substring(option[16].hex,21,5) == '00007'", "option-data": [ { "space": "dhcp6", "name": "bootfile-url", "code": 59, "data": "tftp://[fd33::2]/uefi/BOOT/BOOTX64.EFI" } ] }, { "name": "bios PXE Clients", "test": "substring(option[16].hex,6,9) == 'PXEClient' and substring(option[16].hex,21,5) == '00000'", "option-data": [ { "space": "dhcp6", "name": "bootfile-url", "code": 59, "data": "tftp://[fd33::2]/syslinux/pxelinux.0" } ] }, { "name": "uefi HTTP Clients", "test": "substring(option[16].hex,6,10) == 'HTTPClient' and substring(option[16].hex,22,5) == '00007'", "option-data": [ { "space": "dhcp6", "name": "bootfile-url", "code": 59, "data": "http://[fd33::2]/uefi/BOOT/BOOTX64.EFI" } ] } ] } }Start the DHCPv6 service:
# systemctl enable --now kea-dhcp6If DHCPv6 packets are dropped by the RP filter in the firewall, check its log. If the log contains the
rpfilter_DROPentry, disable the filter using the following configuration in the/etc/firewalld/firewalld.conffile:IPv6_rpfilter=no