ISC DHCP & Microsoft RIS
Our organization made the switch from a Microsoft based DHCP solution to an appliance based DHCP solution (Linux based). Recently, someone went to use Microsoft Remote Installation Service (RIS) and noticed that the process was broken.
The initial report was that the computer could not obtain a DHCP lease using PXE boot, which I found to be odd since no other devices were having issues obtaining a lease. A quick scroll through the DHCP server logs revealed that the computer was requesting a lease and the DHCP server was offering an address. Once I took a look at the affected computer, I noticed that the PXE boot client was returning an error code of “PXE-53″. This error indicates that the client was able to obtain an IP address, but was not able to download the needed file.
When using Microsoft RIS with a MS DHCP server, all needed configuration is taken care of automatically. Once you bring in a non-Microsoft solution into the mix, some manual configuration is required. Luckily this configuration is minimal. Below are the lines of code that you need to added to the dhcp.conf file in order to get an ISC compatible DHCP server to work with Microsoft RIS. I have tested this on an Infoblox 550A appliance, but the code should work on any ISC compatible DHCP server.
server-name “MY-RIS-SERVER”;
next-server 192.168.1.26;
filename “\\OSChooser\\i386\\startrom.com”;
The needed lines are fairly self-explanatory. “server-name” is the hostname of your RIS server, and “next-server” is the IP address of the same server. Finally, “filename” is the path of the file you want to boot with (In this case I choose to boot to the OS Chooser). Note that this path is relative to the default storage path for RIS, and the extra backslashes “\” are required for the config file to parse correctly.
After making these changes, save the config file and restart the DHCP daemon.