Difference between revisions of "PXE boot server"

From Syslinux Wiki
Jump to: navigation, search
m (Category added)
m (Wiki formatting. Add links. Typos. Minor tweaks.)
 
Line 6: Line 6:
 
'''This page is "work in progress"...'''
 
'''This page is "work in progress"...'''
  
= What is a PXE boot server? =
+
== What is a PXE boot server? ==
A PXE boot server, as defined in the PXE Specifications [http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf], is a server that provides network booting services.
+
  
If you are familiar with PXELinux, you already know how to setup your DHCP and TFTP servers to provide network boot.
+
<span id="ref1"></span>
 +
A PXE boot server, as defined in the PXE Specification version 2.1
 +
<sup><small>&#91;[[#lref1|1]]&#93;</small></sup>,
 +
is a server that provides network booting services.
  
A PXE boot server does act as a TFTP server, it also has a few nice features:
+
If you are familiar with PXELINUX, you already know how to setup your
 +
DHCP and TFTP servers to provide network boot.
 +
 
 +
A PXE boot server acts as a TFTP server. It also has a few nice features:
 
* Listen and reply on DHCP port, to provide netboot information only.
 
* Listen and reply on DHCP port, to provide netboot information only.
 
* Support Multicast TFTP.
 
* Support Multicast TFTP.
* PXE-server
+
* PXE-server.
  
= Requirement =
+
== Requirements ==
* A DHCP Server providing IP address to clients (this can be a DSL router) [optional].
+
* A PXE capable network card (or use etherboot).
+
  
= dnsmasq as a boot server =
+
* A DHCP Server providing IP address to clients <!--
 +
--> (this can be a DSL router) [optional].
 +
* A PXE-capable network card (or use etherboot).
  
