USB Boot and point to custom FOG server IP
-
So it booted, read from tftp://customip, then tried to load the menu boot.php from http://10.0.0.10, so somewhere in the config is still pointing to the offline ip. I will check the code.
Just realized something. The USB boot is pulling instructions from the default.ipxe. Maybe I should tell it to pull a custom file from the fog server with the updated IP?
-
@george1421 @Sebastian-Roth
Turns out this might be more complicated than I thought. I got up to boot fog menu, after it tried to download bg.png from the offline http://url. Tried to deploy an image, logged in, then it tried to load http://10.0.0.10/fog/service/ipxe.boot.php. Before that though, it successfully loaded boot.php from the external ip. Sounds like I will have to comb through all the config files and make new versions to point to external IP but keep the 10.0.0.10 functionality…? -
@brakcounty said in USB Boot and point to custom FOG server IP:
The USB boot is pulling instructions from the default.ipxe. Maybe I should tell it to pull a custom file from the fog server with the updated IP
It should be pulling from default.ipxe on the server you defined. Now if that is pointing back to the HQ fog server that’s a different issue.
Is the wanted FOG server a full fog server or a storage node?
-
@brakcounty said in USB Boot and point to custom FOG server IP:
Turns out this might be more complicated than I thought. I got up to boot fog menu, after it tried to download bg.png from the offline
You may need to draw a picture on a napkin with IP addresses of exactly what you are shooting for. It sounds like you have the basis working, but missing something in your expectations.
-
@george1421
Let me do that on a digital napkin then I’ll upload it here in a bit -
@george1421 It is a full FOG server.
So far I changed the ip address in ipxeconfig.ipxe (embedded into the ipxe.efi image) and default.ipxe to point to the online IP 192.168.1.50. I renamed default.ipxe to default_usb.ipxe and referenced that filename in ipxeconfig.ipxe before I compiled the image.
-
My guess is that somewhere along the chain, a reference to ${fog-ip} is made that breaks the chain. So I would have to find a spot to fork the process by setting a new ${fog-ip}, duplicating files naming them “whatever_usb” like I’ve been doing so far with success. Does that make sense? I think the fork would have to be at the boot.php part. Since default.ipxe points to the boot.php, I’d have to make a custom boot.php file that points the process to the online interface. I’m looking at boot.php now but don’t see any IP addresses or files being referenced. I also don’t know much about php.
-
@brakcounty I’m still trying to get my head wrapped around the flow here, but 2 things pop out at me.
- If you only have 1 fog server then it isn’t designed to support imaging over 2 different interfaces. Everything will point back to its defined imaging network IP.
- Possibly if dns names were being used instead of IP addresses you could create a split horizon DNS configuration where internally fog.server.com would point to the 10.x network and externally fog.server.com would point to the 192.168.x interface. You would need to replace all of the static entries in the fog server web ui with DNS name. But that might be an option too.
-
@george1421
A split horizon DNS config huh? I will investigate this. Thanks! -
@brakcounty While a split DNS config will help you to get a few steps ahead it’s as George said, FOG wasn’t made to be used with more than one interface. Not exactly sure if single cast deploy ( over NFS share) will work but I imagine it does. But multicast will definitely not work in both networks without major code changes I am sure.
-
@Sebastian-Roth
I read through this tutorial and others https://www.slashroot.in/how-to-configure-split-horizon-dns-in-bind
Seems like it isn’t practical since it handles requests coming from specific subnets, which we have a very large number of. I’d have to put each known subnet into the bind config. I want requests coming from the interfaces to be handled the way you described above. -
@Sebastian-Roth
Single cast is the goal when imaging PCs remotely. This is really for times when we have to reimage a few or a single PC and we need to bring it back to hq to image. I could put fog servers at each site loaded with dept specific images. Do the web files reference 10.0.0.10 or does something else do that? Because I could make two fog sources under /var/www and have each dedicated to the interfaces. -
@brakcounty said in USB Boot and point to custom FOG server IP:
Do the web files reference 10.0.0.10 or does something else do that? Because I could make two fog sources under /var/www and have each dedicated to the interfaces.
It’s stored in the database (storage node settings in the web UI). FOG was not made for this and you will have to dig pretty deep even to get unicast to work.
When machines PXE boot they load a generated iPXE configuration (via URL http://x.x.x.x/fog/service/ipxe/boot.php) and that is build using the values from the database.
As I said earlier I imagine it might be easier for you to use George’s USB boot method where you manually specify the values using Kernel parameters instead of using the auto-generated iPXE configuration.
-
@sebastian-roth
I figured such. The usb method on my offline imaging switch is redundant since pxe works fine on that. Just would have been nice to be able to image remotely booting via USB, kind of like Acronis+mapping to an SMB share that stores the images. If only my network team would enable tftp/pxe on their dhcp servers. We have it only on our hq subnet but it is being used by SCCM, and SCCM takes a very, very long time to image a PC. We only use it to get a base Windows 10 image and work on it from there, then capture/upload our custom dept images to the FOG server.