DHCPv6 does not pass PXE options to UEFI IPv6 clients



  • UEFI IPv6 PXE clients cannot network boot via pfsense. Using an "external" ISC-DHCP-Server confirms the issue.

    Steps followed:

    1. TFTP Server
    • Install, enable & upload "snponly.efi"
    1. Router Advertisement
    • Set to either "assisted" or "managed"
    1. DHCPv6 Server
    • Check "Enable network Booting" and
    • set "bootfile URL" to "tftp://[2001:fb::1]/snponly.efi"

    PXE client will only repetatively retry to acquire IPv6 address. (as seen form /var/log/dhcp.log )

    1. DHCPv6 Options
    • Setting additional BOOTP/DHCP Options to "59" with "tftp://[2001:fb::1]/snponly.efi" has not effect.

    However, setting up a VM with ISC-DHCP-Server as to only provide DHCPv6 option 59:

    option dhcp6.bootfile-url code 59 = string;
    option dhcp6.bootfile-url "tftp://[2001:fb::1]/snponly.efi
    

    then disabling pfsense's DHCPv6 server and starting the ISC-DHCP-Server will allow the UEFI IPv6 PXE Client to acquire the bootfile from pfsense's TFTP server ... and be merily on it's way.


  • Rebel Alliance Developer Netgate

    So what does the config on pfSense look like vs your external server config? There must be some difference in the formatting or naming of the option to explain what is happening.

    Look in /var/dhcpd/etc/dhcpdv6.conf