DHCP requirements

Moderator: warpme

Post Reply
UKenGB
Junior
Posts: 98
Joined: Tue Sep 08, 2015 1:13 pm
Great Britain

DHCP requirements

Post by UKenGB »

Looking at the MM documents, there are several DHCP options needed for MM And some for PXE. First of all, could someone possibly provide a concise list of all the required options? I can then start working on my DHCP conf to enable those.

However, a question regarding the Host option. It seems to me that all the options can be set for the subnet, apart from the Host name as that needs to be specific to the individual MM systems? Is the best way to do this to set up static leases for all the MM systems, with the Host name specified? Is there any other reason to use a static address?

In fact, would it be not be possible to assign an address from the pool, but individual Host names by MAC address?

It's years since I really messed with DHCP, so a bit rusty and any assistance would be most welcome.
User avatar
warpme
Translator
Posts: 79
Joined: Fri Feb 07, 2014 9:13 pm
Poland

Re: DHCP requirements

Post by warpme »

Here is vanilla ISC-DHCP config having minimum mandatory options needed only by MM2.
You can learn what is needed by exploring content and looking on explanation:

Code: Select all

allow booting;
allow bootp;
default-lease-time 7200;
max-lease-time 9600;
option tcode code 101 = string;
option space gpxe;
option gpxe-encap-opts code 175 = encapsulate gpxe;
option gpxe.bus-id code 177 = string;
option tcode "Europe/Warsaw";
option domain-name "homenet.org";

subnet 192.168.1.0 netmask 255.255.255.0 {
  next-server 192.168.1.254;
  option subnet-mask 255.255.255.0;
  range 192.168.1.150 192.168.1.179;
  option domain-name-servers 8.8.8.8, 4.4.4.4;
  option ntp-servers 192.168.1.254;
  option routers 192.168.1.254;
}

host Frontend1 {
  option host-name "Frontend1";
  hardware ethernet <put MAC address here>;
  if option architecture = 00:07 {
    filename "/PXEclient/ipxe.efi";
  } else {
    if substring(option vendor-class-identifier, 0, 9) = "PXEClient" and not exists gpxe.bus-id {
      filename "/PXEclient/ipxe.0";
    } else {
      filename "http://<HTTP server IP>/minimyth2/ipxe.cfg/Frontend1";
    }
  }
  # fixed-address <Optionally fixed IP address for this FE>;
}

host Frontend2 {
  option host-name "Frontend2";
  hardware ethernet <put MAC address here>;
  if option architecture = 00:07 {
    filename "/PXEclient/ipxe.efi";
  } else {
    if substring(option vendor-class-identifier, 0, 9) = "PXEClient" and not exists gpxe.bus-id {
      filename "/PXEclient/ipxe.0";
    } else {
      filename "http://<HTTP server IP>/minimyth2/ipxe.cfg/Frontend2";
    }
  }
  # fixed-address <Optionally fixed IP address for this FE>;
}
UKenGB
Junior
Posts: 98
Joined: Tue Sep 08, 2015 1:13 pm
Great Britain

Re: DHCP requirements

Post by UKenGB »

That mostly makes sense as in the past I've spent a lot more time hacking ISC dhcpd than trying to figure out how screwed up is Apple's bootpd. I very much doubt there's any chance of conditionals in the Apple setup unfortunately and I believe next-server might be problematic, but I'm looking into that. Right now I can't seem to get bootpd to serve any of the additional options, but that may be down to how I'm testing it. As I said, I'm looking into that.

Am I missing it, but I can't see how you're telling the client the TFTP server address which the PXE process will definitely require. I've seen this quoted as being option 66,128 and 150. 66 is usually stated as being the TFTP server NAME, but it often seems to be used to announce the IP address, which is what 128 and 150 are specifically. I couldn't find anywhere indicating how MM2 with PXE needs to be told the TFTP server and your setup doesn't seem to mention it at all. So still unclear on this.

How are you passing the TFTP server name/address? Is next-server something to do with that? Is there an option code equivalent?
UKenGB
Junior
Posts: 98
Joined: Tue Sep 08, 2015 1:13 pm
Great Britain

Re: DHCP requirements

Post by UKenGB »

Looks like next-server can be used to mean the TFTP server? Will PXE make use of option 66, 128 or 150 instead of next-server?

Also, you 'allow bootp'. Is this necessary? Does PXE use BOOTP and not DHCP?
UKenGB
Junior
Posts: 98
Joined: Tue Sep 08, 2015 1:13 pm
Great Britain

Re: DHCP requirements

Post by UKenGB »

I also notice you have no 'broadcast-address' option. I thought this is required by MM? At least, the docs say it is.

Is it not essential?

What about 'log-servers' as that is also missing from your DHCP configuration?
Post Reply