Mac Clients getting IP address out of DHCP range when Net Restoring

Networkosx-server

I have a Mac Server setup to reimage my Mac Clients and it has been working great since 10.9.

My server environment is primarily windows with the exception of a few Mac servers (Imaging, Printing, and Caching). I have a windows server that runs DHCP and has a small range setup for reimaging. The clients used to get an IP in this range, however, since upgrading the Mac Server to 10.12 they are getting an IP address outside the DHCP range and causing IP conflicts. It just seems to pick a random IP.

My DHCP range is 192.168.17.130 – 192.168.17.160. The Macs are getting IP's like 192.168.17.83 (which is already allocated to another device on the network). My DHCP server is not showing any mention of the Mac client, and it also has lots of available IP's to lease.

I do not have DHCP server turned on, on any of my Mac Servers.

As you could imagine it is causing the reimage's to go really slow and act strange.

Best Answer

Despite the Mac server's DHCP service being "off", it might still be handing out addresses to DHCP clients. The DHCP and NetInstall/NetBoot services are both handled by the same daemon, bootpd (although NetInstall also activates TFTP and NFS). Theoretically, if NetInstall is on but DHCP is off, bootpd should be running but not handing out addresses over DHCP. But in at least some versions there's a bug that can lead to DHCP being fully active despite being "off".

The bug seems to occur when both DHCP and NetInstall are turned on, then DHCP is switched off, but the bootpd daemon doesn't seem to get the message and keeps doing DHCP. Generally, the solution is simple: switch both DHCP and NetInstall off, then switch just NetInstall on.

To confirm, check the log (system.log specifically) on the Mac server, look for entries from bootpd. You should see "BSDP" entries, but not "DHCP". See this Apple support document for some examples (although it has both BSDP and DHCP running).