Dnsmasq proxy booting with UEFI
-
Its strange, even though that first block should just work out of the box because its a proxy for a DHCP server its still not grabbing the right info for it. I think it might be an issue with my DHCP server because its just giving me a PXE-E18: Server response timeout. Its just a pain because I have no access to the DHCP server itself.
-
@Killklli said:
Its just a pain because I have no access to the DHCP server itself.
I feel you. But at the same time - I know people who are CompTIA Net+ certified who have no clue how DHCP works… Absolutely no clue other than “it gives IPs out”.
Well - knowing that isn’t good enough. You have to be omni-aware of your environment. For instance, you CANNOT just “forget” that DHCP is running on your MAC server and then fire up DHCP on a windows server like one of my not-to-be-named co-workers did… Managing network services like this requires a person who is detail oriented and a person who is very knowledgeable about such services… I’m not saying your not that person, but odds are, whoever controls it in your environment aren’t as knowledgeable as I’m describing either - most network admins simply freeze up and don’t change anything for fear of causing an outage - and that’s a no good network admin. See, thats why most of those guys get paid salary - so they can setup a small environment at home to test with, or they should setup a mini environment at work just for testing - this way they greatly reduce the chances of making a mistake on the production network.
-
@Killklli Try this. And you are filling in your IP where it has x.x.x.x right?
port=0 log-dhcp tftp-root=/tftpboot # I commented this line out because we don't want to blast out one file for everything. #dhcp-boot=undionly.0,x.x.x.x,x.x.x.x dhcp-option=17,/images dhcp-no-override #Commented this line out #dhcp-option=vendor:PXEClient,6,2b #Here, I define netboot types dhcp-vendorclass=BIOS,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 #Set bootfile names depending on the client vendor identifier dhcp-boot=BIOS,undionly.0 dhcp-boot=UEFI,ipxe.0 pxe-prompt="Press F8 for boot menu", 3 pxe-service=X86PC, “Boot from network”, undionly pxe-service=X86PC, "Boot from local hard disk", 0 dhcp-range=x.x.x.x,proxy
-
I’ll try to revisit the BIOS & UEFI co-existence topic in the following days.
This is just something that I have to sit down and work on for a good while.
-
@Wayne-Workman I was working with a non production server at first but I hit a point where I needed to take it out of that and try to get it to work with the pre existing one. Its for the Comp Sci departments computer lab on my campus. They actually set us up in such a way where if we screw up with DHCP it doesn’t mess up the rest of campus. Its been broken too man times. I’ll give that new one a shot, and yep I’ve been filling in the static IP.
-
@Wayne-Workman Hmm, I’m still having an issue with PXE-E18. There’s a good chance its on their end. When I can physically get to the machine in the morning I’ll hook it back up to my network and see if having the UEFI DHCP running. If it works at least then I know for a fact its on their end and not mine.
—Edit—
Turns out that config is working with the Legacy version as well. As of writing this UEFI still is not working but its working for legacy. -
@Killklli @Wayne-Workman Sadly its still not working. I tried on a non production DHCP server and its still not pushing it out with the code you gave me. The DHCP server I have even has factors set for a UEFI gateway and dns. I’m using a Server 2012 DHCP/DNS server and Ubuntu 12.04 running fog 1.20 for it by the way. Is there anything else I can try?
-
@Killklli I’m not sure the code I gave you even works - it was just a guess. I was hoping you’d play around with it. I’ll have to find time to sit down and work with it.
-
@Wayne-Workman I’ve been trying multiple things in the meantime but have still yet to be successful with it. It was a good jumping off point but I’ve still yet to hit the right point. Thanks for your help.
-
@Wayne-Workman Turns out it was an issue with having both the Legacy vendor and the UEFI vendor listed. Its at least seeing the server now but now I dive into the hole of “Failed Secure Boot Verification”
-EDIT-
Scratch that. Still hates me. It was an issue with a VM. It is downloading now though.–Edit Edit–
I had an extra DHCP option still on. Still not downloading. But If I go back to legacy mode those options work. -
@Killklli In the mean time, the link I gave you about BIOS UEFI coexistence gives step-by-step instructions for Server 2012 and later.
You could pass that link off to your network guys and just respectfully ask that they look at this.
NOTE: that the method described there won’t work for server 2008 and lower.
-
@Killklli Wait… what does the ltsp.conf file look like right now?
can you add comments so we know what you’ve done?
-
@Wayne-Workman Sorry about the delay right now it looks like. I’ve tried multiple configs so this one is more or less a start over of where I was originally. So not much has changed currently.
port=0 log-dhcp tftp-root=/tftpboot dhcp-option=17,/images #Removed dhcp-option=vendor:PXEClient,6,2b dhcp-no-override #removed dhcp-vendorclass=BIOS,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 dhcp-boot-UEFI,ipxe.0 pxe-prompt="Press F8 for boot menu", 3 pxe-service=X86PC, "Boot from network", undionly #removed local boot its un-needed dhcp-range=192.168.1.2,proxy
-
@Killklli and the contents of your tftpboot directory?
ls -lahRt /tftpboot
-
@Wayne-Workman Here’s a screenshot.
-
@Killklli you don’t have a copy or a symbolic link of ipxe.efi for ipxe.0
so lets fix that first:
ln -s /tftpboot/ipxe.efi /tftpboot/ipxe.0 or cd /tftpboot ln -s ipxe.efi ipxe.0
Then try the scripts I gave you - and play around with them a little.
-
@Killklli I’m not 100% sure you need to specify the file as ipxe.0. With Proxy dhcp the .0 extension is automatically appended, and I can’t keep it from appending it. So If my suspicions are correct, it may actually be looking for a file called: ipxe.0.0 as well. I don’t know for sure though.
-
@Tom-Elliott It does. At least it did in my environment when I was fighting with it. Getting close to being able to revisit this subject myself. Expect to be migrating our DHCP servers to WinSrv 2012R2 in the next 30 days.
-
This post is deleted! -
@need2 @Tom-Elliott well that complicates things… why did it work for me then? gah. I really need to sit down and tackle this.
@Killklli Run the below commands and then try the attached script.
ln -s /tftpboot/ipxe.efi /tftpboot/ipxe.efi.0 ln -s /tftpboot/ipxe.efi /tftpboot/ipxe.0 ln -s /tftpboot/undionly.kpxe /tftpboot/undionly.kpxe.0 ln -s /tftpboot/undionly.kpxe /tftpboot/undionly.0
port=0 log-dhcp tftp-root=/tftpboot dhcp-option=17,/images dhcp-no-override #this line is suspicious to me. What the heck does 6,2b mean ? dhcp-option=vendor:PXEClient,6,2b #Here, I define netboot types dhcp-vendorclass=BIOS,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 #Set bootfile names depending on the client vendor identifier dhcp-boot=BIOS,undionly.kpxe dhcp-boot=UEFI,ipxe.efi pxe-prompt="Press F8 for boot menu", 3 pxe-service=X86PC, “BIOS and LEGACY Network Boot”, undionly pxe-service=X86PC, “UEFI Network Boot”, ipxe dhcp-range=x.x.x.x,proxy