<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.nc.ut.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=172.26.0.40</id>
	<title>TÜ Narva Kolledži Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nc.ut.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=172.26.0.40"/>
	<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Special:Contributions/172.26.0.40"/>
	<updated>2026-10-30T15:55:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Fog_Project&amp;diff=946</id>
		<title>Fog Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Fog_Project&amp;diff=946"/>
		<updated>2022-09-22T12:51:58Z</updated>

		<summary type="html">&lt;p&gt;172.26.0.40: /* Additional Info */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This combines FOG with a proxyDHCP server. What a proxyDHCP service does is listen to DHCP requests and respond to clients identifying themselves as PXE Clients. It leaves the role of assigning IP addresses to the other DHCP servers, but provides the necessary information so the client can PXE boot. ProxyDHCP is a solution for those of you who are working with an unmodifiable DHCP server or wish to avoid the hassle of editing the already existing DHCP server, or even as a portable imaging solution.&lt;br /&gt;
&lt;br /&gt;
=How ProxyDHCP works=&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;When a PXE client boots up, it sends a DHCP Discover broadcast on the network, which includes a list of information the client would like from the DHCP server, and some information identifying itself as a PXE capable device.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A regular DHCP server responds with a DHCP Offer, which contains possible values for network settings requested by the client.Usually a possible IP address, subnet mask, router (gateway) address, dns domain name, etc.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Because the client identified itself as a PXEClient, the proxyDHCP server also responds with a DHCP Offer with additional information, but not IP address info.  It leaves the IP address assigning to the regular DHCP server.  The proxyDHCP server provides the next-server-name and boot file name values, which is used by the client during the upcoming TFTP transaction.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The PXE Client responds to the DHCP Offer with a DHCP Request, where it officially requests the IP configuration information from the regular DHCP server.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The regular DHCP server responds back with an ACK (acknowledgement), letting the client know it can use the IP configuration information it requested.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The client now has its IP configuration information, TFTP Server name, and boot file name and it initiate a TFTP transaction to download the boot file.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Environment=&lt;br /&gt;
Tested working with:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| (k)Ubuntu 20.04 x64&lt;br /&gt;
| Fog v1.5.9&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* dnsmasq&lt;br /&gt;
* LTSP Server, further documentation at [https://help.ubuntu.com/community/UbuntuLTSP/ProxyDHCP Ubuntu LTSP/ProxyDHCP].&lt;br /&gt;
&lt;br /&gt;
=Setup and Configuration=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;First get your desired linux flavor installed&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Install FOG (use instructions on wiki user manual)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure you do a normal server installation, don&#039;t setup a DHCP router address or a DNS server address, also don&#039;t use FOG as a DHCP server.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If you set a MySQL password make sure you change it in /var/www/fog/commons/config.php and also in /opt/fog/service/etc/config.php&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Edit /etc/exports to look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/images                        *(ro,async,no_wdelay,insecure_locks,no_root_squash,insecure)&lt;br /&gt;
/images/dev                    *(rw,async,no_wdelay,no_root_squash,insecure)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Install dnsmasq using: &amp;lt;pre&amp;gt;sudo apt-get install dnsmasq&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Create /etc/dnsmasq.d/ltsp.conf using the following settings, modify as needed:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Sample configuration for dnsmasq to function as a proxyDHCP server,&lt;br /&gt;
# enabling LTSP clients to boot when an external, unmodifiable DHCP&lt;br /&gt;
# server is present.&lt;br /&gt;
# The main dnsmasq configuration is in /etc/dnsmasq.conf;&lt;br /&gt;
# the contents of this script are added to the main configuration.&lt;br /&gt;
# You may modify the file to suit your needs.&lt;br /&gt;
&lt;br /&gt;
# Don&#039;t function as a DNS server:&lt;br /&gt;
port=0&lt;br /&gt;
&lt;br /&gt;
# Log lots of extra information about DHCP transactions.&lt;br /&gt;
log-dhcp&lt;br /&gt;
&lt;br /&gt;
# Set the root directory for files available via FTP.&lt;br /&gt;
tftp-root=/tftpboot&lt;br /&gt;
&lt;br /&gt;
# Disable re-use of the DHCP servername and filename fields as extra&lt;br /&gt;
# option space. That&#039;s to avoid confusing some old or broken DHCP clients.&lt;br /&gt;
dhcp-no-override&lt;br /&gt;
&lt;br /&gt;
# inspect the vendor class string and match the text to set the tag&lt;br /&gt;
dhcp-vendorclass=BIOS,PXEClient:Arch:00000&lt;br /&gt;
dhcp-vendorclass=UEFI32,PXEClient:Arch:00006&lt;br /&gt;
dhcp-vendorclass=UEFI,PXEClient:Arch:00007&lt;br /&gt;
dhcp-vendorclass=UEFI64,PXEClient:Arch:00009&lt;br /&gt;
&lt;br /&gt;
#UUID for a Dell e6230 I tested (this info was gleaned from the dnsmasq log file that recorded&lt;br /&gt;
# a pxe boot session of this target computer&lt;br /&gt;
dhcp-match=set:e6230,97,00:44:45:4c:4c:38:00:10:36:80:4e:c4:c0:4f:4a:58:31&lt;br /&gt;
&lt;br /&gt;
# Set the boot file name based on the matching tag from the vendor class (above)&lt;br /&gt;
dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,&amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
dhcp-boot=net:UEFI,ipxe.efi,,&amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
dhcp-boot=net:UEFI64,ipxe.efi,,&amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Our test to ensure both the UEFI and e6230 tags are set. &lt;br /&gt;
dhcp-boot=tag:UEFI,tag:e6230, intel.efi, &amp;lt;FOG ip address&amp;gt;, &amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# The boot filename, Server name, Server Ip Address&lt;br /&gt;
dhcp-boot=undionly.kpxe,,&amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# PXE menu.  The first part is the text displayed to the user.  The second is the timeout, in seconds.&lt;br /&gt;
pxe-prompt=&amp;quot;Booting FOG Client&amp;quot;, 1&lt;br /&gt;
&lt;br /&gt;
dhcp-range=&amp;lt;FOG ip address&amp;gt;,proxy&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If the folder /srv/tftp is empty create it and download boot-files from [https://wiki.nc.ut.ee/files/tftpboot.tar.gz here] &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;pre&amp;gt;ln -s /srv/tftp /tftpboot&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Open file for edit /tftpboot/default.ipxe and write your FOG server&#039; IP addres &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Restart dnsmasq with &amp;lt;pre&amp;gt;sudo service dnsmasq restart&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; After getting everything working, you can change the timeout to 0 on the line: &amp;lt;pre&amp;gt;pxe-prompt=&amp;quot;Press F8 for boot menu&amp;quot;, 3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Serving ProxyDHCP to multiple subnets=&lt;br /&gt;
If you are serving ProxyDHCP to multiple subnets some changes must be made to your switches/routers and your server config.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Modify your /etc/dnsmasq.d/ltsp.conf file by adding the subnet mask option to line: &amp;lt;pre&amp;gt;dhcp-range=192.168.1.10,proxy&amp;lt;/pre&amp;gt; to make it &amp;lt;pre&amp;gt;dhcp-range=192.168.1.10,proxy,255.255.0.0&amp;lt;/pre&amp;gt; which will serve all 192.168.x.x subnets.  If you are using 10.x.x.x addressing, use subnet mask &amp;quot;255.0.0.0&amp;quot; (8-bit) and if you are using 172.16.x.x, use subnet mask &amp;quot;255.240.0.0&amp;quot; (12 bit).  Basically set the subnet mask so that all subnets on which ProxyDHCP should answer are covered.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t do this, the ProxyDHCP server will not respond to DHCP requests for hosts outside of it&#039;s own subnet.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add an IP Helper/DHCP Relay record to your router or switch so the DHCP broadcasts are sent to your normal DHCP server AND the Fog server.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Additional Info=&lt;br /&gt;
&lt;br /&gt;
[https://wiki.fogproject.org/wiki/index.php?title=Using_FOG_with_an_unmodifiable_DHCP_server/_Using_FOG_with_no_DHCP_server Using FOG with an unmodifiable DHCP server/ Using FOG with no DHCP server]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.fogproject.org/wiki/index.php?title=ProxyDHCP_with_dnsmasq ProxyDHCP with dnsmasq]&lt;br /&gt;
&lt;br /&gt;
[https://linuxize.com/post/how-to-mount-cifs-windows-share-on-linux/ How to Mount Windows Share on Linux using CIFS]&lt;/div&gt;</summary>
		<author><name>172.26.0.40</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Fog_Project&amp;diff=938</id>
		<title>Fog Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Fog_Project&amp;diff=938"/>
		<updated>2022-09-22T06:48:40Z</updated>

		<summary type="html">&lt;p&gt;172.26.0.40: /* Setup and Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This combines FOG with a proxyDHCP server. What a proxyDHCP service does is listen to DHCP requests and respond to clients identifying themselves as PXE Clients. It leaves the role of assigning IP addresses to the other DHCP servers, but provides the necessary information so the client can PXE boot. ProxyDHCP is a solution for those of you who are working with an unmodifiable DHCP server or wish to avoid the hassle of editing the already existing DHCP server, or even as a portable imaging solution.&lt;br /&gt;
&lt;br /&gt;
=How ProxyDHCP works=&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;When a PXE client boots up, it sends a DHCP Discover broadcast on the network, which includes a list of information the client would like from the DHCP server, and some information identifying itself as a PXE capable device.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A regular DHCP server responds with a DHCP Offer, which contains possible values for network settings requested by the client.Usually a possible IP address, subnet mask, router (gateway) address, dns domain name, etc.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Because the client identified itself as a PXEClient, the proxyDHCP server also responds with a DHCP Offer with additional information, but not IP address info.  It leaves the IP address assigning to the regular DHCP server.  The proxyDHCP server provides the next-server-name and boot file name values, which is used by the client during the upcoming TFTP transaction.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The PXE Client responds to the DHCP Offer with a DHCP Request, where it officially requests the IP configuration information from the regular DHCP server.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The regular DHCP server responds back with an ACK (acknowledgement), letting the client know it can use the IP configuration information it requested.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The client now has its IP configuration information, TFTP Server name, and boot file name and it initiate a TFTP transaction to download the boot file.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Environment=&lt;br /&gt;
Tested working with:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| (k)Ubuntu 20.04 x64&lt;br /&gt;
| Fog v1.5.9&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* dnsmasq&lt;br /&gt;
* LTSP Server, further documentation at [https://help.ubuntu.com/community/UbuntuLTSP/ProxyDHCP Ubuntu LTSP/ProxyDHCP].&lt;br /&gt;
&lt;br /&gt;
=Setup and Configuration=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;First get your desired linux flavor installed&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Install FOG (use instructions on wiki user manual)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure you do a normal server installation, don&#039;t setup a DHCP router address or a DNS server address, also don&#039;t use FOG as a DHCP server.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If you set a MySQL password make sure you change it in /var/www/fog/commons/config.php and also in /opt/fog/service/etc/config.php&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Edit /etc/exports to look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/images                        *(ro,async,no_wdelay,insecure_locks,no_root_squash,insecure)&lt;br /&gt;
/images/dev                    *(rw,async,no_wdelay,no_root_squash,insecure)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Install dnsmasq using: &amp;lt;pre&amp;gt;sudo apt-get install dnsmasq&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Create /etc/dnsmasq.d/ltsp.conf using the following settings, modify as needed:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Sample configuration for dnsmasq to function as a proxyDHCP server,&lt;br /&gt;
# enabling LTSP clients to boot when an external, unmodifiable DHCP&lt;br /&gt;
# server is present.&lt;br /&gt;
# The main dnsmasq configuration is in /etc/dnsmasq.conf;&lt;br /&gt;
# the contents of this script are added to the main configuration.&lt;br /&gt;
# You may modify the file to suit your needs.&lt;br /&gt;
&lt;br /&gt;
# Don&#039;t function as a DNS server:&lt;br /&gt;
port=0&lt;br /&gt;
&lt;br /&gt;
# Log lots of extra information about DHCP transactions.&lt;br /&gt;
log-dhcp&lt;br /&gt;
&lt;br /&gt;
# Set the root directory for files available via FTP.&lt;br /&gt;
tftp-root=/tftpboot&lt;br /&gt;
&lt;br /&gt;
# Disable re-use of the DHCP servername and filename fields as extra&lt;br /&gt;
# option space. That&#039;s to avoid confusing some old or broken DHCP clients.&lt;br /&gt;
dhcp-no-override&lt;br /&gt;
&lt;br /&gt;
# inspect the vendor class string and match the text to set the tag&lt;br /&gt;
dhcp-vendorclass=BIOS,PXEClient:Arch:00000&lt;br /&gt;
dhcp-vendorclass=UEFI32,PXEClient:Arch:00006&lt;br /&gt;
dhcp-vendorclass=UEFI,PXEClient:Arch:00007&lt;br /&gt;
dhcp-vendorclass=UEFI64,PXEClient:Arch:00009&lt;br /&gt;
&lt;br /&gt;
#UUID for a Dell e6230 I tested (this info was gleaned from the dnsmasq log file that recorded&lt;br /&gt;
# a pxe boot session of this target computer&lt;br /&gt;
dhcp-match=set:e6230,97,00:44:45:4c:4c:38:00:10:36:80:4e:c4:c0:4f:4a:58:31&lt;br /&gt;
&lt;br /&gt;
# Set the boot file name based on the matching tag from the vendor class (above)&lt;br /&gt;
dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,&amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
dhcp-boot=net:UEFI,ipxe.efi,,&amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
dhcp-boot=net:UEFI64,ipxe.efi,,&amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Our test to ensure both the UEFI and e6230 tags are set. &lt;br /&gt;
dhcp-boot=tag:UEFI,tag:e6230, intel.efi, &amp;lt;FOG ip address&amp;gt;, &amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# The boot filename, Server name, Server Ip Address&lt;br /&gt;
dhcp-boot=undionly.kpxe,,&amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# PXE menu.  The first part is the text displayed to the user.  The second is the timeout, in seconds.&lt;br /&gt;
pxe-prompt=&amp;quot;Booting FOG Client&amp;quot;, 1&lt;br /&gt;
&lt;br /&gt;
dhcp-range=&amp;lt;FOG ip address&amp;gt;,proxy&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;pre&amp;gt;mkdir /srv/tftp&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;pre&amp;gt;ln -s  /srv/tftp /tftpboot&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;control FOG IP address in file /tftpboot/default.ipxe and change it if necessary&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Restart dnsmasq with &amp;lt;pre&amp;gt;sudo service dnsmasq restart&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; After getting everything working, you can change the timeout to 0 on the line: &amp;lt;pre&amp;gt;pxe-prompt=&amp;quot;Press F8 for boot menu&amp;quot;, 3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Serving ProxyDHCP to multiple subnets=&lt;br /&gt;
If you are serving ProxyDHCP to multiple subnets some changes must be made to your switches/routers and your server config.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Modify your /etc/dnsmasq.d/ltsp.conf file by adding the subnet mask option to line: &amp;lt;pre&amp;gt;dhcp-range=192.168.1.10,proxy&amp;lt;/pre&amp;gt; to make it &amp;lt;pre&amp;gt;dhcp-range=192.168.1.10,proxy,255.255.0.0&amp;lt;/pre&amp;gt; which will serve all 192.168.x.x subnets.  If you are using 10.x.x.x addressing, use subnet mask &amp;quot;255.0.0.0&amp;quot; (8-bit) and if you are using 172.16.x.x, use subnet mask &amp;quot;255.240.0.0&amp;quot; (12 bit).  Basically set the subnet mask so that all subnets on which ProxyDHCP should answer are covered.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t do this, the ProxyDHCP server will not respond to DHCP requests for hosts outside of it&#039;s own subnet.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add an IP Helper/DHCP Relay record to your router or switch so the DHCP broadcasts are sent to your normal DHCP server AND the Fog server.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Additional Info=&lt;br /&gt;
[https://wiki.fogproject.org/wiki/index.php?title=Using_FOG_with_an_unmodifiable_DHCP_server/_Using_FOG_with_no_DHCP_server Using FOG with an unmodifiable DHCP server/ Using FOG with no DHCP server]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.fogproject.org/wiki/index.php?title=ProxyDHCP_with_dnsmasq ProxyDHCP with dnsmasq]&lt;/div&gt;</summary>
		<author><name>172.26.0.40</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Fog_Project&amp;diff=937</id>
		<title>Fog Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Fog_Project&amp;diff=937"/>
		<updated>2022-09-22T05:56:25Z</updated>

		<summary type="html">&lt;p&gt;172.26.0.40: /* Setup and Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This combines FOG with a proxyDHCP server. What a proxyDHCP service does is listen to DHCP requests and respond to clients identifying themselves as PXE Clients. It leaves the role of assigning IP addresses to the other DHCP servers, but provides the necessary information so the client can PXE boot. ProxyDHCP is a solution for those of you who are working with an unmodifiable DHCP server or wish to avoid the hassle of editing the already existing DHCP server, or even as a portable imaging solution.&lt;br /&gt;
&lt;br /&gt;
=How ProxyDHCP works=&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;When a PXE client boots up, it sends a DHCP Discover broadcast on the network, which includes a list of information the client would like from the DHCP server, and some information identifying itself as a PXE capable device.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A regular DHCP server responds with a DHCP Offer, which contains possible values for network settings requested by the client.Usually a possible IP address, subnet mask, router (gateway) address, dns domain name, etc.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Because the client identified itself as a PXEClient, the proxyDHCP server also responds with a DHCP Offer with additional information, but not IP address info.  It leaves the IP address assigning to the regular DHCP server.  The proxyDHCP server provides the next-server-name and boot file name values, which is used by the client during the upcoming TFTP transaction.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The PXE Client responds to the DHCP Offer with a DHCP Request, where it officially requests the IP configuration information from the regular DHCP server.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The regular DHCP server responds back with an ACK (acknowledgement), letting the client know it can use the IP configuration information it requested.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The client now has its IP configuration information, TFTP Server name, and boot file name and it initiate a TFTP transaction to download the boot file.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Environment=&lt;br /&gt;
Tested working with:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| (k)Ubuntu 20.04 x64&lt;br /&gt;
| Fog v1.5.9&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* dnsmasq&lt;br /&gt;
* LTSP Server, further documentation at [https://help.ubuntu.com/community/UbuntuLTSP/ProxyDHCP Ubuntu LTSP/ProxyDHCP].&lt;br /&gt;
&lt;br /&gt;
=Setup and Configuration=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;First get your desired linux flavor installed&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Install FOG (use instructions on wiki user manual)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure you do a normal server installation, don&#039;t setup a DHCP router address or a DNS server address, also don&#039;t use FOG as a DHCP server.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If you set a MySQL password make sure you change it in /var/www/fog/commons/config.php and also in /opt/fog/service/etc/config.php&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Edit /etc/exports to look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/images                        *(ro,async,no_wdelay,insecure_locks,no_root_squash,insecure)&lt;br /&gt;
/images/dev                    *(rw,async,no_wdelay,no_root_squash,insecure)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Install dnsmasq using: &amp;lt;pre&amp;gt;sudo apt-get install dnsmasq&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Create /etc/dnsmasq.d/ltsp.conf using the following settings, modify as needed:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Sample configuration for dnsmasq to function as a proxyDHCP server,&lt;br /&gt;
# enabling LTSP clients to boot when an external, unmodifiable DHCP&lt;br /&gt;
# server is present.&lt;br /&gt;
# The main dnsmasq configuration is in /etc/dnsmasq.conf;&lt;br /&gt;
# the contents of this script are added to the main configuration.&lt;br /&gt;
# You may modify the file to suit your needs.&lt;br /&gt;
&lt;br /&gt;
# Don&#039;t function as a DNS server:&lt;br /&gt;
port=0&lt;br /&gt;
&lt;br /&gt;
# Log lots of extra information about DHCP transactions.&lt;br /&gt;
log-dhcp&lt;br /&gt;
&lt;br /&gt;
# Set the root directory for files available via FTP.&lt;br /&gt;
tftp-root=/tftpboot&lt;br /&gt;
&lt;br /&gt;
# Disable re-use of the DHCP servername and filename fields as extra&lt;br /&gt;
# option space. That&#039;s to avoid confusing some old or broken DHCP clients.&lt;br /&gt;
dhcp-no-override&lt;br /&gt;
&lt;br /&gt;
# inspect the vendor class string and match the text to set the tag&lt;br /&gt;
dhcp-vendorclass=BIOS,PXEClient:Arch:00000&lt;br /&gt;
dhcp-vendorclass=UEFI32,PXEClient:Arch:00006&lt;br /&gt;
dhcp-vendorclass=UEFI,PXEClient:Arch:00007&lt;br /&gt;
dhcp-vendorclass=UEFI64,PXEClient:Arch:00009&lt;br /&gt;
&lt;br /&gt;
#UUID for a Dell e6230 I tested (this info was gleaned from the dnsmasq log file that recorded&lt;br /&gt;
# a pxe boot session of this target computer&lt;br /&gt;
dhcp-match=set:e6230,97,00:44:45:4c:4c:38:00:10:36:80:4e:c4:c0:4f:4a:58:31&lt;br /&gt;
&lt;br /&gt;
# Set the boot file name based on the matching tag from the vendor class (above)&lt;br /&gt;
dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,&amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
dhcp-boot=net:UEFI,ipxe.efi,,&amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
dhcp-boot=net:UEFI64,ipxe.efi,,&amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Our test to ensure both the UEFI and e6230 tags are set. &lt;br /&gt;
dhcp-boot=tag:UEFI,tag:e6230, intel.efi, &amp;lt;FOG ip address&amp;gt;, &amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# The boot filename, Server name, Server Ip Address&lt;br /&gt;
dhcp-boot=undionly.kpxe,,&amp;lt;FOG ip address&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# PXE menu.  The first part is the text displayed to the user.  The second is the timeout, in seconds.&lt;br /&gt;
pxe-prompt=&amp;quot;Booting FOG Client&amp;quot;, 1&lt;br /&gt;
&lt;br /&gt;
dhcp-range=&amp;lt;FOG ip address&amp;gt;,proxy&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;pre&amp;gt;mkdir /srv/tftp&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;pre&amp;gt;ln -s  /srv/tftp /tftpboot&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;control FOG IP address in file /tftpboot/default.ipxe and change if it need&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Restart dnsmasq with &amp;lt;pre&amp;gt;sudo service dnsmasq restart&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; After getting everything working, you can change the timeout to 0 on the line: &amp;lt;pre&amp;gt;pxe-prompt=&amp;quot;Press F8 for boot menu&amp;quot;, 3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Serving ProxyDHCP to multiple subnets=&lt;br /&gt;
If you are serving ProxyDHCP to multiple subnets some changes must be made to your switches/routers and your server config.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Modify your /etc/dnsmasq.d/ltsp.conf file by adding the subnet mask option to line: &amp;lt;pre&amp;gt;dhcp-range=192.168.1.10,proxy&amp;lt;/pre&amp;gt; to make it &amp;lt;pre&amp;gt;dhcp-range=192.168.1.10,proxy,255.255.0.0&amp;lt;/pre&amp;gt; which will serve all 192.168.x.x subnets.  If you are using 10.x.x.x addressing, use subnet mask &amp;quot;255.0.0.0&amp;quot; (8-bit) and if you are using 172.16.x.x, use subnet mask &amp;quot;255.240.0.0&amp;quot; (12 bit).  Basically set the subnet mask so that all subnets on which ProxyDHCP should answer are covered.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t do this, the ProxyDHCP server will not respond to DHCP requests for hosts outside of it&#039;s own subnet.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add an IP Helper/DHCP Relay record to your router or switch so the DHCP broadcasts are sent to your normal DHCP server AND the Fog server.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Additional Info=&lt;br /&gt;
[https://wiki.fogproject.org/wiki/index.php?title=Using_FOG_with_an_unmodifiable_DHCP_server/_Using_FOG_with_no_DHCP_server Using FOG with an unmodifiable DHCP server/ Using FOG with no DHCP server]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.fogproject.org/wiki/index.php?title=ProxyDHCP_with_dnsmasq ProxyDHCP with dnsmasq]&lt;/div&gt;</summary>
		<author><name>172.26.0.40</name></author>
	</entry>
</feed>