Operating System - Linux
1752604 Members
4521 Online
108788 Solutions
New Discussion юеВ

Re: PXE installation server setup - guidelines please

 
GnanaShekar
Regular Advisor

PXE installation server setup - guidelines please

Hi,

I get a lot of Linux (Redhat & SUSE) installation requests. I want to setup a PXE installation server. Please provide any links / docs to help me with this.

There is a DHCP server which the IT folks maintain already. I donot have any control or access ot it. This DHCP server is used for the desktops.

I know that the PXE installation server requires a DHCP server, can I set and use my own DHCP server?

I donot want my DHCP server to cause any problem with the already existing one in the network. How do I go about this.

Please suggest.
Thanks & Regards,
5 REPLIES 5
Steven E. Protter
Exalted Contributor

Re: PXE installation server setup - guidelines please

Shalom,

I think PXE needs its own DHCP server but you can reserve a small address range and safely use it on a network that has DHCP server as well.

http://www.linux-sxs.org/internet_serving/pxeboot.html

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
Stuart Browne
Honored Contributor

Re: PXE installation server setup - guidelines please

You can re-use an existing DHCP server if you can configure it enough.

RH comes with tools to set up a PXE-Boot server for installation or diskless-booting, which (after some poking) work reasonably well.

Couple that with KickStart, and you're on your way to a very simple server building platform.

http://www.stanford.edu/~alfw/PXE-Kickstart/PXE-Kickstart.html

Not a bad document, lists most things.

This 'dhcpd.conf' snippet is also of great value:

class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
option vendor-class-identifier "PXEClient";
vendor-option-space PXE;

# At least one of the vendor-specific PXE options must be set in
# order for the client boot ROMs to realize that we are a PXE-compliant
# server. We set the MCAST IP address to 0.0.0.0 to tell the boot ROM
# that we can't provide multicast TFTP (address 0.0.0.0 means no
# address).

option PXE.mtftp-ip 0.0.0.0;

# This is the name of the file the boot ROMs should download.
filename "pxelinux.0";

# This is the name of the server they should get it from.
next-server 192.168.2.10;
}

(from http://logout.sh/computers/linux/netboot/ ).

The 'match' and 'option vendor-class-identifier' lines are quite the thing. They (or a combination of them) allow you to pick out a client doing a PXE-boot as against a normal client just wanting an address.

One long-haired git at your service...
Heironimus
Honored Contributor

Re: PXE installation server setup - guidelines please

Setting up a PXE server isn't that difficult, but it does require a DHCP server and you will have problems if you put more than one DHCP server on your network. A DHCP client requests an IP with a broadcast and it takes the first answer it gets.

For Red Hat you can get most of the benefit and none of the pain by using a network install CD and a kickstart file. I'm not sure what the SuSE equivalent is.
Stephen P. Schaefer
Frequent Advisor

Re: PXE installation server setup - guidelines please

In my experience, you can usually run an "unauthorized" DHCP server, but you need to do several things.

Most important: notify the IT folks that you're doing this. A misconfigured DHCP server can make everyone's life miserable.

In the ISC DHCP server (e.g., as distributed by Red Hat) include the line

not authoritative;

within the scope you're serving. That will prevent your DHCP server from sending DHCP NAK packets to legitimate clients of the other DHCP server. Then, distribute addresses only to known MAC addresses. For example:

#
ddns-update-style interim;
ignore client-updates;
not authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {

# --- default gateway
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;

option nis-domain "example";
option domain-name "example.com";
option domain-name-servers 192.168.1.1, 192.168.2.1;

option time-offset -18000; # Eastern Standard Time

default-lease-time 21600;
max-lease-time 43200;

host pxeclient00 {
fixed-address 192.168.1.100;
hardware ethernet 00:C0:9F:18:B4:FE;
next-server tftpserver;
filename "linux-install/pxelinux.0";
}
}

As the example shows, I use Peter Anvin's pxelinux.0 network boot loader in the next step. There are further instructions at http://syslinux.zytor.com/pxe.php but his examples for dhcpd.conf don't include the

not authoritative;

line, and you MUST include that, or your IT folks will get out the pitchforks!

Good luck.
Maaz
Valued Contributor

Re: PXE installation server setup - guidelines please