mirror of
https://github.com/xcat2/xNBA.git
synced 2024-11-25 02:50:17 +00:00
141 lines
4.8 KiB
Plaintext
141 lines
4.8 KiB
Plaintext
|
From: Dax Kelson
|
||
|
To: Etherboot users list
|
||
|
Subject: [Etherboot-users] Example ISC DHCP v3 dhcpd.conf using conditional operations
|
||
|
Date: Wed, 13 Jun 2001 20:22:21 -0600
|
||
|
|
||
|
Hopefully someone will find this useful. I spent a long time tracking
|
||
|
down and figuring out all the pieces. To the powers that be, feel free to
|
||
|
stick this in contrib if you like it.
|
||
|
|
||
|
Goal: Use the vendor-class-identifier and ISC DHCP v3 "match" option to
|
||
|
conditionally send proper options only when the DHCP discover/request from
|
||
|
etherboot comes in. We use static-MAC-to-IP mappings for classroom
|
||
|
computers, and dynamic dhcp ranges for other clients (student laptops,
|
||
|
etc).
|
||
|
|
||
|
I used Etherboot 5.0.1 and the patch (required) in this email:
|
||
|
|
||
|
http://www.geocrawler.com/lists/3/SourceForge/5299/0/5952625/
|
||
|
|
||
|
Furture versions of Etherboot will likely already have this patch
|
||
|
included.
|
||
|
|
||
|
Dax Kelson
|
||
|
Guru Labs
|
||
|
|
||
|
######### Begin ISC DHCP v3 dhcpd.conf #############
|
||
|
|
||
|
ddns-update-style ad-hoc;
|
||
|
|
||
|
# Global default, can be overridden
|
||
|
filename "/exports/kickstart/class1-rh7.1.ks";
|
||
|
|
||
|
# Define options for Etherboot
|
||
|
# There are more, these are just the ones I'm using
|
||
|
option ebootmagic code 128 = string;
|
||
|
option cmdline code 129 = string;
|
||
|
option menudflts code 160 = string;
|
||
|
option menuline1 code 192 = string;
|
||
|
option menuline2 code 193 = string;
|
||
|
option menuline3 code 194 = string;
|
||
|
option menuline4 code 195 = string;
|
||
|
option menuline5 code 196 = string;
|
||
|
option menuline6 code 197 = string;
|
||
|
option menuline7 code 198 = string;
|
||
|
option menuline8 code 199 = string;
|
||
|
option menuline9 code 200 = string;
|
||
|
option menuline10 code 201 = string;
|
||
|
option menuline11 code 202 = string;
|
||
|
option menuline12 code 203 = string;
|
||
|
option menuline13 code 204 = string;
|
||
|
option menuline14 code 205 = string;
|
||
|
option menuline15 code 206 = string;
|
||
|
option menuline16 code 207 = string;
|
||
|
option motdline1 code 184 = string;
|
||
|
|
||
|
class "Etherboot" {
|
||
|
match if substring (option vendor-class-identifier, 0, 9) = "Etherboot";
|
||
|
|
||
|
option ebootmagic = E4:45:74:68:00:00;
|
||
|
|
||
|
# We don't use this here, because different menu items require
|
||
|
# different cmdlines. In our ".nbi" files we specify the cmdlines
|
||
|
|
||
|
# option cmdline = "ks initrd=initrd.img lang= devfs=nomount";
|
||
|
|
||
|
option motdline1 = "Welcome to Guru Labs classroom";
|
||
|
|
||
|
option menudflts = "timeout=30:default=192";
|
||
|
|
||
|
option menuline1 = "Boot from Hard Drive (Default):::/dev/hda:::";
|
||
|
option menuline2 = "Boot from Floppy:::/dev/fd0:::";
|
||
|
option menuline3 = "Boot from CDROM::::::";
|
||
|
option menuline4 = "Kickstart install Red Hat 7.1:::rh71-ks-etherboot.nbi:::";
|
||
|
option menuline5 = "Red Hat 7.1 network rescue:::rh71-rescue-etherboot.nbi:::";
|
||
|
option menuline6 = "Boot Win98SE startup floppy:::win98se-startupdisk.nbi:::";
|
||
|
option menuline7 = "Jumpstart install Solaris 8 (not working yet):::/dev/hda:::";
|
||
|
option menuline8 = "Install Windows 98 SE (not working yet):::/dev/hda:::";
|
||
|
option menuline9 = "Install Windows 2000 (not working yet):::/dev/hda:::";
|
||
|
option menuline10 = "Install FreeBSD 4.3 (not working yet):::/dev/hda:::";
|
||
|
option menuline11 = "Install OpenBSD 2.9 (not working yet):::/dev/hda:::";
|
||
|
|
||
|
# This is a hidden menu item, it should be password protected too
|
||
|
option menuline12 = "^[[3D^[[K^[[1A^M:::/dev/hda:::";
|
||
|
|
||
|
# We are using the menu, with different bootfiles. So we don't use this.
|
||
|
# If you weren't using a menu, you could use this override the global
|
||
|
# default "filename" setting.
|
||
|
|
||
|
# filename "rh71-ks-etherboot";
|
||
|
|
||
|
# Use the following if etherboot compiled with -DREQUIRE_VCI_ETHERBOOT
|
||
|
|
||
|
option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
|
||
|
|
||
|
}
|
||
|
|
||
|
subnet 10.100.0.0 netmask 255.255.255.0 {
|
||
|
authoritative;
|
||
|
option routers 10.100.0.254;
|
||
|
option subnet-mask 255.255.255.0;
|
||
|
option domain-name "example.com";
|
||
|
option domain-name-servers 10.100.0.254;
|
||
|
option time-offset -7; # US/Mountain
|
||
|
option ntp-servers 10.100.0.254;
|
||
|
range dynamic-bootp 10.100.0.175 10.100.0.250;
|
||
|
default-lease-time 21600;
|
||
|
max-lease-time 43200;
|
||
|
option netbios-name-servers 10.100.0.254;
|
||
|
option netbios-node-type 2;
|
||
|
use-host-decl-names on;
|
||
|
next-server server1.example.com;
|
||
|
|
||
|
}
|
||
|
|
||
|
host station1 {
|
||
|
hardware ethernet 00:01:03:de:57:e2;
|
||
|
fixed-address 10.100.0.1;
|
||
|
}
|
||
|
host station2 {
|
||
|
hardware ethernet 00:01:03:de:57:e7;
|
||
|
fixed-address 10.100.0.2;
|
||
|
}
|
||
|
host station3 {
|
||
|
hardware ethernet 00:01:03:de:57:b4;
|
||
|
fixed-address 10.100.0.3;
|
||
|
}
|
||
|
host station4 {
|
||
|
hardware ethernet 00:01:03:de:57:38;
|
||
|
fixed-address 10.100.0.4;
|
||
|
}
|
||
|
host station5 {
|
||
|
hardware ethernet 00:01:03:de:58:3d;
|
||
|
fixed-address 10.100.0.5;
|
||
|
}
|
||
|
|
||
|
#
|
||
|
# Etc, etc
|
||
|
#
|
||
|
|
||
|
############## End ISC DHCP v3 dhcpd.conf #############
|