ddns-update-style none; allow booting; allow bootp; authoritative; # Definition of PXE-specific options # Code 1: Multicast IP address of bootfile # 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 secondes a client must listen for activity before trying # to start a new MTFTP transfer # Code 5: Number of secondes a client must listen before trying to restart # a MTFTP transfer # define Option for the PXE class 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; #Define options for pxelinux 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; site-option-space "pxelinux"; option pxelinux.magic f1:00:74:7e; option pxelinux.reboottime 30; #Class that determine the options for Etherboot 5.x requests class "Etherboot" { #if The vendor-class-identifier equal Etherboot-5.0 match if substring (option vendor-class-identifier, 0, 13) = "Etherboot-5.0"; # filename define the file retrieve by the client, there nbgrub # our tftp is chrooted so is just the path to the file filename "/etherboot/nbgrub"; #Used by etherboot to detect a valid pxe dhcp server option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff; # Set the "vendor-class-identifier" field to "PXEClient" in dhcp answer # if this field is not set the pxe client will ignore the answer ! option vendor-class-identifier "Etherboot-5.0"; vendor-option-space PXE; option PXE.mtftp-ip 0.0.0.0; # IP of you TFTP server next-server IPADDR_TFTP; } # create the Class PXE class "PXE" { # if the "vendor-class-identifier" is set to "PXEClient" in the client dhcp request match if substring(option vendor-class-identifier, 0, 9) = "PXEClient"; filename "/X86PC/linux/linux.0"; option vendor-class-identifier "PXEClient"; vendor-option-space PXE; option PXE.mtftp-ip 0.0.0.0; next-server IPADDR_TFTP; } #host node20 { # hardware ethernet 00:40:CA:8C:B6:E9; # fixed-address node20; #} subnet NET.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option routers IPADDR_GW; default-lease-time 288000; max-lease-time 864000; option domain-name "guibland.com"; option domain-name-servers IPADDR_DNS; next-server IPADDR_TFTP; pool { range NET.30 NET.40; } }