Project

General

Profile

Actions

Bug #13554

open

Configuration file error caused by setting UEFI HTTPBoot URL in DHCP Service

Added by Paul Hiatt 4 months ago. Updated 4 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
DHCP (IPv4)
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
Release Notes:
Default
Affected Version:
Affected Architecture:
SG-1100, amd64

Description

I'm attempting to enable Network Booting from a UEFI HTTPBoot URL on one of my VLANs.

I can enable network booting and set the next server, default BIOS file name, UEFI file names, etc and it works perfectly. When I attempt to provide a value for the UEFI HTTPBoot URL, the DHCP Server fails (complaining about an "unknown option").

Relevant system logs:

Oct 10 12:52:41    php-fpm    398    /services_dhcp.php: Configuration Change: username@ipaddress (Local Database): DHCP Server - Settings changed for interface OPT3
Oct 10 12:52:41    check_reload_status    446    Syncing firewall
Oct 10 12:52:43    php-fpm    398    /services_dhcp.php: The command '/usr/local/sbin/dhcpd -user dhcpd -group _dhcp -chroot /var/dhcpd -cf /etc/dhcpd.conf -pf /var/run/dhcpd.pid mvneta0.4091 mvneta0.27 mvneta0.72' returned exit code '1', the output was 'Internet Systems Consortium DHCP Server 4.4.2-P1 Copyright 2004-2021 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ /etc/dhcpd.conf line 81: unknown option dhcp.custom-s_opt3_0-0 \x09option custom-s_opt3_0-0 "HTTPClient" ^ Configuration file errors encountered -- exiting If you think you have received this message due to a bug rather than a configuration issue please read the section on submitting bugs on either our web page at www.isc.org or in the README file before submitting a bug. These pages explain the proper process and the information we find helpful for debugging. exiting.'

Relevant DHCP log:

Oct 10 19:41:24    dhcpd    25791    Server starting service.
Oct 10 19:44:18    dhcpd    18941    Internet Systems Consortium DHCP Server 4.4.2-P1
Oct 10 19:44:18    dhcpd    18941    Copyright 2004-2021 Internet Systems Consortium.
Oct 10 19:44:18    dhcpd    18941    All rights reserved.
Oct 10 19:44:18    dhcpd    18941    For info, please visit https://www.isc.org/software/dhcp/
Oct 10 19:44:18    dhcpd    18941    /etc/dhcpd.conf line 77: unknown option dhcp.custom-s_opt3_0-0
Oct 10 19:44:18    dhcpd    18941    option custom-s_opt3_0-0 "HTTPClient" 
Oct 10 19:44:18    dhcpd    18941    ^
Oct 10 19:44:18    dhcpd    18941    Configuration file errors encountered -- exiting
Oct 10 19:44:18    dhcpd    18941    If you think you have received this message due to a bug rather
Oct 10 19:44:18    dhcpd    18941    than a configuration issue please read the section on submitting
Oct 10 19:44:18    dhcpd    18941    bugs on either our web page at www.isc.org or in the README file
Oct 10 19:44:18    dhcpd    18941    before submitting a bug. These pages explain the proper
Oct 10 19:44:18    dhcpd    18941    process and the information we find helpful for debugging.
Oct 10 19:44:18    dhcpd    18941    exiting.

Offending section of the conf file:

...
    option tftp-server-name "192.168.XX.XX";

    option custom-opt3-0 "HTTPClient";
    next-server 192.168.XX.XX;
    if substring (option vendor-class-identifier, 0, 10) = "HTTPClient" {
        filename "http://192.168.XX.XX:XXXX/tftp/ipxe.efi";
    } else if option arch = 00:07 {
...

System information:

Device: Netgate 1100 pfSense Plus
Version:
22.05-RELEASE (arm64)
built on Wed Jun 22 18:56:18 UTC 2022
FreeBSD 12.3-STABLE

Actions #1

Updated by Paul Hiatt 4 months ago

NOTE: Affected Architecture should be SG-1100, arm64 (not amd64), I selected the wrong one.

Actions #2

Updated by Paul Hiatt 4 months ago

Interestingly, this issue does not arise if the UEFI HTTPBoot URL is enabled on the default LAN interface DHCP Service (i.e. not on a VLAN). Here is the resulting config, which works as expected without raising a config error:

...
    option tftp-server-name "192.168.XX.XX";

    option custom-lan-0 "HTTPClient";
    next-server 192.168.XX.XX;
    if substring (option vendor-class-identifier, 0, 10) = "HTTPClient" {
        filename "http://192.168.XX.XX:XXXX/boot.ipxe";
    } else if option arch = 00:07 {
...

So apparently custom-lan-0 is a supported option but custom-opt3-0 is not? Unfortunately I'm not familiar enough with this configuration syntax to understand why they would be treated differently.

Actions

Also available in: Atom PDF