# Sample configuration file for LTSP dhcpd # The goal of this provided dhcpd.conf is to boot as many different clients as possible without manual configuration. # Some clients cannot be booted with this, and you will need to create your own custom dhcpd.conf. # Some more complex network topologies will also need a custom dhcpd.conf. # default-lease-time 21600; max-lease-time 21600; ddns-update-style none; allow booting; allow bootp; option subnet-mask 255.255.255.0; option broadcast-address 172.31.100.255; option routers 172.31.100.254; option domain-name-servers 172.31.100.254; next-server 172.31.100.254; option domain-name "ltsp"; option option-128 code 128 = string; option option-129 code 129 = text; option option-221 code 221 = text; shared-network WORKSTATIONS { subnet 172.31.100.0 netmask 255.255.255.0 { range dynamic-bootp 172.31.100.100 172.31.100.253; use-host-decl-names on; option log-servers 172.31.100.254; # trick from Peter Rundle # newer PPC Macs if substring (option vendor-class-identifier, 0, 9) = "AAPLBSDPC" { filename "yaboot"; option vendor-class-identifier "AAPLBSDPC"; option vendor-encapsulated-options 01:01:02:08:04:01:00:00:01:82; } # really old ppc iMacs elsif substring (option option-221, 0, 5) = "Apple" { filename "yaboot"; option vendor-class-identifier "AAPLBSDPC"; option vendor-encapsulated-options 01:01:02:08:04:01:00:00:01:82; } # Etherboot ELF (only 5.4), should work with Coreboot elsif substring (option vendor-class-identifier, 0, 13) = "Etherboot-5.4" { filename "/ltsp/i386/elf.ltsp"; } # Etherboot NBI (older clients) elsif substring (option vendor-class-identifier, 0, 9) = "Etherboot" { filename "/ltsp/i386/wraplinux-nbi.ltsp"; } # PXE elsif substring (option vendor-class-identifier, 0, 9) = "PXEClient" { # NOTE: kernels are specified in /tftpboot/ltsp/i386/pxelinux.cfg/ filename "/ltsp/i386/pxelinux.0"; } # if all else fails (likely BOOTP), default to an NBI image else { filename "/ltsp/i386/wraplinux-nbi.ltsp"; } # PPC Apple MAC prefixes https://fedoraproject.org/wiki/WarrenTogami/AppleMACAddresses # initrd did dhcp again with vendor-client-identifier "nash" so we need another way to set root-path # This is most likely an incomplete list. You may need to add your own if you have a PPC not covered. # 00:03:93 # 00:05:02 # 00:0A:27 # 00:0A:95 # 00:0D:93 # 00:11:24 # 00:14:51 # 00:30:65 # 00:50:E4 if binary-to-ascii (16, 8, "-", substring (hardware, 0, 4)) = "1-0-3-93" or binary-to-ascii (16, 8, "-", substring (hardware, 0, 4)) = "1-0-5-2" or binary-to-ascii (16, 8, "-", substring (hardware, 0, 4)) = "1-0-a-27" or binary-to-ascii (16, 8, "-", substring (hardware, 0, 4)) = "1-0-a-95" or binary-to-ascii (16, 8, "-", substring (hardware, 0, 4)) = "1-0-d-93" or binary-to-ascii (16, 8, "-", substring (hardware, 0, 4)) = "1-0-11-24" or binary-to-ascii (16, 8, "-", substring (hardware, 0, 4)) = "1-0-14-51" or binary-to-ascii (16, 8, "-", substring (hardware, 0, 4)) = "1-0-30-65" or binary-to-ascii (16, 8, "-", substring (hardware, 0, 4)) = "1-0-50-E4" { option root-path "172.31.100.254:/opt/ltsp/ppc"; #option root-path "nbd:172.31.100.254:2001:squashfs:ro"; } else { option root-path "172.31.100.254:/opt/ltsp/i386"; #option root-path "nbd:172.31.100.254:2000:squashfs:ro"; } } } ## example configurations for specifying specific kernels to specific clients ## These examples below are VERY OLD, uncertain if they work #group { # use-host-decl-names on; # option log-servers 172.31.100.254; # # host ws001 { # hardware ethernet 00:E0:06:E8:00:84; # fixed-address 172.31.100.1; # filename "/ltsp/vmlinuz.ltsp"; # option option-128 e4:45:74:68:00:00; # option option-129 "NIC=3c509"; # } # host ws002 { # hardware ethernet 00:D0:09:30:6A:1C; # fixed-address 172.31.100.2; # filename "/ltsp/vmlinuz.ltsp"; # option option-128 e4:45:74:68:00:00; # option option-129 "NIC=ne"; # } # host ws003 { # hardware ethernet 00:D0:09:30:28:B2; # fixed-address 172.31.100.3; # # kernels are specified in /tftpboot/ltsp/i386/pxelinux.cfg/ # filename "/ltsp/i386/pxelinux.0"; # } # # Apple Specific Settings # host ws007 { # hardware ethernet 00:30:65:69:23:60; # fixed-address 172.31.100.4; # option root-path "172.31.100.254:/opt/ltsp/ppc"; # filename "yaboot"; # option vendor-class-identifier "AAPLBSDPC"; # } #}