[http://www.thekelleys.org.uk/dnsmasq/doc.html dnsmasq] includes nameserver (instead of ISC-bind), DHCP server (instead of ISC-dhcpd) and TFTP server (instead of HPA tftpd).
+
== dnsmasq as a boot server ==
  
* Perhaps a tftp entry in "/etc/inetd.conf" or in "/etc/xinetd" has to be disabled.
+
[http://www.thekelleys.org.uk/dnsmasq/doc.html dnsmasq]
 +
includes nameserver (instead of {{nowrap|ISC-bind)}},
 +
DHCP server (instead of {{nowrap|ISC-dhcpd)}}
 +
and TFTP server (instead of {{nowrap|HPA tftpd).}}
  
== short solution ==
+
* Perhaps a tftp entry in "<tt>/etc/inetd.conf</tt>" <!--
 +
--> or in "<tt>/etc/xinetd</tt>" has to be disabled.
  
Example for a server 192.168.0.1 with a DHCP range from 192.168.0.50 to 192.168.0.250 and a special client Think40w:
+
=== short solution ===
  
* activating (in /etc/dnsmasq.conf or included file)
+
Example for a server <tt>192.168.0.1</tt>
 +
with a DHCP range from <tt>192.168.0.50</tt>
 +
to <tt>192.168.0.250</tt> and a special client Think40w:
 +
 
 +
* activating (in <tt>/etc/dnsmasq.conf</tt> or included file)
 
<pre>
 
<pre>
 
dhcp-range=192.168.0.50,192.168.0.250,12h
 
dhcp-range=192.168.0.50,192.168.0.250,12h
Line 40: Line 53:
 
</pre>
 
</pre>
  
== special example ==
+
=== special example ===
  
In this example, we consider that you already have a DHCP on the network, that provides IP networking information (IP, netmask, router and DNS). However, that DHCP doesn't or can't provide network booting information (i.e tftp server and netboot image).
+
In this example, we consider that you already have a DHCP on the network,  
 +
that provides IP networking information (IP, netmask, router and DNS).  
 +
However, that DHCP doesn't or can't provide network booting information  
 +
(i.e. tftp server and netboot image).
  
 
'''This example is broken :('''  
 
'''This example is broken :('''  
Line 50: Line 66:
 
</pre>
 
</pre>
  
== many PXE servers ==
+
=== multiple PXE servers ===
 +
 
 +
 
 +
Hint from
 +
[http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2010q2/004156.html Clemens Fischer, dnsmasq Mailinglist 2010Jun12]
 
<pre>
 
<pre>
# Tipp von Clemens Fischer, dnsmasq-Mailingliste 12.6.2010
 
 
dhcp-mac = set:fog, 11:22:33:44:55:66
 
dhcp-mac = set:fog, 11:22:33:44:55:66
 
# Think40w. 0.60
 
# Think40w. 0.60
# beliebig oft zu wiederholen/may be repeated for many clients
+
# may be repeated for additional/other/multiple clients
 
   
 
   
 
pxe-service = tag:fog,x86PC,"fog",gpxelinux,192.168.0.5
 
pxe-service = tag:fog,x86PC,"fog",gpxelinux,192.168.0.5
Line 61: Line 80:
 
</pre>
 
</pre>
  
= WDS as a boot server =
+
== WDS as a boot server ==
Well, Windows Deployment service does provides PXE boot service out of the box.
+
Windows Deployment Service provides PXE boot service out of the box.
  
See [[WDSLINUX]] and WDS documentation [http://technet.microsoft.com/en-us/library/cc771670(WS.10).aspx], [http://technet.microsoft.com/en-us/library/bb680753.aspx]...
+
See [[WDSLINUX]] and WDS documentation  
 +
[http://technet.microsoft.com/en-us/library/cc771670(WS.10).aspx],  
 +
[http://technet.microsoft.com/en-us/library/bb680753.aspx]...
  
= see also =
+
== See also ==
  
 
* [[PXE_native_boot_menu|PXE native boot menu]]
 
* [[PXE_native_boot_menu|PXE native boot menu]]
 +
 +
* https://en.wikipedia.org/wiki/Preboot_Execution_Environment
 +
 +
== References ==
 +
 +
* <span id="lref1">1</span>. <sup><small>[[#ref1|&#94;]]</small></sup> <!--
 +
--> The Preboot Execution Environment (PXE) Specification version 2.1, <!--
 +
--> originally located (but no longer found) at <!--
 +
--> [http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf] <!--
 +
--> can be <!--
 +
--> [https://web.archive.org/web/20061114170438/download.intel.com/design/archives/wfm/downloads/pxespec.pdf retrieved from the Wayback Machine].

Latest revision as of 16:34, 19 October 2018


This page is "work in progress"...

What is a PXE boot server?

A PXE boot server, as defined in the PXE Specification version 2.1 [1], is a server that provides network booting services.

If you are familiar with PXELINUX, you already know how to setup your DHCP and TFTP servers to provide network boot.

A PXE boot server acts as a TFTP server. It also has a few nice features:

  • Listen and reply on DHCP port, to provide netboot information only.
  • Support Multicast TFTP.
  • PXE-server.

Requirements

  • A DHCP Server providing IP address to clients (this can be a DSL router) [optional].
  • A PXE-capable network card (or use etherboot).

dnsmasq as a boot server

dnsmasq includes nameserver (instead of ISC-bind), DHCP server (instead of ISC-dhcpd) and TFTP server (instead of HPA tftpd).

  • Perhaps a tftp entry in "/etc/inetd.conf" or in "/etc/xinetd" has to be disabled.

short solution

Example for a server 192.168.0.1 with a DHCP range from 192.168.0.50 to 192.168.0.250 and a special client Think40w:

  • activating (in /etc/dnsmasq.conf or included file)
dhcp-range=192.168.0.50,192.168.0.250,12h
dhcp-host=192.168.0.60,Think40w,11:22:33:44:55:66,90d
dhcp-boot=pxelinux.0,boothost,192.168.0.1

enable-tftp
tftp-root=/tftpboot

special example

In this example, we consider that you already have a DHCP on the network, that provides IP networking information (IP, netmask, router and DNS). However, that DHCP doesn't or can't provide network booting information (i.e. tftp server and netboot image).

This example is broken :(

dhcp-range=192.168.0.0,proxy
pxe-service=x86PC, "PXE-Linux", "pxelinux"

multiple PXE servers

Hint from Clemens Fischer, dnsmasq Mailinglist 2010Jun12

dhcp-mac = set:fog, 11:22:33:44:55:66
# Think40w. 0.60
# may be repeated for additional/other/multiple clients
 
pxe-service = tag:fog,x86PC,"fog",gpxelinux,192.168.0.5
pxe-service = tag:!fog,x86PC,"Arktur",gpxelinux,192.168.0.1

WDS as a boot server

Windows Deployment Service provides PXE boot service out of the box.

See WDSLINUX and WDS documentation [1], [2]...

See also

References