DHCP/VLAN - Clients assigned old IP address when changing VLANs
Posted on 2014-02-03
Hello thanks for reading!
We're currently having a problem in which DHCP clients that move between VLANs are assigned their old IP address if it's available. They should be getting a new IP from the subnet that they moved to, but instead get their old IP that isn't routable in the new network segment.
We have a Dell Powerconnect 7024 at the core of our network with 3COM switches at the edge. The Powerconnect is the default gateway for everything on all subnets and is configured with 4 primary VLANs.
VLAN10 = Main Data LAN (192.168.1.1)
VLAN11 = Secondary Data LAN (192.168.0.1)
VLAN20 = Voice LAN (192.168.10.1)
VLAN30 = wireless LAN (192.168.30.1)
There is one Windows 2003 DHCP server in VLAN10 with a single superscope that contains 4 scopes, one for each subnet.
All VLANs have full access to each other.
The PC 7024 has a global IP Helper to forward DHCP requests to the DHCP server.
If I connect Laptop1 to VLAN10 then it will pull an IP address from the correct scope.
If move Laptop1 to any other VLAN then it will pull the same IP address that it had received from VLAN10 instead of getting a new one. An ipconfig /release and /renew will return the same, incorrect address it had before.
If I delete the lease on the DHCP server then it will still pull the old address.
If something else takes the IP address that Laptop1 had in VLAN10 and then I move Laptop1 to another VLAN then it will pull an address correctly.
If I statically assign Laptop1 in any other VLAN then it will work normally.
If I create a reservation for Laptop1 in any other VLAN and then move it there, it will pull the reserved IP correctly.
I had Dell support look over the switch and they said that the IP Helper setup looks normal to them and they don't think it's the switch.
The IP Helper must be doing something correctly or else none of the other VLANs would get DHCP from the correct pool the first time they request an IP.
From what I understand the Dell should be inserting it's interface IP into the giaddr portion of the DHCP packet, which has to be working somewhat for the other subnets to get the correct DHCP address the first time they connect.
I ran a Wireshark trace on my laptop during one of these requests and can see that it's requesting its previous IP address. But, instead of receiving a DHCP NACK packet I'm getting an ACK back w/ the old IP.
I want to get a packet trace on my DHCP server to see what's happening there, but don't have the ability to put that in place right now.
Has anyone seen anything like this before or have some next steps I might be able to take?