# # This was borrowed from http://frank.harvard.edu/~coldwell/diskless/ # Diskless Linux by Charles M. "Chip" Coldwell # ddns-update-style none; # see dhcpd.conf for long discussion option ip-forwarding false; # No IP forwarding option mask-supplier false; # Don't respond to ICMP Mask req option nis-domain "judges"; # NIS domain name option nis-servers 192.168.0.1; # bvds option ntp-servers 192.168.0.1; # bvds option domain-name-servers 63.172.28.2, 63.172.28.3; # # This is copied directly from Coldwell # # Definition of PXE-specific options # Code 1: Multicast IP address of boot file server # Code 2: UDP port that client should monitor for MTFTP responses # Code 3: UDP port that MTFTP servers are using to listen for MTFTP requests # Code 4: Number of seconds a client must listen for activity before trying # to start a new MTFTP transfer # Code 5: Number of seconds a client must listen before trying to restart # a MTFTP transfer option space PXE; option PXE.mtftp-ip code 1 = ip-address; option PXE.mtftp-cport code 2 = unsigned integer 16; option PXE.mtftp-sport code 3 = unsigned integer 16; option PXE.mtftp-tmout code 4 = unsigned integer 8; option PXE.mtftp-delay code 5 = unsigned integer 8; option PXE.discovery-control code 6 = unsigned integer 8; option PXE.discovery-mcast-addr code 7 = ip-address; class "PXE" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; option vendor-class-identifier "PXEClient"; vendor-option-space PXE; # At least one of the vendor-specific PXE options must be set in # order for the client boot ROMs to realize that we are a PXE-compliant # server. We set the MCAST IP address to 0.0.0.0 to tell the boot ROM # that we can't provide multicast TFTP (address 0.0.0.0 means no # address). option PXE.mtftp-ip 0.0.0.0; filename "pxelinux.0"; # File the boot ROMs should download. next-server 192.168.1.2; # TFTP server } subnet 192.168.1.0 netmask 255.255.255.0 { max-lease-time 100; # seconds before lease expires default-lease-time 100; option broadcast-address 192.168.1.255; option routers 192.168.1.2; # gateway address pool { range 192.168.1.1 192.168.1.8; # range of addresses to hand out deny unknown clients; } # The following list of hosts matches /etc/hosts on bvds. # # There is no way to assign host names using DHCP and dynamic # allocation. For diskless nodes, the only way a host statement # can be matched is if the hardware address is supplied. # use-host-decl-names on; # supply host name to client # # # host barak { hardware ethernet 00:0C:76:15:01:DC; fixed-address barak; option root-path "192.168.1.2:/export/barak"; } host deborah { hardware ethernet 00:0C:76:15:01:3a; fixed-address deborah; option root-path "192.168.1.2:/export/deborah"; } host jair { hardware ethernet 00:0c:76:16:40:75; fixed-address jair; option root-path "192.168.1.2:/export/jair"; } host gideon { hardware ethernet 00:0c:76:16:40:8d; fixed-address gideon; option root-path "192.168.1.2:/export/gideon"; } host ehud { hardware ethernet 00:0c:76:14:39:e6; fixed-address ehud; option root-path "192.168.1.2:/export/ehud"; } host shamgar { hardware ethernet 00:0c:76:16:3b:8a; fixed-address shamgar; option root-path "192.168.1.2:/export/shamgar"; } host jephthah { hardware ethernet 00:0c:76:16:3b:8c; fixed-address jephthah; option root-path "192.168.1.2:/export/jephthah"; } } # # Just leave unused empty # subnet 192.168.2.0 netmask 255.255.255.0 { max-lease-time 100; # seconds before lease expires default-lease-time 100; option broadcast-address 192.168.2.255; # option routers 192.168.1.2; # gateway address pool { range 192.168.2.1 192.168.2.8; # range of addresses to hand out deny members of "PXE"; deny unknown clients; } # # We abandoned using DHCPD for initializing the second # network because, when the client kernels would boot # the would do the kernel ip configuration on both ethernets # and would sometimes get the root nfs information from the # wrong network. # # # use-host-decl-names on; # supply host name to client # # host barak_2 { # hardware ethernet 00:0c:76:16:40:7a; # fixed-address barak_2; # option root-path ""; # ignore booting; # } # host deborah_2 { # hardware ethernet 00:0C:76:15:01:3b; # fixed-address deborah_2; # option root-path "192.168.1.2:/export/deborah_2"; # ignore booting; # } # host jair_2 { # hardware ethernet 00:0c:76:16:40:74; # fixed-address jair_2; # option root-path "192.168.1.2:/export/jair_2"; # ignore booting; # } # host gideon_2 { # hardware ethernet 00:0c:76:16:40:8c; # fixed-address gideon_2; # option root-path "192.168.1.2:/export/gideon_2"; # ignore booting; # } # host ehud_2 { # hardware ethernet 00:0c:76:14:39:e7; # fixed-address ehud_2; # option root-path "192.168.1.2:/export/ehud_2"; # ignore booting; # } # host shamgar_2 { # hardware ethernet 00:0c:76:16:3b:89; # fixed-address shamgar_2; # option root-path "192.168.1.2:/export/shamgar_2"; # ignore booting; # } # host jephthah_2 { # hardware ethernet 00:0c:76:16:3b:8b; # fixed-address jephthah_2; # option root-path "192.168.1.2:/export/jephthah_2"; # ignore booting; # } } subnet 192.168.0.0 netmask 255.255.255.0 { }