How to create DHCP reservations with long hardware address

dhcpmac addresswindows-server-2008-r2

DHCP is managed by a Windows 2008r2 server. I want to convert a lease into a reservation so the IP will be fixed. Normally, I create a reservation based on the assigned IP address, and when the lease expires, it uses the reservation.

Most of my devices have Client Hardware address that look like this: ab-cd-ef-00-12-34.

I have one new device (A Raspberry Pi), that has a Client Hardware Address that looks like this: eb-ea-ad-06-00-01-00-01-1c-dd-60-60-b8-27-eb-ea-ad-06

That is 18 bytes instead of the normal 6. The first 4 are the same as the last 4.

I created a reservation with the last 6 bytes (b8-27-eb-ea-ad-06), but when the original lease expired, it didn't use the reservation, but received a new IP address from the pool.

I found this post that explains a possible solution on the client side.

I tried adding send dhcp-client-identifier = hardware; into /etc/dhcp/dhclient.conf

The line was there and I un-commented it. After rebooting the Pi to get a new address, the Windows server still sees the device as having the 18-byte HW address. I also triedsend dhcp-client-identifier = b8-27-eb-ea-ad-06; (which is the actual address reported on the Pi by ifconfig. Windows still sees the 18 byte address.

I can create a reservation with the 18 byte HW address, but I'm wondering if that will be stable over time. IE will the "extra" bytes vary depending on where in the network the Pi is connected?

Is there any other solution?

Best Answer

No, no other solution on server side! Some linux machines supply the client-identifier as 18byte HW-Address instead of the macaddress (option 61), due to RFC. This is enhanced security, not to switch from one dhcp segment to another. You cannot bypass this in Windows DHCP-Server. Yes, you have to supply the 18byte ClientId.