Can not deploy using multicast - read image_hdr block_size error
-
@rurap Hmmm this is strange, I would have expected your iptables to look like this:
iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
Are you using your fog server as a router too (between the 2 interfaces)? I see the masquerade module is being used.
Which network interface is the multicast binding to? You can find out by starting a multicast on the FOG server and then issuing the following command from the linux command prompt on the fog server.
sudo ps aux | grep udp-send
That should give you the command line parameters that we need to know.Also what network interface is defined for the imaging network?
-
@rurap Are you aware of the NAT configuration on your system? Why do you seem to have two network interfaces on this machine?
-
@george1421 said in Can not deploy using multicast - read image_hdr block_size error:
Are you using your fog server as a router too (between the 2 interfaces)? I see the masquerade module is being used.
Well, first i configure server as a router with isc-dhcp server on it. This iptables configuration is for the internet sharing (i use NAT). Then i install fog. So yes i have router and fog server on the same network interface.
@george1421 said in Can not deploy using multicast - read image_hdr block_size error:
Which network interface is the multicast binding to? …
Also what network interface is defined for the imaging network?For multicasting i will check tomorrow, for fog is the enp2s0 But i think is the same interface for both
-
@Sebastian-Roth said in Can not deploy using multicast - read image_hdr block_size error:
Are you aware of the NAT configuration on your system? Why do you seem to have two network interfaces on this machine?
It seems to me that some misunderstanding has crept in. Maybe because of the lack of my language skills.
my network looks like this:
I have an ubuntu 16.04 server set up on a regular pc (dell optiplex 7010) with 2 network cards.
To one card I connected the network from the outside and the other card I connected to the switch and then to other computers in the class
I installed and configured the dhcp server, shared the internet from the first card to the second, so that the internet works in the classroom. Then I installed and configured FOG
Everything works, imaging, restoring and internet. Only multicasting does not work.I don’t have much experience in networks, did I do something wrong up to this point?
-
@rurap Setting up FOG with two network interfaces is kind of an advanced setup. Combining FOG with a NAT router config adds another layer of things that can interfere. I am not saying this doesn’t work per se. It’s just not a default FOG setup and we don’t test those kind of things.
I’d suggest you start by looking at the log files (in
/var/log/fog
) to see what information we get from the FOGMulticastManager service when the error happens. Be aware that FOGMulticastManager tries to pick the right network interface and might fail on your system with two NICs.If that doesn’t yield any success you should look into manually testing multicast as described in the wiki: https://wiki.fogproject.org/wiki/index.php?title=Multicast#Troubleshooting
-
So it’s easiest to install FOG on a separate server with one card and plug it into the switch. Do I understand correctly?
-
@rurap Your setup can work, its just a bit strange to use the FOG server as a router and an imaging solution. As Sebastian said this is an advanced setup. I personally could make it work but I’ve worked with linux and internetworking for almost 20 years… man I’m old…
Anyway, we need to understand your current configuration. Do what I suggested about capturing what udp-send is binding to. You have an advantage that your imaging network is isolated and on a single switch.
Also in regards to the imaging network switch what is that switch model and manufacturer. Some switches need certain settings turned on for multicasting to work correctly.
-
Thank you for your response. I don’t know why but I thought all the time that FOG should be installed on the server / router behind NAT. It didn’t occur to me that it could be a normal host on the network. I don’t need Fog working as a router and image server. Now I see that it makes no sense. So I’ll try to install it on a separate host computer and see what happens.
My switch is TP-LINK TL-SF1024. So it’s not an advanced device. But if I can run FOG on it, I’ll talk to my boss about something better.
Thanks to everyone for the answers, I will let you know if it works.
-
-
@rurap Please search our wiki for TFTP troubleshoting und follow the instructions to test the TFTP stuff.
-
@rurap Please post the content of your ltsp.conf file.
-
This is from Ubuntu server 18.1 and dnsmasq 2.9 verssion:
# 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,,192.168.25.117 # 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,,192.168.25.117 dhcp-boot=net:UEFI,ipxe.efi,,192.168.25.117 dhcp-boot=net:UEFI64,ipxe.efi,,192.168.25.117 # 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=192.168.25.117,proxy
And this one is from Ubuntu 16.04, dnsmasq 2.5 :
# Don't function as a DNS server: port=0 # Log lots of extra information about DHCP transactions. log-dhcp # Dnsmasq can also function as a TFTP server. You may uninstall # tftpd-hpa if you like, and uncomment the next line: # enable-tftp # Set the root directory for files available via FTP. tftp-root=/tftpboot # The boot filename, Server name, Server Ip Address dhcp-boot=undionly.kpxe,,192.168.25.137 # rootpath option, for NFS #dhcp-option=17,/images # kill multicast #dhcp-option=vendor:PXEClient,6,2b # 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 # PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds. pxe-prompt="Press F8 for boot menu", 3 # 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 from network", undionly # A boot service type of 0 is special, and will abort the # net boot procedure and continue booting from local media. #pxe-service=X86PC, "Boot from local hard disk", 0 # If an integer boot service type, rather than a basename is given, then the # PXE client will search for a suitable boot service for that type on the # network. This search may be done by multicast or broadcast, or direct to a # server if its IP address is provided. # pxe-service=x86PC, "Install windows from RIS server", 1 # This range(s) is for the public interface, where dnsmasq functions # as a proxy DHCP server providing boot information but no IP leases. # Any ip in the subnet will do, so you may just put your server NIC ip here. # Since dnsmasq is not providing true DHCP services, you do not want it # handing out IP addresses. Just put your servers IP address for the interface # that is connected to the network on which the FOG clients exist. # If this setting is incorrect, the dnsmasq may not start, rendering # your proxyDHCP ineffective. dhcp-range=192.168.25.137,proxy # This range(s) is for the private network on 2-NIC servers, # where dnsmasq functions as a normal DHCP server, providing IP leases. # dhcp-range=192.168.0.20,192.168.0.250,8h # For static client IPs, and only for the private subnets, # you may put entries like this: # dhcp-host=00:20:e0:3b:13:af,10.160.31.111,client111,infinite```
-
@rurap The 16.04 version will not dynamiclly support uefi and bios the 18.1 will. Now certain firmware needs an additional kick to get it to boot.
In this section add in the fog server’s IP address.
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
change it to
pxe-service=X86PC, "Boot to FOG", undionly.kpxe,192.168.25.117 pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi,192.168.25.117 pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi,192.168.25.117
Then restart dnsmasq
-
@rurap The more I look at your picture the more I think it should be working. (I can see that its not) but the auto select says “Booting to FOG” so that means its getting and processing this line:
pxe-service=X86PC, "Boot to FOG", undionly.kpxe
We can see in the picture the boot server IP is 192.168.25.117, so we know its processing this line.
dhcp-boot=undionly.kpxe,,192.168.25.117
It should have everything it needs to boot.
We may need to grab a packet capture to see what the client is objecting to.
-
@george1421
your suggestion did not work. I looked for TFTP troubleshoting like @Sebastian-Roth says and used the command:tftp -v x.x.x.x -m binary -c get undionly.kpxe
and i have got nothing.
I searched the system a bit and found something like this:
this is my tftp-hpa configuration file# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure"
there are no files in this directory, so where is the undionly.kpxe?
-
@rurap Please check to see if the files are in /tftpboot directory. It sounds like the tftp service didn’t get configured properly for fog to function.
As I said dnsmasq should have been working, with that final change (which you will probably want to remove now) if it didn’t work then we would have focused on the tftp server. So you did good moving forward to debug.
So if the files are in /tftpboot change the file path in the tftp config file to match then restart the tftpd service.
-
There is no / tftpboot directory.
I install everything again, I have no idea what happened to this catalog. I could have sworn that this catalog was yesterday.
-
@rurap If you simply rerun the fog installer it will recreate these files in the proper location.
Also you can search the entire disk for these files with
sudo find / -name undionly.kpxe
-
YES, It’s works !!! Such a simple misteake, thx for patience and everything
I was looking for this file, it wasn’t there, I reinstalled FOG and magic happend ;]
Now I will be testing multicast !!! Keep your fingers crossed, i will let you know
-
Multicast is working, but …
First I used my old switch TP-LINK TL-SF1024 and it’s faild. Two PCs restored at a rate of 150MB/min,
Second time I used LinkSys LGS308, 8 x 1Gb ports. I start to restore 2 other PC and only one turn on from network, second i turn on by my self but the multicast session starting, and both PC restore at rate of 10GB/mmin. Then I connect third PC to the switch and strat multisession once again one PC turn on but second and third i have to turn on. Again multicast worked very well (10GB/min at each PC)
Do you have an idea why only one PC wake on LAN?
Whether the old switch may not support multicast?