You cannot set the Windows DHCP/DHCPv6 server to listen on dynamic addresses or all addresses, only static addresses. Is there a technical reason for this limitation? Is there any workaround?

My specific situation:

I am using Router Advertisements to configure IPv6 hosts in this network. The address prefix is acquired from upstream routers and MAY change without notice. The Windows DHCPv6 server in question is only configured to distribute domain search lists and other non-address related configuration (it configured for stateless mode and does NOT configure addresses).

The DHCPv6 server could configure it's own address using the same Router Advertisements but then will not respond to requests. I cannot configure it to use a static address because it will break once the prefix changes.

I do realize I can set up a ULA in this subnet but that is a last resort (not an answer).

UPDATE: There has been some question is whether dynamic IPv6 routing is a good idea. I consider it a necessity even if your ISP provides static prefixes. It must be used in order to be able to quickly re-route from fail-overs and to imitate other functionality provided by pseudo-routing in IPv4 NAT.

  • Did you configure the DHCPv6 server to operate in stateless mode? – Michael Hampton Mar 31 '13 at 22:51
  • @MichaelHampton Yes, it is configured for stateless mode. – Nick Whaley Mar 31 '13 at 23:28
  • 1
    I can't think of any technical reason why this wouldn't work. Have an upvote. Though, if your ISP will change your prefix without notice, they really suck at network management, and you probably need a new ISP. – Michael Hampton Mar 31 '13 at 23:40
  • 1
    @MichaelHampton All ISPs that are offering dynamic addresses will give you dynamic prefixes also. – Nick Whaley Apr 1 '13 at 1:07
  • 2
    This is IPv6. There should not be any dynamic prefixes being assigned by any ISP, not even for residential customers. Your ISP is seriously doing it wrong. Renumbering without notice? That's the stuff of nightmares there. All that said, your question still needs an answer. – Michael Hampton Apr 2 '13 at 5:44

Now I know I said setting up a ULA was not an option but it is actually far easier than I thought. You do not need to publish the prefix. And no other address in the ULA subnet even needs to exist anywhere.

Yes, it is a garbage address that clutters up the routing table but at least it doesn't get into other machines.

Hopefully Microsoft will take note at some point and allows their DHCPv6 server to respond on other available addresses besides static. It makes sense to require a static address during stateful address assignment in order to reliably map scopes to interfaces. But it does not apply to stateless DHCPv6.

Unfortunately, there is no other answer to this question.


I don't know the technical reasons why Microsoft forces Windows' DHCP service to only listen on statically-configured network adapters (although I can think of a few ones), but I know for sure this is a requirement, and there are no workarounds.

From http://technet.microsoft.com/en-us/library/cc755277.aspx:

For certain types of servers, you must assign a static IP address and subnet mask during or after Setup. These servers include DHCP servers, DNS servers, WINS servers [...]

From http://technet.microsoft.com/en-us/library/cc770650.aspx:

the DHCP Server service performs default service bindings as follows:

• If the first network connection uses a manually specified IP address, the connection is enabled in server bindings. [...]

• If the first network connection uses an IP address configured dynamically, the connection is disabled in server bindings.

  • Microsoft has always had this limitation in their DHCP server implementation and I'm also not aware of any way of working around this. Only option is , as far as I know, to drop MS DHCP alltogether and use a different DHCP server. Which might not be an option at all if you need to operate in a MS centric environment. – Tonny Apr 5 '13 at 14:16
  • The Windows DNS server does not have this limitation and is working fine in this network. I do not believe WINS does either but I am not running one to check. – Nick Whaley Apr 8 '13 at 18:15

A possible workaround would be to use multiple interfaces either physical or virtual switch types. I would assign a 'private' unique local address block such as FC00::/8 for the DHCPv6 server interface binding. Since your client computers can have multiple IPv6 addresses, they should still be able to get a public autoconfigured /64 address.

  • Although reservered for ULAs, the FC00::/8 block is not defined yet (Possibly will be managed ULAs by assignment authorities). FD00::/8 should be used for self-assigned ULAs. And there is no reason you need a separate interface. I can put as many addresses on a single interface as I wish. See my post above in regards to using a static ULA. – Nick Whaley Apr 11 '13 at 14:09

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.