I am a software developer and I am working on the develpoment of a network device (SIP phone). When it boots up, I want it to register a domain name on our network so that a customer can easily browse to the web interface. I have talked with the company that is developing the software for the device, and they have in other projects provided the host name in DHCP Option 12 and then that somehow (magically) gets registered in DNS with the IP address returned from the DHCP request.

So I have a test build of the software modification that includes the device setting DHCP Option 12 with a host name based on the MAC address (e.g. SIP100_0026FDF00057). However, I can not query that hostname from my Windows machine. The DHCP and DNS servers are on Windows Server.

Is there some special configuration on the DHCP and/or DNS to make this registration happen?


Windows systems that are members of a domain can automatically register their hostname in the domain DNS; but this can be done only by Windows systems.

Microsoft DHCP can be configured to register DNS names on behalf of those clients which can't do that by themselves (like Linux ones); this is what should be done if you want your device to automatically appear in your DNS. You can configure this on the DHCP server's properties.

Be careful, though, as this will mean any client will get registered in the DNS if a DHCP lease is handed to it.

More info here.

| improve this answer | |
  • Do you know if there is a way to enable this per DHCP scope or based on the vendor class identifier of the DHCP request (Option 60)? – chrish Oct 5 '09 at 2:10
  • No, this is a server-level option. – Massimo Oct 5 '09 at 4:59
  • Comment on "only by Windows systems"... I have had good luck registering Linux clients' hostname with DHCLIENT, as long as they fall within the DHCP IP range and don't compete with existing IP assignments. – kmarsh Oct 5 '09 at 13:13

I think that you should also enable option 81 in dhcp.

| improve this answer | |

In the Windows DHCP admin tool, right-click on the server and select Properties. Go to the DNS tab and "Enable DNS Dynamic Updates".

This is the default setting, though (I'm pretty sure), and if it's turned off, it's likely that someone turned it off for a reason. And that reason is probably to prevent it from crapping all over your DNS server. The Windows DHCP server will register names and then forget to remove them. There's a lousy workaround embedded in the Windows DNS server called "Zone Aging/Scavenging", but it has been known to delete records that you are actually using.

IMHO, the proper solution is to use a real DHCP server, like ISC DHCP, that won't forget to remove unused hostnames.

| improve this answer | |
  • Could you recommend alternative DHCP servers? – Joe Internet Oct 3 '09 at 11:09
  • ISC DHCP, linked in answer update. – wfaulk Oct 4 '09 at 7:18
  • "A real DHCP server"... didn't O.S. wars end quite a while ago? – Massimo Oct 5 '09 at 5:01
  • 2
    If you want to think that the Microsoft DHCP server doesn't fail to delete expired leases from DNS, or that you can change the netmask of a scope without deleting it and reentering it, or that its interface for entering reservations is fun and exciting, in order to placate your sense of OS equality, feel free. I'm going to continue thinking it's a piece of crap. – wfaulk Oct 5 '09 at 6:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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