Is it possible to make isc-dhcp-server send dhcp options like filename, vendor-class-identifier but NOT an IP address for the client? That is, I need dhcpd to send a few options but NOT the client's IP. The client gets its IP from another DHCP server that I don't control.

So I want the client to MERGE the data it gets from DHCPOFFERs from different servers: The client should use the IP from the DHCP server that provided the IP address, and the client should use option filename from the DHCP server that provided filename.

I tried the following and it failed:

subnet netmask {
  option vendor-class-identifier "HTTPClient";
  filename "";

dhcpd log said:

DHCPDISCOVER from 90:e2:ba:34:86:e6 via enx00e04c66833e: network no free leases

tcpdump shows that isc-dhcp did not send a DHCPOFFER.

2 Answers 2


I looked into the RFC and found the following that suggests the client IP yiaddr is required:

Section 3.1.2 of RFC 2131

Each server may respond with a DHCPOFFER message that includes an
available network address in the 'yiaddr' field (and other
configuration parameters in DHCP options).

So it seems there's no way, per the spec, to send a DHCPOFFER that contains options but no IP address.


I am afraid you will not be successful with this approach. Client will not combine the information.

It would be that client send request and wait for a while. After receiving the answer(s) it would select one valid offer and acknowledge it back to the server. The rest is ignored... This behaviour came from the design that there can be even more DHCP servers/relays on the subnet and in the proper configuration it would work without issue.

The reality is that the clients are often react on the first answer. So in case you have two DHCP servers without interaction (statically split pool / IP range) you may get first answer "no free IP available" and second one with proper offer. Per design the client could use second answer but you can face situation that first one is used and the client behave like no valid offer would come ( I have been already troubleshooting this situation)...


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.