Discussion Locked

DHCP assigns address from wrong scope

0 helpful
3 replies
Closed to new repliesThis discussion is closed. It stays readable, but it takes no new replies.
I've got a 2000 Server machine running DHCP service with a scope configured for the subnet that the server resides on(per other articles I've read), and it also has 3 other scopes for remote subnets. Each of these subnets are connected through an HP 5372 switch w/ IP helper-addresses configured to point back to the 2000 server to obtain their addresses. If I bring a client up on one of the remote subnets, it works fine. However, if I take that client and move him to a different subnet, release and renew, 2000 DHCP server still assigns me the address from the old subnet. I've even tried manually deleting the lease from the server, then bringing the client up. There are no NACKS in the DHCP logs. Its almost as though the server thinks its assigning the client an address from the correct scope. The only way to make it work is to connect to the old subnet, release address, delete lease from server, then connect to new subnet. Any ideas? Thanks!

3 replies

by rsbless

Sounds to me like you hit the answer yourself and perhaps didn't realize it.
The computer is still assigned in DHCP with a lease on the original subnet. The release needs to be accomplished on the original subnet for it to gain a new IP address on the new subnet.
Think about it, the DHCP keeps track of all current leases doesn't it?

Good Luck

by ayoshi

When a client first requests an IP address through DHCP, it does the following (non-tech terms used throughout):

1. Client: Hey, Anybody out there who can give me an address?
2. DHCP Servers: Sure, I can (multiple servers may send this)
3.Client: Ok , give me an address
4. Chosen DHCP server: Ok, Here's your address

When a client already has an address, here's how it goes:
1. Client: Hey , I got address 1.2.3.4 from you the other day, can I keep it?
2. Server: Sure, that address is still available, go ahead and keep it.

So... from these examples, you can see that once a client receives an address, they will generally keep that address unless the Server in Step 2 of the renewaldenies it for some reason.

However, I would think that Microsoft would be able to fix a problem like this, but... it's not a bug, it's a feature.

by owen.grabo

I finally solved this problem. Thanks to everyone who responded with suggestions. I ended up finding this through pure trial-and-error (and some amount of luck). I initially had my 2 scopes for the remote subnets in a superscope, with the scope for the local interface (the one the server is attached to) in a seperate superscope (per a MS KB article). Removing all superscopes solved the problem. Now all the scopes are just in the root under the server. When I move a client from one subnet to another, the client attempts to renew its lease (with the old IP), the server sends a NACK, and then the client enters a rebinding state and obtains a brand new IP on the correct subnet. This is the way DHCP should always work, but with the superscopes, the W2K server would never realize that it was on the wrong subnet and send a NACK. Note: Make sure you have a scope created for the local interface/subnet that the DHCP server itself is attached to or you will get intermittent results.

This discussion is closed to new replies.