Need help making my own Debian 9 FOG server!
-
@george1421 okay so now that worked although when i tried the sudo service dnsmasq restart. it failed and said no Unit dnsmasq.service found also what is the default location of the itsp.conf file cause i cant seem to locate it with the find command
-
@unknownhost99 Just so I’m clear, you installed your linux distro’s version of dnsmasq? If so you should be able to key in
sudo dnsmasq -v
That should show you the version of dnsmasq installed.From there, to your second question the ltsp.conf file typically goes in /etc/dnsmasq.d directory. Make sure there are no other .conf files in that directory to cause you pain.
-
@george1421 i typed vi /etc/dnsmasq.d and /etc/dnsmasq/itsp.conf nothing comes up (im sorry if i seem retarded i cant stress how new i am to linux)
-
@unknownhost99 ok lets backup here.
The config file from my post needs to be placed in a file called
ltsp.conf
(as a standard) The location of the config files for dnsmasq is typically in a directory called/etc/dnsmasq.d
Navigate to that directory and do an
ls -la
to see all files in that directory. If there are any that end in.conf
remove them. Create a new file called ltsp.conf in that directory with the following commandvi /etc/dnsmasq.d/ltsp.conf
and then paste in the contents of my config file. Make sure you replace <fog_server> with the IP address of the your fog server.Save an exit vi
Then from the linux command prompt key in
dnsmasq -v
to ensure you have version 2.76 or later installed. If that returns a successful response then start the service. It appears based on your previous error message that debian 9 is systemd compliant so once dnsmasq is installed you should be able to key in the following commands.systemctl enable dnsmasq
then (re)start the service
systemctl restart dnsmaq
-
@george1421 i did vi /etc/dnsmasq.d/ltsp.conf and there also was no .conf file except a file called dnsmasq.conf.example Though when i try to save/write the config file it says:‘’ /etc/dnsmasq.d/ltsp.conf’’ E212 Can’t open file for writing
-
@unknownhost99 You may have to use
sudo vi /etc/dnsmasq.d/ltsp.conf
to get the proper rights to create the file, if you didn’t switch user to root. -
@george1421 well i still got the same error but now that i kept looking i found it says there is no dnsmasq.d directory to begin with
-
@unknownhost99 Did you install dnsmasq from your distribution’s repo? I don’t know debian so I can’t give you the exact commands to install (I’m a rhel guy). But /etc/dnsmasq.d is the default configuration directory.
Can you confirm that dnsmasq is installed by running this command
sudo dnsmasq -v
? It should respond with something that looks like this:Dnsmasq version 2.76 Copyright (c) 2000-2016 Simon Kelley Compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify
-
@george1421 it is fine i have unsinstalled it and did the install without uefi support and it went without a hitch
-
@unknownhost99 said in Need help making my own Debian 9 FOG server!:
install without uefi support
I don’t understand this, what do you mean you installed without uefi support. What version did you install? Again the command I posted
sudo dnsmasq -v
will indicate the version. -
@george1421
https://wiki.fogproject.org/wiki/index.php?title=ProxyDHCP_with_dnsmasq i used this one before the uefi support one -
@unknownhost99 So problem solved??
-
@george1421 well not yet but i am getting closer to the end some problems with the dhcp when trying the PXE boot to the fog this is my log when i use pxe boot any idea what the problem might be
-
@unknownhost99 Well, the output looks ok on first sight. What exactly is the issue? What do you see on the client? Timeout/error!?!
-
@sebastian-roth no dhcp offers were recieed it says
-
@unknownhost99 Who’s ltsp.conf file are you using? The reason why I ask is I see a tags: entry for enp4s0.
If you can place the fog server and pxe booting client on the same subnet the follow the instructions here to collect a pcap file of the pxe booting process. https://forums.fogproject.org/topic/9673/when-dhcp-pxe-booting-process-goes-bad-and-you-have-no-clue
Upload the pcap to a google drive or dropbox like system and share the link with us. There is something unexpected going on here.
-
@george1421 this is my pcap file https://drive.google.com/open?id=1TvJgG3kwDhArrjIqz_uiybfPZASLDlz8
and this is the config file i currently use hope it helps.# 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,,x.x.x.x # 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=10.0.0.10,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```
-
@unknownhost99 Ok I see immediately what is wrong. Your dhcp server (what ever it is) is not responding to the target computer. I only see dnsmasq responding with the next server and boot file name. dnsmaq is working perfectly. The issue is that the target computer is not being offered an IP address (or any network IP information) it doesn’t know what to do.
In a perfectly working setup with dnsmasq, you should see one discover packet from the target computer and then two offer packets. One from your dhcp server and one from dnsmasq. You can view this if you load wireshark on a windows or linux computer and view the pcap you sent.
A perfect dhcp/pxe booting sequence is this.
Cli: Discover
DHCP: Offer
DNSMASQ: Offer
Cli: Request
DHCP: ACK
Cli: Chat with DNSMASQ
Cli: tftp download from FOG server.Also realize that your ltsp.conf file will only support bios (legacy) booting computers. Uefi computers will fail to boot. Just be aware of this fact. There is nothing wrong with your config file, it just doesn’t have the bits for uefi booting.
-
@george1421 we know we are looking into the dhcp which currently run by a router so if anything still goes wrong then ill update it here thanks!
-
@unknownhost99 Now in your final configuration, will the pxe booting clients be on a different subnet than your fog/dnsmasq server? If so then you need to add your fog server as the very last server in your dhcp-relay/dhcp-helper list so that your dnsmasq server will see the pxe boot requests on other subnets.