Cannot PXE boot known hosts



  • Hello. I’ll preface this with - I’m not great with Linux and also not great with networking/DHCP servers/etc

    I’m trying to test FOG (1.3.0-RC-1 SVN Rev 5936) in an isolated virtual network (using VirtualBox). I’ve set up the FOG server on CentOS7 and set it up to be the DHCP server following a guide available on this site. That worked great and I was able to get everything up and running. I created another VM and it booted via PXE perfectly and brought up the FOG OS. I played around a bit and rebooted the computer and it is continually able to PXE boot (I’ve tried this since as well with other VM’s and they are able to continually PXE boot).

    However, once I register the VM within FOG, it is no longer able to PXE boot - it gets a DHCP address properly then goes to iPXE and gets:
    Configuring (net0 XX:XX:XX:XX:XX:XX)… No configuration methods succeeded (http://ipxe.org/040ee119)
    The proper MAC address is displayed in the text, replaced with X’s because I’ve tried with multiple VM’s with varying MAC’s.

    Deleting the host from FOG does NOT fix the issue, the host is still unable to PXE boot. If I alter the MAC address of the virtual NIC the host can immediately PXE boot again.

    ifstat shows RX pkts going through fine and 0 RX errors, both when the VM’s are successfully PXE booting and when they are not longer able to PXE boot.

    I’ve been trying to figure this out for a while with no luck. Has anyone else run in to this issue before and care to share, or anyone have ideas that I can try? Thanks in advance!


  • Moderator

    @adamk858 I can probably script a way to change the fog IP, without involving dnsmasq.



  • @Wayne-Workman You can, but this is the issue I’m running in to (screenshot below). In VirtualBox it also has a virbr0 adapter that’s automatically created to handle NAT/bridging/etc, and by default has the address 192.168.122.1. In the screenshot you can see that the install script automatically sees that this is used along with the enp0s3 adapter so it pulls both addresses and ends up failing during the install when it gets to a point where it tries to interpret the second server IP address (the 192.168.122.1 address).

    Since the installation requires external internet access in order to complete all I’ve been able to do is temporarily unplug the virtual network cable plugged in to the enp0s3 adapter so that the install script pulls the information from the virbr0 adapter only and gets the single 192.168.122.1 address (which is why I tried to change it after). I then plug the virtual network cable back in to the enp0s3 NIC prior to beginning the installation and it completes successfully.

    Is there another way to complete this install on Virtual Box and specify the IP address for the server without it populating the virbr0’s IP address as a second server IP? I haven’t found a way to temporarily disable the virbr0 NIC and be able to turn it back on prior to beginning the FOG install so that it still has external internet access, if I disable it any way I’ve tried I have to reboot prior to it being usable again and then obviously the FOG install script has to be run again and you’re back at step 1 with the 2nd IP address issue.

    If the dev team could add a way to force the install script to allow you to specify all information instead of trying to automatically pull it then that would fix my current issue. But in the end the FOG server will not be virtual, I’m only testing it in a virtual environment to verify it will meet our needs so that we can go forward with setting it up for production on a physical box, so I’m not sure the dev team would go through this change for something that would only be used by most people for testing.

    0_1469808560754_fogsetup.PNG


  • Moderator

    @adamk858 Is there no way to define a static IP for the base OS or the base OS of FOG? I know Fedora and CentOS lets you define a static IP address during installation of the OS.



  • @Wayne-Workman Hmm, OK I’ll try to set it up again using the IP it’s given. Unfortunately I can’t specify it using a Virtual Box VM because it also adds a virbr0 NIC for NAT/etc, so even if I unplug the virtual connection to my virtual NIC on the VM then the FOG install script still pulls the IP information from the virbr0 NIC (192.168.122.1). I wanted it clean so I figured manually changing all entries for it to 192.168.1.1 and rebooting the server would fix that up but I guess not, I’ll just have to try it out with one of the IP’s it automatically grabs during the install script. I’ll try that out hopefully Friday (working off-site tomorrow). Thanks again!


  • Moderator

    @adamk858 said in Cannot PXE boot known hosts:

    and change IP settings for FOG/DHCP/etc to 192.168.1.1.

    That’s your issue I think.

    Once the fog server is installed, you don’t need to change any IPs. Infact nothing needs changed. Just put it on it’s own switch and all will work fine. There are benefits to this - the major one being that you can very easily connect it to the Internet to grab updates, and then take it back off-line into the isolated environment.

    I’ll also add that this article you’ve been following for the isolated network stuff is pretty outdated. I’ll work on updating it.
    #wiki



  • @Wayne-Workman Thanks for the response Wayne. I verified I do have fog.local > Menu Show with: set to “All Hosts”.

    I guess I want to confirm something - if you install a new FOG server to also be the DHCP server following these two sets of instructions:
    https://wiki.fogproject.org/wiki/index.php?title=CentOS_7
    https://wiki.fogproject.org/wiki/index.php?title=FOG_on_an_Isolated_Network
    and isolate the server, would the default configuration be expected to always push the PXE boot files to any computer on the isolated network asking for them? Or would that not be the expected behavior? How do others handle this in an isolated network scenario, do they manually add sections in to the dhcpd.conf file for each host? Or should it automatically allow all hosts, whether known or unknown to the FOG/dhcp server, boot to the FOG OS via PXE without any additional manual configuration?

    I’ve re-traced my steps and re-configured the environment a few times now and unfortunately had the same results every time. I’m using Virtual Box to create a VM to use as the FOG/dhcp server, I install CentOS7 and update it, install the Virtual Box Guest Additions, perform the pre-setup (firewall/etc) listed in the links above, then install FOG selecting it to also act as the DHCP server. Once the install is complete I put the server in to an isolated virtual network (no external/internet connection), and change IP settings for FOG/DHCP/etc to 192.168.1.1. Then I’m able to create another VM, add it to the same isolated virtual network, and pxe boot it in to the FOG OS. At this point, if I select “Perform Full Host Registration and Inventory” and fill out the questions, creating a known host for that new VM within FOG, the VM then reboots. At any point after this if I try to PXE boot the VM again it comes up with the error from the screen shot below.

    I can manually add an entry in to /etc/dhcp/dhcpd.conf for the VM to allow it to PXE boot in to the FOG OS again by adding something along the lines of:
    host win10cap {
    hardware ethernet 08:00:27:FB:4D:18;
    option host-name “win10cap”;
    filename “pxelinux.0”;
    }

    I thought that would at least be a temporary solution, but unfortunately it causes another issue… The computer is able to PXE boot again after adding that section in to dhcpd.conf and restarting the dhcpd service, but after setting up Windows on the VM and prepping it to be captured, when I create a new image in FOG and create a task for the host to capture the image and attempt to boot the VM via PXE it comes back with - “Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)”

    This is the guide I was following for capturing the image: https://wiki.fogproject.org/wiki/index.php?title=Booting_into_FOG_and_Capturing_your_first_Image
    Under the kernel panic section it lists some possible causes like it pulling the wrong bzImage or init(_32).xz files depending on the architecture, so I’ve tried swapping the bzImage/bzImage32 and init.xz/init_32.xz files with each other, one set at a time keeping the other as original, then finally trying swapping both sets, but no combination of those fixed the issue. So I tried getting rid of the capture task for the host and indeed it can boot back in to the FOG OS via PXE again, but then I noticed that if I do anything within the FOG OS that causes it to load the same image files it comes back with the same Kernel panic error (ie. I tried deleting the host from FOG and PXE booting again to re-register it, but once I select “Perform Full Host Registration and Inventory” it comes back with the same Kernel Panic.

    In the end I believe the further issues are all caused by the initial issue, and resolving that issue would hopefully resolve all my issues. The initial issue is that once a computer is “known” (registered) with FOG, the computer can no longer PXE boot to the FOG OS and gets the error in the screenshot below. If I add a section for each computer to the dhcpd.conf file it can PXE boot to the FOG OS, but then has a kernel panic error if I try to do anything else.

    I’m sorry for the essay, but I tried giving you as much information as I could. At this point I’m figuring it’s a conflict with Virtual Box and the configuration I’m attempting to use (FOG+DHCP in an isolated environment), however unfortunately I don’t have any physical computers that I can use for testing which is why I’m using Virtual Box.


  • Moderator

    @adamk858 I have no idea why or how this relates to dhcp. Maybe I’m not fully understanding the problem, if you could describe it more that might help identifying what’s going wrong.

    As far as known/unknown hosts in the fog world, there is this setting here:

    0_1469657944069_known and unknown hosts.png



  • Apparently if you edit the dhcpd.conf file and manually add the known host in to the file, then it will allow it to pxe boot again. There has to be a way to tell it to always allow all known hosts as well as unknown hosts, right (it already allows all unknown hosts)? Can someone please help me out here, I’m sure this has to be something simple but I can’t seem to find any information on it, everything I’m finding just says to add each known host manually in to the dhcpd.conf file.



  • @Wayne-Workman probably should have posted the screenshot as a reply to you, I’m assuming that will notify you. Sorry, first time posting on this forum.



  • 0_1469554137083_pxeError.png


  • Moderator

    @adamk858 Can you give us a screenshot of the error you’re seeing?


Log in to reply
 

374
Online

39.3k
Users

11.0k
Topics

104.4k
Posts

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.