I ran into a very weird situation today with our Windows Deployment Server and PXE booting a VM.<\/p>\n
Our setup is 6 Windows Server 2019 Hyper-V servers connected to a pair of Supermicro 25G switches via Switch Embedded Teaming.<\/p>\n
All the VMs involved in this are in a single Vlan, so the network config is flat as far as that goes.<\/p>\n
We have a DHCP VM server, separate from our WDS VM server, and that is configured per MS’s recommendations. IE no option 66 or 67 in the DHCP, and let the WDS service handle setting up the PXE client.<\/p>\n
If I put the DHCP VM, the WDS VM, and the new VM all on the same host, Everything works just fine.<\/p>\n
However, is I have any one of them on separate a host, it’s like they loose communication with each other.<\/p>\n
I also noticed that the MAC address assigned to the PXE client doesn’t show up in the SuperMicro switch’s MAC tables. Which seems to be very weird. I need to investigate this, as that seems like a very likely cause of the problem.<\/p>\n
Note, Everything works just fine in windows, DHCP, ect, it’s just something with the PXE boot process.<\/p>\n
Has anyone run into anything like this before?<\/p>\n
Thanks!<\/p>","upvoteCount":6,"answerCount":10,"datePublished":"2021-09-03T18:40:35.000Z","author":{"@type":"Person","name":"roblawton","url":"https://community.spiceworks.com/u/roblawton"},"suggestedAnswer":[{"@type":"Answer","text":"
I ran into a very weird situation today with our Windows Deployment Server and PXE booting a VM.<\/p>\n
Our setup is 6 Windows Server 2019 Hyper-V servers connected to a pair of Supermicro 25G switches via Switch Embedded Teaming.<\/p>\n
All the VMs involved in this are in a single Vlan, so the network config is flat as far as that goes.<\/p>\n
We have a DHCP VM server, separate from our WDS VM server, and that is configured per MS’s recommendations. IE no option 66 or 67 in the DHCP, and let the WDS service handle setting up the PXE client.<\/p>\n
If I put the DHCP VM, the WDS VM, and the new VM all on the same host, Everything works just fine.<\/p>\n
However, is I have any one of them on separate a host, it’s like they loose communication with each other.<\/p>\n
I also noticed that the MAC address assigned to the PXE client doesn’t show up in the SuperMicro switch’s MAC tables. Which seems to be very weird. I need to investigate this, as that seems like a very likely cause of the problem.<\/p>\n
Note, Everything works just fine in windows, DHCP, ect, it’s just something with the PXE boot process.<\/p>\n
Has anyone run into anything like this before?<\/p>\n
Thanks!<\/p>","upvoteCount":6,"datePublished":"2021-09-03T18:40:35.000Z","url":"https://community.spiceworks.com/t/weird-pxe-dhcp-behavior/810253/1","author":{"@type":"Person","name":"roblawton","url":"https://community.spiceworks.com/u/roblawton"}},{"@type":"Answer","text":"
Have you assigned a static MAC address to the VM? I know in VMWare it will change unless you do this.<\/p>","upvoteCount":0,"datePublished":"2021-09-03T20:12:38.000Z","url":"https://community.spiceworks.com/t/weird-pxe-dhcp-behavior/810253/2","author":{"@type":"Person","name":"rockn","url":"https://community.spiceworks.com/u/rockn"}},{"@type":"Answer","text":"
Yes, we use static MAC for all of our VMs<\/p>","upvoteCount":0,"datePublished":"2021-09-03T21:07:52.000Z","url":"https://community.spiceworks.com/t/weird-pxe-dhcp-behavior/810253/3","author":{"@type":"Person","name":"roblawton","url":"https://community.spiceworks.com/u/roblawton"}},{"@type":"Answer","text":"
OK first let me say I don’t know much about hyper-v or wds, but I do know quite a bit about dhcp and pxe booting.<\/p>\n
When you pxe boot a target computer it sends out a Discover broadcast, any dhcp server that hears that Discover packet will respond with an Offer packet. If the Offer packet has the details in it the target computer needs it will then send a formal Request for the specific data it needs. The dhcp server when the send an Ack or Nack packet to confirm the settings have been accepted. This process is called DORA. It is all handled over broadcast communications. Now enter the WDS server running its ProxyDHCP server (udp port 4011). The ProxyDHCP server also listens for a target computer’s Discover packet. It then returns its Offer packet with dhcp option 60 set to indicate its a ProxyDHCP response not an official DHCP response (hint double check your dhcp server to make sure you are not sending dhcp option 60 out unless your dhcp server and WDS server are in the same VM. This arrant dhcp option 60 is know to gum up the works). So the client receives 2 dhcp Offer packets, one from the real dhcp server and one from WDS’ ProxyDHCP server (with dhcp option 60 set). The DORA process completes with the main dhcp server, at the end of the DORA process the target computer will reach out to the ProxyDHCP server to get the boot server and file name for booting. The next step is for the target computer to reach out to the named boot server (WDS in this case) with the requested boot file over tftp (udp port 69) to load and boot the bootstrap program.<\/p>\n
That is how it works. So now where to look to find out where its going wrong… If I had to make a guess based on your truth table you provided if you move one of the VMs off host one then the process stops working. That is telling me for some reason hyper-v is not letting the broadcast messages leave its internal vSwitch. Normal debugging of pxe booting issues we would use wireshark on a witness computer (third computer on same subnet as the other actors) using the capture filter of “port 67 or port 68” Since the dhcp process depends on broadcast messages this witness computer will see the entire DORA process. So… If you loaded wireshark on an external computer and started the capture with the filter I provided and also load wireshark on a computer withing host one. Both computers running wireshark should see the pxe boot request from the target computer. If only the internal witness computer sees the DORA process then you know the problem is somewhere between the internal vSwitch and the external network.<\/p>","upvoteCount":0,"datePublished":"2021-09-04T00:42:02.000Z","url":"https://community.spiceworks.com/t/weird-pxe-dhcp-behavior/810253/4","author":{"@type":"Person","name":"george1421","url":"https://community.spiceworks.com/u/george1421"}},{"@type":"Answer","text":"