I'm experimenting various network setups using VMs. When I setup the DHCP role on Windows Server, it requires a static IP. I am having trouble understanding why this is necessary from a technical point of view.
My understanding of DHCP is, a client broadcasts a DHCP Discovery request on the network, and any device on the network can respond. A DHCP server thus needs an IP address, but why does this IP needs to be static? The DHCP server can get its address elsewhere and still respond to the broadcast as long as it has an IP.
E.g.
- Server A, Server B and Client X are all connected to the same switch
- Server A is 10.0.0.1 and serves 10.0.0.X/24
- Server A is configured to only give IP to Server B via MAC filtering
- Server B gets its IP from Server A, thus it lives on 10.0.0.X/24
- Server B serves 10.0.1.X/24
- Client X connects, and gets an IP from Server B
Of course, once Client X gets is IP from Server B, it won't be able to contact Server B directly since they live on different subnets. But that's not a problem - the DHCP request is (initially) a broadcast, so everyone on the switch will receive it.
Ignore a management point of view, why can't I have
- A master DHCP server with static IP, it only serves other DHCP servers
- An address range for the "secondary" DHCP servers
- An address range for clients, obtained from the "secondary" DHCP servers
Is there a technical reason that DHCP servers must have a static IP?