TFTP Problems
-
@Wayne-Workman I though you would know of a wiki for that.
Just off the top of your head, do you know of a wiki that talks about pxe booting from usb flash. I know how to do it for uefi, but not bios. If not I can work on a process tomorrow.
-
@george1421 There are several threads on it (only one worth anything). The wiki article on it is incredibly dated
-
@george1421 This is from 2009. I’ve tried this before and totally abandoned trying. https://wiki.fogproject.org/wiki/index.php/Bootable_Media
I started to mess around with using etherboot but never got anywhere with it.
-
The only issue I can see for dnsmasq is that the fog server is not on a subnet by itself. From what I think I understand the fog server is on the same network as the clients and the dhcp settings are coming from a remote location. Unless I’m off on this you can not run dnsmasq and dhcp-relay for the same subnet since both will respond to the dhcp request
-
-
@george1421 said:
The only issue I can see for dnsmasq is that the fog server is not on a subnet by itself. From what I think I understand the fog server is on the same network as the clients and the dhcp settings are coming from a remote location. Unless I’m off on this you can not run dnsmasq and dhcp-relay for the same subnet since both will respond to the dhcp request
You would run dnsmasq in proxy mode. It responds to DHCP Requests with only add-on information. It operates with a pre-existing DHCP server, it does not serve as a DHCP server.
-
Have you tried a proxy dhcp using dnsmasq like they’re talking about?
I do realize that you are using a redhat not a debian, so unless you switch to a debian flavor of linux like ubuntu server or what have you, the commands would be slightly different, but I’m pretty sure that there should be equivalents for this all in redhat if you don’t want to switch distros again, and I wouldn’t blame you at all.
I only know how to set it up on debian based linux with apt-get, but I imagine the yum RHEL package is probably the same name.
From what I recall to set it up…sudo apt-get update sudo apt-get install dnsmasq sudo nano /etc/dnsmasq.d/ltsp.conf
In the ltsp.conf file put this…
port=0 log-dhcp tftp-root=/tftpboot dhcp-boot=undionly.kpxe,fog-server,10.1.8.1 dhcp-no-override pxe-service=X86PC, "Boot from network", undionly dhcp-range=10.1.8.1,proxy
You may need to make symlinks for dnsmasq to see the undionly file, and I’ve had some luck putting copies of the bootfile in the ipxe folder too, that very well may do nothing, but I think it fixed something once so I just kinda still do it to be safe since it doesn’t hurt anything.
sudo cp /tftpboot/undionly.kpxe /tftpboot/undionly.0 sudo cp /tftpboot/undionly.kpxe /var/www/fog/service/ipxe/undionly.kpxe sudo cp /tftpboot/undionly.kpxe /var/www/fog/service/ipxe/undionly.0
Then restart the dnsmasq service (also do this whenever you make changes to this file)
sudo service dnsmasq restart
You can play with the dhcp-range value a bunch to try to get it to work. This is the method I used when I didn’t have access to the DHCP server.
You can try setting the range to just your FOG server’s ip. You can set it to the router gateway, you can set it to the dhcp server too. And you can try interchanging I’ve had someIn the event that enabling dnsmasq kills your resolvconf dns configuration (which it often does…) the easiest solution is to add your dns servers in /etc/resolvconf/resolv.conf.d/base
You would also want to edit /etc/resolvconf/interface-order to have your main network interface at the top. It defaults to local host first and makes it so 127.0.0.1 becomes your dns server and breaks the internet. At least it’s done that every time I’ve installed it on ubunutu.
so like this…sudo nano /etc/resolvconf/resolv.conf.d/base
Then lets say you use google’s dns servers and google.com was your domain for a simple syntax example, you would do this…
nameserver 8.8.8.8 nameserver 8.8.4.4 search google.com
Then restart the resolvconf service
sudo service resolvconf restart
If that doesn’t take care of it and it is a problem, check out this forum post for more info
https://forums.fogproject.org/topic/2799/dnsmasq-kills-dns-lookup-on-fog-server/6A basic rundown of my understanding of dnsmasq is this
- Computer tries to boot to pxe and starts looking for the dhcp server
- Your fog server pretends to be a dhcp server and beats the real dhcp server to it (If your fog server is on a slower switch than your dhcp server i.e a 100 Mbps port and the infrastructure is on a 10 Gbps port, then this might not work, I had that problem once)
- The Dnsmasq service gives the computer the bootfile and uses the real dhcp server to get an ip address
- You boot into pxe and do a happy dance
More information on dnsmasq and fog here https://wiki.fogproject.org/wiki/index.php/Using_FOG_with_an_unmodifiable_DHCP_server/Using_FOG_with_no_DHCP_server
and here https://wiki.fogproject.org/wiki/index.php/ProxyDHCP/dnsmasq-_DRAFTAnother option, albeit an extremely advanced and difficult option, is to set up fog as a tertiary dhcp server. You would have to look into configuring a linux dhcp server, not something I have personally done at that in depth of a level. Because you would have to figure out how to make it act as a separate vlan or something like that, or maybe just have a separate network for imaging rather than having it on your whole organization. Something like a switch and a workbench in your office. But those are just a couple fall back ideas.
Also a side note, @george1421 and @Wayne-Workman Wayne is right here. I’ve actually gotten dnsmasq to work on multiple subnets and buildings. Granted it was a complicated university environment, and I had to do some tricksy stuff. But don’t underestimate the power of dnsmasq.
-
@Arrowhead-IT Tagging your post for the #wiki -and I need to finish that article
https://wiki.fogproject.org/wiki/index.php/ProxyDHCP_/_dnsmasq_-_DRAFT
and I’ll likely use some of the stuff from that post below. -
@Wayne-Workman That makes me feel special Thanks
-
Not sure if it was already mentioned, didnt see it in a quick scan but I had a similar issue. Make sure that DHCP Option 66 and 67 are enabled. 66 should be the IP address of your FOG server and 67 should be your undionly.kpxe file.
I struggled with it for a couple of hours, hopefully it helps you out.
-
So today I tryed call the company that takes care of the dhcp server and I don’t know what they did but I got one step forward in the fog server. know I get the following messeges:
PXE - EB: !PXE at 9B85:0070, entry at 9B85:0106
UNDI code segment 9B85:4120, data segment 9552:6330
UNDI device is PCI 00:19.0, type DIX+802.3then i get:
iPXE initialising devices…
Then:
iPXE initialising devices…ok
iPXE 1.0.0+ (3a02) – Open Source Network Boot Firmeware – http://ipxe.org
Features: NFS FTP HTTP HTTPS ISCSI DNS TFTP VLAN AoE bzimage ELFMBOOT PXE PXEXT
Configuring (net0 00:22:64:ba:2b:56)…and the the computer resarts and nothing now what is wrong!!!
-
@bacelo Well on the plus side your target computer is reaching a tftp server and downloading a iPXE boot kernel AND you got past the initializing devices. This is great!! The problem is the spontaneous reboot. This of course is unexpected.
Right after the “Configuring (net0 00:22:64:ba:2b:56)” it should boot into the FOG menu. From the MAC address I see this is a HP computer. What is the model # and what mode is it in, BIOS or UEFI? The undionly.kpxe is for BIOS mode computers. (Actually as I think about it, you would not get this far if you sent the computer the wrong ipxe kernel.
BUT you are having success and getting very close.
-
@george1421 the model is dc7800p how do I see if it’s on BIOS or UEFI??
-
Could it be that the boot file has any problem how can I see if everything is correct with it!??
-
@bacelo said:
iPXE initialising devices…ok
iPXE 1.0.0+ (3a02) – Open Source Network Boot Firmeware – http://ipxe.org
Features: NFS FTP HTTP HTTPS ISCSI DNS TFTP VLAN AoE bzimage ELFMBOOT PXE PXEXT
Configuring (net0 00:22:64:ba:2b:56)…Shortly after this part is when the kernel and init are downloaded.
Those are stored on the FOG server here:http://x.x.x.x/fog/service/ipxe/
The local path to them on CentOS 7 / Fedora would be:/var/www/html/fog/service/ipxe/
This is what mine looks like:
Make sure those files exist. If they aren’t there or the file sizes look weird, re-run the fog installer.
Turn your firewall off for testing purposes.
CentOS 7 / Fedora:systemctl stop firewalld
Set SELinux to permissive for testing purposes.
CentOS 7 / Fedora:setenforce 0
Try again.
If you have no luck then, then just re-run the fog installer and see what that does.
Also - a packet capture from the FOG Server during the attempted network boot would be really helpful.
-
@Wayne-Workman from what I can see I am missing the last two files.
-
@bacelo Well, I’m running FOG Trunk and you’re running 1.2.0 right? So it won’t be entirely the same.
-
@bacelo What you need to make sure is the bzImage files and in the init.xz files exist in this location. This part I’m a bit fuzzy on, since I don’t have a FOG server in front of me right now. I think the next thing that should load is the PXE menu. The linux kernel and inits are loaded once you make a selection on the pxe menu.
does the following url generate a text file (actually the pxe menu)
http://<fog_server_ip>/fog/service/ipxe/boot.php
(I did that from memory so it might be wrong) but once the ipxe kernel is loaded it should try to load the default.pxe config file that is redirected to the URL above. That is what creates the ipxe menu. Again I’m doing this from memory and the egg nog may be impacting what I thought I knew.
-
Ok so I got to this point and all the files are there I reinstalled linux and Fog server and it does the same when it should boot the menu the pc just restarts.
-
does the screen, during bootup, remain black for a long time? You don’t see the menu, or the menu times out before you see it? This is an important distinction.