6

I have 4 DHCP Scopes.

10.200.0.0 <--------DHCP Server Lives Here

10.54.0.0

10.16.0.0

10.32.0.0

A DHCP broadcast request is sent to my DHCP server. How does it decide which scope to pull an address from?

My problem is that a client that should be getting a 10.200.0.0 address is actually getting an IP address from the 10.16.0.0 scope and I can't figure out why.

2
  • what kind of DHCP server are you using?
    – August
    Sep 21, 2011 at 18:09
  • Server 2008 R2 DHCP Server
    – Ruisu
    Sep 21, 2011 at 18:25

2 Answers 2

7

That's not expected behavior, so it makes me think something more complex is happening than a simple broadcast being received by the DHCP server.

When the DHCP server receives a layer 2 broadcast DHCPREQUEST it will fulfill that request out of a scope that corresponds to the subnet of the interface the DHCPREQUEST was received on, just like you expect. When it receives the request as a layer 3 unicast from a DHCP relay agent (with the GIADDR address set) it will fulfill the request out of a scope with a subnet that includes the GIADDR address.

I'd sniff the traffic coming into your DHCP server (with Microsoft NetMon or Wireshark) to be sure that the request really is arriving as a layer 2 broadcast.

3
  • What would be normal behavior if there were no more IP addresses to hand out in the scope? Would it not hand out an address or would it hand out an address in another scope? Also, 10.16.0.0 and 10.32.0.0 have not been added as subnets in Active Directory Sites and Services. What impact would that have?
    – Ruisu
    Sep 21, 2011 at 20:39
  • 1
    If there are no available ip addresses in the scope for a particular network then the DHCP server does not assign an ip address to that client on that network (it would be an invalid ip address for that network). It does not assign an ip address from a scope "belonging" to another network. ADS&S has no bearing on the assignment of ip addresses to clients by the DHCP server that I'm aware of.
    – joeqwerty
    Sep 21, 2011 at 21:10
  • @Ruisu: Sorry-- busy afternoon and didn't get back to you. I'd have said everything joeqwerty said, pretty much. To speak about packets specifically, the DHCP server won't send a DHCPOFFER if it has no addresses in the appropriate scope to offer for a lease. It'll just be silent. Sep 21, 2011 at 22:09
1

In addition to what Evan stated in his answer, do you in fact have networks of 10.54.x.x, 10.16.x.x, and 10.32.x.x separated by a router or routers? It sounds like maybe you have simply set up multiple scopes for clients that are all on the same network. Is that the case?

In addition, (as Evan stated) DHCP broadcast messages from clients on a different network than the DHCP server need to be "relayed" to the server via a DHCP relay agent (usually configured on the router itself). The DHCP relay agent transforms the broadcast messages into unicast messages, so you should not see any broadcast messages reaching the server from networks other than the DHCP server network itself. You should be seeing unicast messages from the DHCP relay agent for clients on different networks. Is that what you're seeing?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .