DHCP Server option 60

  • I am using pfsense in an office that has 2 types of VoIP phones. The polycom devices require option 66 to be used to provide a provisioning URL to them.
    We also have Yealink devices that use Option 66 but they require a slightly different provisioning URL to be used with our PBX. The sets have the ability to provide DHCP option 60 when requesting a lease, and I'd like to use that with pfsense's DHCP server to send a different option 66 response to the devices that identify themselves as "yealink".

    Is there a sane way of adding this to the DHCP server config? There is no way to do this in the web ui because it doesn't have a spot to free type text to add to the configuration like some other services on the system. I do have a workaround but would like to add to pfsense because then we have a centralized spot to update the provisioning URL if required.

  • Someone can correct me if i'm wrong, but it's my understanding that the option codes are unique to each DHCP server. Can you put the devices in 2 different VLANs? Then they'd have their own DHCP server and can each get their own correct option code.

  • A client device can identify itself via DHCP option 60 when requesting a lease, the DHCP server can then sent back special values for that "class" of devices.

    I.E. if I want to provide a provisioning URL specific to a brand of device on my network, I can specify options for that class specifically. Every device that isn't part of that class will receive default values, but devices in that class will get special ones.

    pfSense DHCP server actually supports this functionality, but I'm not sure how to add it to the config as there is no exposed way to achieve it in the web UI.

  • I just did a little reading up on that. Pretty cool. It looks like people made some requests several years ago for this functionality in pfSense but can't find anything newer than 3 years old.

  • Somehow late - but you may look at how to use overrides on dhcpd.conf. There you may set your options as far as I understand... I am checking this option currently myself to implement DHCPD hooks (on demand/request...).

  • What do you mean by overrides?

  • Everytime the DHCP daemon is restarted, the settings will be created again from scratch. Therefore you will be limited to the options you are able to create on the GUI.

    In my case, I also needed to add some stuff (lines) to dhcpd.conf - I solved the first step by copying the current dhcpd.conf to dhcpd.override, make my manual changes and add some start options to use the dhcpd.override instead.

    Disadvantage: if you want to change something you have to manually edit dhcpd.override each time! Otherwise you may have to use sed or similar stuff to “dynamically inject” additional options?

    If you think this might be useful I can PM the link I used...

Log in to reply