Option 150 - format for multiple TFTP servers - Solved (workaround)



  • I have been attempting to define multiple TFTP (IP) addresses for use in OPTION 150.  The RFC states it can be a list, but I cannot get pfSense to correctly parse what I put in.  If I select the formation to be "IP address or host" and can define one address fine.  When I try two I get various results:

    • with format as "IP address or host"

    192.168.1.100; 192.168.1.200  –> The following input errors were detected: IP address or host type must be an IP
                                                            address or host name.
    192.168.1.100;192.168.1.200  --> Same as above
    192.168.1.100 192.168.1.200  --> Same as above

    192.168.1.100.192.168.1.200  --> The service will not startup and it reports it is expecting a semi-colon in the configuration.

    • With text or string as the format I get ASCII values stuffed in and it does result in getting a couple of addresses being returned in the DHCP request, but the are invalid IP addresses.

    Is supplying a list supported? or is there a way for me to make this work?

    Thanks,

    Jon



  • Is there any way to add the Option 150 list (I will only have two IP addresses) to a configuration file?  This seems like a missing option on the GUI.  Every other router I am looking at does this differently or not at all.  SonicWall allows defining an array for an option.

    I need to be able to do this per subnet (LAN and OPT1).

    I have found some info on the web describing the "write dhcpd.conf" area of /etc/inc/services.inc, but I am far from knowing what to include.

    I can see "option custom-opt1-0 192.168.1.100;" and "option custom-opt1-1 192.168.1.200" in the dhcpd.conf file under the correct subnet, but if I change anything here wont it get overwritten by the GUI?  I thought I would try "option custom-opt1-0 192.168.1.100;192.168.1.200;"

    Any other ideas? Am I even on the right track?

    Thanks,

    Jon



  • I was able to get pfSense to spit out a valid option 150 with two IP addresses.  It is an issue with the pfSense GUI not permitting more than one IP address.

    I defined one custom option 150 as a String and then used hex equivalents of the ip addresses divided by colons (NO Quotation Marks).

    For example:

    To define 10.1.0.100 and 10.1.0.200, I converted each IP address into the hex values A0010064 and A00100C8.  The values have to be in 4 byte increments, but I assume we could create a longer list of IPs using this method.