I sent this email few weeks ago (without being subscribed
here), and didn't receive any reply, nor do I see it in lists
archive. So I write once again after subscription, hope it
will work now.
My isc dhcp server behaves strangely - it sends some clients dhcp hostname option value which I don't know where it is getting it from.
It's on Debian 8.5, version 4.3.1. It's in failover mode.
I'm using dynamic hostname generation for some clients based on last byte of their mac address:
set mac_6 = suffix(concat("0", binary-to-ascii(16, 8, "", substring(hardware, 6, 1))), 2); ddns-hostname = concat("vm1", mac_6); option host-name = config-option server.ddns-hostname;
So for example client with mac address ending 02 should get hostname vm102 - and it seems to work correctly - I added logging to my dhcp config and I see in log file both option host-name and config-option server.ddns-hostname set to vm102.
I also see in dhcpd.leases
set mac_6 = "02"; client-hostname "vm102";
But when I run tcpdump for this client, I see
Hostname Option 12, length 5: "vm121"
and at least once it changed to vm103.
So where is it getting it from? What are the sources for this option when dhcp server sends DHCPOFFER or DHCPACK?
It works after dhcp server restart, but then it starts again after a whlie.
I tried to read isc-dhcp-server's source code but got bit lost as it was hard to follow.
Thanks for any help.