summaryrefslogtreecommitdiffstats
path: root/contrib/dhcpdconfeg/vendorclassid.txt
blob: 7b1f3910b7de0a21776330ecf67e3d263558e90c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
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 #############