@Freak Yeah you are mostly right beside I would use a static IP instead. I just feel that I might add some more explanations to help.
Do I just configure the Fog server with one nic and setup as usual on or main network?
Yes, use just one interface and things will be a lot easier (FOG is not made to be used with two and needs a lot of tweaking). As it’s a server I’d recommend assigning a static IP before starting the FOG installer script. Make sure you have only one interface and one IP in that server.
accept all the default DHCP stuff during setup.
Carefully read the installer questions. You want a normal node installation not storage node. When being asked Would you like to use the FOG server for DHCP service?
say no! The other questions about DNS and router address in DHCP don’t really matter.
From your previous descriptions it’s not totally clear how PXE booting is done in your main network so far. You say you have a router handling DHCP but also Serva is able to do something called ProxyDHCP. Let me explain:
- In a simple common PXE environment the main single DHCP server sends out extra information (
next-server
and filename
) within the normal DHCP answers. Clients read those and can do PXE booting.
- In some networks (like when a hosted router is doing DHCP) you cannot alter the DHCP server and add this extra information. Then you can add a so called ProxyDHCP to your network. This answers DHCP requests just as the main DHCP server does but leaves the IP assignment fields in the packet empty and only sends the extra PXE boot information in the packets. Clients are able to handle both answers and extract IP/netmask/router/DNS from the first packet and PXE boot information from the later. This way you have a proper PXE booting setup without altering the DHCP server itself.
So back to the practical point. Talk to the guy who setup Serva and take a look at the Serva setup - might look like this:

- If neither
DHCP Server
nor proxyDHCP
is selected you probably are able to add the extra PXE information to your router which handles DHCP in your main network. That would be an easy thing to do. Ask your colleague who setup Serva.
- If
DHCP Server
is selected then I suppose you have two running in your network and need to switch off one as soon as possible! As Freak said: “there can only be one (DHCP)”
- If
proxyDHCP
is selected as seen in that example picture you need to deselect and setup a ProxyDHCP server called “dnsmasq” on your FOG server by hand. This is needed because from the picture it looks like you cannot change “Next Server” and “Boot File” setting in Serva to point to an external server. I haven’t tried this but to me it looks like it.
Read through this wiki article! You’ll find instructions on how to install and setup dnsmasq on CentOS 7. To be able to serve PXE boot to legacy BIOS and UEFI machines you need to install/compile dnsmasq version 2.76. Either follow the descriptions in the wiki or simply use this RPM: ftp://ftp.pbone.net/mirror/rnd.rajven.net/centos/7.0.1406/os/x86_64/dnsmasq-2.76-1cnt7.x86_64.rpm
Use this config as a starter but make sure to put in the FOG server IP where ever you see x.x.x.x
:
# Don't function as a DNS server:
port=0
# Log lots of extra information about DHCP transactions.
log-dhcp
# Set the root directory for files available via FTP.
tftp-root=/tftpboot
# The boot filename, Server name, Server Ip Address
dhcp-boot=undionly.kpxe,,x.x.x.x
# Disable re-use of the DHCP servername and filename fields as extra
# option space. That's to avoid confusing some old or broken DHCP clients.
dhcp-no-override
# inspect the vendor class string and match the text to set the tag
dhcp-vendorclass=BIOS,PXEClient:Arch:00000
dhcp-vendorclass=UEFI32,PXEClient:Arch:00006
dhcp-vendorclass=UEFI,PXEClient:Arch:00007
dhcp-vendorclass=UEFI64,PXEClient:Arch:00009
# Set the boot file name based on the matching tag from the vendor class (above)
dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,x.x.x.x
dhcp-boot=net:UEFI,ipxe.efi,,x.x.x.x
dhcp-boot=net:UEFI64,ipxe.efi,,x.x.x.x
# PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds.
pxe-prompt="Booting FOG Client", 1
# The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86,
# Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
# This option is first and will be the default if there is no input from the user.
pxe-service=X86PC, "Boot to FOG", undionly.kpxe
pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi
pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi
dhcp-range=x.x.x.x,proxy
Clients setup to do PXE boot should not boot into the FOG menu screen. Now you can go to the FOG web GUI and add the Serva menu entry as suggested earlier…