summaryrefslogtreecommitdiff
path: root/dhcp3
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2002-10-31 02:56:00 +0000
committerJonas Smedegaard <dr@jones.dk>2002-10-31 02:56:00 +0000
commitc48951bf14eab76fcc2c80e9d86a849f973bfa08 (patch)
treeafaeef3098960afe9b3a1b62f0a333e1f9187557 /dhcp3
parentdf1f3353701833e3f45f8933a2e0843b94d4fd45 (diff)
dhcp3: Add example DHCP3 config files.
Diffstat (limited to 'dhcp3')
-rw-r--r--dhcp3/dhcpd.conf112
-rw-r--r--dhcp3/dhcpd.hosts.fai47
-rw-r--r--dhcp3/dhcpd.hosts.grub17
-rw-r--r--dhcp3/dhcpd.hosts.ltsp24
-rw-r--r--dhcp3/dhcpd.hosts.plain14
5 files changed, 214 insertions, 0 deletions
diff --git a/dhcp3/dhcpd.conf b/dhcp3/dhcpd.conf
new file mode 100644
index 0000000..420a4f1
--- /dev/null
+++ b/dhcp3/dhcpd.conf
@@ -0,0 +1,112 @@
+# This config is put together with valuable inspiration from the following sources:
+# http://cd-linux.org/nfs-howto.htm
+# http://www.netbsd.org/Documentation/network/netboot/intro.i386.html
+# http://www.pcxperience.org/thinclient/documentation/thinclientdesign.html
+# http://www.nominum.com/resources/faqs/dhcp-faq.html
+
+authoritative;
+#deny-unknown-clients;
+ddns-update-style none;
+use-host-decl-names on; # This avoids setting "option host-name" for each host
+#always-reply-rfc1048 on;
+
+default-lease-time 21600;
+max-lease-time 21600;
+
+option subnet-mask 255.255.255.0;
+option broadcast-address 192.168.102.255;
+option routers 192.168.102.1;
+option domain-name-servers 192.168.102.252;
+option domain-name "107b.dk";
+option time-servers ntp;
+option ntp-servers ntp;
+option log-servers log;
+
+# FAI (Fully Automated Install) options
+option fai-location code 170 = text;
+option fai-action code 171 = text;
+option fai-flags code 172 = text;
+
+# Etherboot options
+option eb-magic code 128 = string; # Magic string for reading more options
+option eb-bootopts code 129 = text; # Boot options passed on to the kernel
+option eb-menuopts code 160 = text; # EtherBoot menu options
+option eb-motd1 code 184 = text; # MOTD
+option eb-motd2 code 185 = text;
+option eb-motd3 code 186 = text;
+option eb-motd4 code 187 = text;
+option eb-motd5 code 188 = text;
+option eb-motd6 code 189 = text;
+option eb-motd7 code 190 = text;
+option eb-motd8 code 191 = text;
+option eb-menuitem1 code 192 = text; # Menu items: "label:server:gateway:filename:passwd:flags:cmdline"
+option eb-menuitem2 code 193 = text;
+option eb-menuitem3 code 194 = text;
+option eb-menuitem4 code 195 = text;
+option eb-menuitem5 code 196 = text;
+option eb-menuitem6 code 197 = text;
+option eb-menuitem7 code 198 = text;
+option eb-menuitem8 code 199 = text;
+option eb-menuitem9 code 200 = text;
+option eb-menuitem10 code 201 = text;
+option eb-menuitem11 code 202 = text;
+option eb-menuitem12 code 203 = text;
+option eb-menuitem13 code 204 = text;
+option eb-menuitem14 code 205 = text;
+option eb-menuitem15 code 206 = text;
+option eb-menuitem16 code 207 = text;
+option space pxelinux;
+option pxelinux.magic code 208 = string;
+option pxelinux.configfile code 209 = text;
+option pxelinux.pathprefix code 210 = text;
+option pxelinux.reboottime code 211 = unsigned integer 32;
+
+# Web Proxy Auto-Discovery Protocol (described in RFC 3040, used in MS IE 5.0 and later and maybe Mozilla)
+option wpad-url code 252 = text;
+
+# GRUB (GRand Unified Boot-loader) options
+option grub-configfile code 150 = text;
+
+class "PXE" {
+ match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
+
+ # Always include the following lines for all PXELINUX clients
+ site-option-space "pxelinux";
+ option pxelinux.magic f1:00:74:7e;
+ if exists dhcp-parameter-request-list {
+ # Always send the PXELINUX options
+ append dhcp-parameter-request-list 208, 209, 210, 211;
+ }
+# option pxelinux.configfile = concat("pxelinux.cfg/", binary-to-ascii(16, 8, ":", hardware));
+# option pxelinux.reboottime 30;
+ filename "pxelinux.0";
+}
+
+class "Etherboot" {
+ match if substring (option vendor-class-identifier, 0, 9) = "Etherboot";
+}
+
+# Open Transport 2.5.1 and 2.5.2 fails with lease times larger than 1 hour
+class "Macintosh_a" {
+ match if substring (hardware, 0, 3) = 00:05:02;
+
+ default-lease-time 3599;
+ max-lease-time 3599;
+ min-lease-time 3599;
+}
+class "Macintosh_b" {
+ match if substring (hardware, 0, 3) = 00:61:61;
+
+ default-lease-time 3599;
+ max-lease-time 3599;
+ min-lease-time 3599;
+}
+
+subnet 192.168.102.0 netmask 255.255.255.0 {
+ range 192.168.102.100 192.168.102.200;
+}
+
+include "/etc/dhcp3/dhcpd.hosts.fai";
+include "/etc/dhcp3/dhcpd.hosts.ltsp";
+include "/etc/dhcp3/dhcpd.hosts.grub";
+include "/etc/dhcp3/dhcpd.hosts.plain";
diff --git a/dhcp3/dhcpd.hosts.fai b/dhcp3/dhcpd.hosts.fai
new file mode 100644
index 0000000..7e6577b
--- /dev/null
+++ b/dhcp3/dhcpd.hosts.fai
@@ -0,0 +1,47 @@
+# FAI clients
+group {
+ server-name "fai";
+ next-server 192.168.102.252; # IP address of TFTP server (only needed if separate from DHCP server)
+# option tftp-server-name "192.168.102.252"; # same as (or similar to) next-server above (not tested)
+ option dhcp-max-message-size 2048;
+ option fai-location "fai:/usr/local/share/fai";
+ option fai-action "sysinfo";
+ option fai-flags "verbose createvt sshd";
+# option root-path "/usr/local/lib/fai/nfsroot-woody-i386";
+# option root-path "/usr/local/lib/fai/nfsroot-sarge-i386";
+# option root-path "/usr/local/lib/fai/nfsroot-sid-i386";
+# filename "boot/fai/pxelinux.0";
+# filename "/pxelinux.0";
+ option pxelinux.pathprefix "/boot/fai/";
+
+ if substring (option vendor-class-identifier, 0, 9) = "Etherboot" {
+ option eb-magic e4:45:74:68:00:00;
+ option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff; # Send VCI "Etherboot" back to client again
+ filename "boot/fai/vmlinuz-2.4.18.nbi";
+ }
+
+
+ host simbabve { hardware ethernet 00:d0:09:ab:c1:ad; fixed-address simbabve; option fai-action "install"; option root-path "/usr/local/lib/fai/nfsroot-sid-i386"; } # Vega: Family.net (requires XFree86 4.2 which needs glibc only in sid as of 20020901)
+# host jammin { hardware ethernet 00:50:41:01:66:6b; fixed-address jammin; option eb-bootopts "ramdisk_size=16000 vga=0x303 console=/dev/tty2 "; } # Vega: Jammin 125
+
+ # rtl8029 NIC
+ host collapse { hardware ethernet 00:06:29:05:a4:e6; fixed-address collapse; option fai-action "install"; } # Lab: IBM m. defekt indbygget NIC
+
+ # sis900 NIC
+ host svasiland { hardware ethernet 00:07:95:47:3e:f2; fixed-address svasiland; option fai-action "install"; } # VEGA motherf*cker
+
+ # Via-rhine NIC
+ host sair { hardware ethernet 00:40:63:c0:8d:05; fixed-address sair; option fai-action "install"; } # Vega: Xenux thin client
+ host tjat { hardware ethernet 00:40:63:c0:8d:b3; fixed-address tjat; } # Vega: Xenux thin client
+ host kenja { hardware ethernet 00:40:63:c0:84:a5; fixed-address kenja; option fai-action "install"; option root-path "/usr/local/lib/fai/nfsroot-sarge-i386"; } # Vega (Spiff): Xenux thin client (Woody is fine - this is experiemental only)
+
+ # 3com 3c556 NIC
+ host blyant { hardware ethernet 00:04:75:19:9f:88; fixed-address blyant; option fai-action "install"; } # Louiz: HP omnibook 500, 700MhZ Pentium III, 128MB ram (TW12503936)
+ host passer { hardware ethernet 00:01:03:88:45:ed; fixed-address passer; option fai-action "install"; } # Louiz: HP omnibook 500, 500MhZ Pentium III, 128MB ram (TW13603371)
+ host ur { hardware ethernet 00:04:75:19:3f:6d; fixed-address ur; option fai-action "install"; } # Louiz: HP omnibook 500, 500MhZ Pentium III, 256MB ram (TW12503931)
+ host kniv { hardware ethernet 00:01:03:88:63:3c; fixed-address kniv; option fai-action "install"; } # Louiz: HP omnibook 500, 700MhZ Pentium III, 128MB ram (TW13500555)
+ # Louiz: HP omnibook 500, 600MhZ Celeron, 128MB ram (TW14203937) - NIC broken/missing
+
+ # PowerPC
+ host auryn { hardware ethernet 00:30:65:09:3a:27; fixed-address auryn; filename "yaboot/yaboot"; }
+}
diff --git a/dhcp3/dhcpd.hosts.grub b/dhcp3/dhcpd.hosts.grub
new file mode 100644
index 0000000..8f2d461
--- /dev/null
+++ b/dhcp3/dhcpd.hosts.grub
@@ -0,0 +1,17 @@
+group {
+ server-name "grub";
+ next-server 192.168.102.252; # IP of TFTP server (only needed if separate from DHCP server)
+# option tftp-server-name "192.168.102.252"; # same as (or similar to) next-server above (not tested)
+ option dhcp-max-message-size 2048;
+ option grub-configfile "(nd)/grub-menu.lst";
+
+ # Via-rhine NIC
+ group {
+ if substring (option vendor-class-identifier, 0, 9) = "PXEClient" {
+ filename "pxegrub-via-rhine";
+ } else {
+ filename "nbgrub-via-rhine";
+ }
+# host kenja { hardware ethernet 00:40:63:c0:84:a5; fixed-address kenja; option fai-action "install"; } # Vega (Spiff): Xenux thin client
+ }
+}
diff --git a/dhcp3/dhcpd.hosts.ltsp b/dhcp3/dhcpd.hosts.ltsp
new file mode 100644
index 0000000..01112fb
--- /dev/null
+++ b/dhcp3/dhcpd.hosts.ltsp
@@ -0,0 +1,24 @@
+group {
+ server-name "ltsp";
+ next-server ltsp;
+ filename "lts/vmlinuz-2.4.9-ltsp-lpp-6";
+# filename "lts/vmlinuz-2.4.19-ltsp-1";
+ option root-path "192.168.102.75:/opt/ltsp/i386";
+ option eb-magic e4:45:74:68:00:00;
+ option eb-bootopts "ramdisk_size=8000 vga=0x301 console=/dev/tty2 ";
+# option eb-menuopts "timeout=10:default=192";
+# option eb-motd1 "Loading message of the day...\n['motd'#";
+# option eb-menuitem1 "Linux:::-:::";
+# option eb-menuitem2 "FreeDOS:::floppy.net:::";
+# option eb-menuitem3 "FreeDOS:::-:::nfs=other";
+ option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
+
+ host pc077 { hardware ethernet 00:50:BA:8C:B9:6D; fixed-address 192.168.102.77; } # Lab: clone
+# host kenja { hardware ethernet 00:40:63:c0:84:a5; fixed-address kenja; option eb-bootopts "via-rhine "; } # Vega (Spiff): Xenux thin client
+ host pc079 { hardware ethernet 00:00:B4:78:CF:EC; fixed-address 192.168.102.79; option eb-bootopts "NIC=tulip "; } # Jones(?): clone(?)
+ host jammin { hardware ethernet 00:50:41:01:66:6b; fixed-address jammin; option eb-bootopts "ramdisk_size=16000 vga=0x303 console=/dev/tty2 "; } # Vega: Jammin 125
+ host pc083 { hardware ethernet 00:50:22:87:01:71; fixed-address 192.168.102.83; } # Lab(?): clone(?)
+ host judd2 { hardware ethernet 00:10:a7:0b:05:80; fixed-address judd2; } # Judd: Zitech clone
+ host lablight1 { hardware ethernet 00:50:ba:8c:85:fe; fixed-address lablight1; option eb-bootopts "NIC=8139too "; } # LAB Pentium90/16 dfe538
+ host lablight2 { hardware ethernet 00:50:ba:8c:b9:70; fixed-address lablight2; option eb-bootopts "NIC=8139too "; } # LAB Pentium133/24 dfe538
+}
diff --git a/dhcp3/dhcpd.hosts.plain b/dhcp3/dhcpd.hosts.plain
new file mode 100644
index 0000000..58a7854
--- /dev/null
+++ b/dhcp3/dhcpd.hosts.plain
@@ -0,0 +1,14 @@
+group {
+ option netbios-name-servers samba;
+ option netbios-dd-server samba;
+ option netbios-node-type 2; # Disable browsing, only use netbios server
+ option ip-forwarding Off;
+ option wpad-url "http://wpad/wpad.dat"; # Add this host to Bind and Apache, to work with non-DHCP clients as well
+
+ host negonwin { hardware ethernet 00:00:b4:84:93:53; fixed-address negon3; }
+ host haledual { hardware ethernet 00:30:65:c0:0b:be; fixed-address haledual; }
+ host noiszes-g4 { hardware ethernet 00:30:65:f3:38:ee; fixed-address noiszes-g4; }
+ host egern { hardware ethernet 00:80:ad:c6:b9:51; fixed-address egern; }
+ host emil-louise { hardware ethernet 00:07:95:ab:b1:4a; fixed-address emil-louise; }
+ host gyro { hardware ethernet 00:03:93:12:4d:34; fixed-address gyro; }
+}