The problem is with MS DHCP client in W11.
- The W11 DHCP client send DHCP-DISCOVER with Broadcast flag set to 0 (unicast):
- DHCP server receive discover and make DHCP-OFFER with Broadcast flag 0 and send reply directly to IP and specified mac address
- the W11 DHCP client or windows itself ignored this packet and make another DHCP-DISCOVER and so on
- after few tries (with ESET Antivirus installed it can take even 8 minutes.) the DHCP client sets Broadcast flag to 1 and send DHCP-DISCOVER
- the DHCP server make DHCP-OFFER with BR bit 1 and send to 255.255.255.255 and eventually the client "hear" this offer and make DHCP-REQUEST with BR flag to 1
- the DHCP server hear request and make DHCP-ACK with BR flag to 1 and send to 255.255.255.255
- the W11 client "hear" DHCP-ACK and use received IP
There are two working workarounds of this problem (choose one - suitable for You)
- make DHCP server reply always with Broadcast bit 1 and send to broadcast address (255.255.255.255), when windows client is detected, in ISC DHCP server is like this:
class "windows" { match if option vendor-class-identifier ~~ "^MSFT [0-9\.].*"; always-broadcast on; }
or
- change W11 dhcp client parameters to always use broadcast flags in Ethernet and Wi-Fi connections - it will work for newly installed network adapters
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dhcp\Parameters\DhcpGlobalForceBroadcastFlag\0] "9"=dword:00000001 "14"=dword:00000001 - Change DhcpConnForceBroadcastFlag for each installed network interfaces by doing this:
Find installed adapters in:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards
and write GUIDs
Use found GUIDs and (using found GUIDs) go to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\$GUID
and set "DhcpConnForceBroadcastFlag" DWORD to 1 for each found GUID
Reboot Windows
Both solutions works independently of each other.