<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>The dhcpd server ("net boot" server) is serving out a class for Mac clients that need to netboot. That is the only option that gets served from this server. No ip range is defined since this server should not serve ip numbers, only the options needed when mac clients are requesting a netboot set.</div><div><br></div><div><br></div><div>Setup is as following:</div><div><br></div><div>DHCP server is a Windows 2003 server that serves the subnet 10.200.112.0/23</div><div>"netboot" server is a RedHat 6.2 Enterprise server running three services:</div><div>tftp</div><div>httpd</div><div>dhcpd</div><div><br></div><div>a ip-helper is defined for this subnet pointing to the second dhcpd server (the "netboot" server).</div><div><br></div><div>The following dhcpd.conf file works in our setup but inconsistently</div><div><br></div><div>################Start of dhcpd.conf#############################</div><div>authoritative;</div><div>ping-check on;</div><div><br></div><div>class "Applei386" {</div><div>match if substring (option vendor-class-identifier, 0, 14) = "AAPLBSDPC/i386";</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>if (substring(option vendor-class-identifier, 0, 14) = "AAPLBSDPC/i386"){</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>option dhcp-parameter-request-list 1,3,17,43,60;</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>filename "i386/booter";</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>if (option dhcp-message-type = 1) {</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>option vendor-class-identifier "AAPLBSDPC/i386";</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>option vendor-encapsulated-options 08:04:81:00:00:67;</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>}</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>option root-path "<a href="http://10.200.116.183/boot/booter.dmg">http://10.200.116.183/boot/booter.dmg</a>";</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>}</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>if (option dhcp-message-type = 8) {</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span> option vendor-class-identifier "AAPLBSDPC";</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span> if (substring(option vendor-encapsulated-options, 0, 3) = 01:01:01) {</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>option dhcp-parameter-request-list 1,3,17,43,60;</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>filename "i386/booter";</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>option vendor-encapsulated-options</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span> 01:01:01:</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span> 09:0c:81:00:00:01:07:6e:65:74:62:6f:6f:74;</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>option root-path "<a href="http://10.200.116.183/boot/booter.dmg">http://10.200.116.183/boot/booter.dmg</a>";</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span> } else {</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>option dhcp-parameter-request-list 1,3,17,43,60;</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>filename "i386/booter";</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>option vendor-encapsulated-options</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span> 01:01:02:</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span> 08:04:81:00:00:01;</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>option root-path "<a href="http://10.200.116.183/boot/booter.dmg">http://10.200.116.183/boot/booter.dmg</a>";</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>}</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>}</div><div>}</div><div><br></div><div>subnet 10.200.116.0 netmask 255.255.254.0 {}</div><div>subnet 10.200.112.0 netmask 255.255.254.0 {}</div><div><div>################End of dhcpd.conf#############################</div></div><div><br></div><div><br></div><div><br></div><div>The messages log file (after a restart of dhcpd)</div><div><br></div><div><br></div><div>Jun 12 10:17:03 thehostname dhcpd: Internet Systems Consortium DHCP Server 4.1.1-P1</div><div>Jun 12 10:17:03 thehostname dhcpd: Copyright 2004-2010 Internet Systems Consortium.</div><div>Jun 12 10:17:03 thehostname dhcpd: All rights reserved.</div><div>Jun 12 10:17:03 thehostname dhcpd: For info, please visit <a href="https://www.isc.org/software/dhcp/">https://www.isc.org/software/dhcp/</a></div><div>Jun 12 10:17:03 thehostname dhcpd: Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file</div><div>Jun 12 10:17:03 thehostname dhcpd: Wrote 0 class decls to leases file.</div><div>Jun 12 10:17:03 thehostname dhcpd: Wrote 0 leases to leases file.</div><div>Jun 12 10:17:03 thehostname dhcpd: Listening on LPF/eth0/00:50:56:93:3c:dc/10.200.116.0/23</div><div>Jun 12 10:17:03 thehostname dhcpd: Sending on LPF/eth0/00:50:56:93:3c:dc/10.200.116.0/23</div><div>Jun 12 10:17:03 thehostname dhcpd: Sending on Socket/fallback/fallback-net</div><div>Jun 12 10:17:13 thehostname dhcpd: DHCPINFORM from 10.200.112.183 via 10.200.112.1</div><div>Jun 12 10:17:13 thehostname dhcpd: DHCPACK to 10.200.112.183 (f0:de:f1:34:13:29) via eth0</div><div>Jun 12 10:17:28 thehostname dhcpd: DHCPDISCOVER from b8:8d:12:53:49:96 via 10.200.112.1: network 10.200.112.0/23: no free leases</div><div>Jun 12 10:17:32 thehostname dhcpd: DHCPDISCOVER from b8:8d:12:53:49:96 via 10.200.112.1: network 10.200.112.0/23: no free leases</div><div>Jun 12 10:17:32 thehostname dhcpd: DHCPREQUEST for 10.200.113.52 (10.200.116.11) from b8:8d:12:53:49:96 via 10.200.112.1: unknown lease 10.200.113.52.</div><div>Jun 12 10:17:34 thehostname dhcpd: DHCPINFORM from 10.200.113.52 via 10.200.112.1</div><div>Jun 12 10:17:34 thehostname dhcpd: DHCPACK to 10.200.113.52 (b8:8d:12:53:49:96) via eth0</div><div>Jun 12 10:17:34 thehostname dhcpd: DHCPINFORM from 10.200.113.52 via 10.200.112.1</div><div>Jun 12 10:17:34 thehostname dhcpd: DHCPACK to 10.200.113.52 (b8:8d:12:53:49:96) via eth0</div><div>Jun 12 10:17:36 thehostname dhcpd: DHCPREQUEST for 10.200.112.212 from f0:de:f1:79:47:99 via 10.200.112.1: unknown lease 10.200.112.212.</div><div>Jun 12 10:17:36 thehostname xinetd[1512]: START: tftp pid=15856 from=10.200.113.52</div><div>Jun 12 10:17:37 thehostname in.tftpd[15857]: RRQ from 10.200.113.52 filename i386/booter</div><div>Jun 12 10:17:37 thehostname in.tftpd[15857]: tftp: client does not accept options</div><div>Jun 12 10:17:37 thehostname in.tftpd[15858]: RRQ from 10.200.113.52 filename i386/booter</div><div>Jun 12 10:17:39 thehostname dhcpd: DHCPREQUEST for 10.200.112.212 from f0:de:f1:79:47:99 via 10.200.112.1: unknown lease 10.200.112.212.</div><div>Jun 12 10:17:45 thehostname dhcpd: DHCPREQUEST for 10.200.112.212 from f0:de:f1:79:47:99 via 10.200.112.1: unknown lease 10.200.112.212.</div><div>Jun 12 10:17:49 thehostname in.tftpd[15867]: RRQ from 10.200.113.52 filename i386/com.apple.Boot.plist</div><div>Jun 12 10:17:49 thehostname in.tftpd[15867]: tftp: client does not accept options</div><div>Jun 12 10:17:49 thehostname in.tftpd[15868]: RRQ from 10.200.113.52 filename i386/com.apple.Boot.plist</div><div>Jun 12 10:17:49 thehostname in.tftpd[15869]: RRQ from 10.200.113.52 filename i386/PlatformSupport.plist</div><div>Jun 12 10:17:49 thehostname in.tftpd[15869]: tftp: client does not accept options</div><div>Jun 12 10:17:49 thehostname in.tftpd[15870]: RRQ from 10.200.113.52 filename i386/PlatformSupport.plist</div><div>Jun 12 10:17:49 thehostname in.tftpd[15871]: RRQ from 10.200.113.52 filename i386/x86_64/kernelcache</div><div>Jun 12 10:17:49 thehostname in.tftpd[15871]: tftp: client does not accept options</div><div>Jun 12 10:17:49 thehostname in.tftpd[15872]: RRQ from 10.200.113.52 filename i386/x86_64/kernelcache</div><div>Jun 12 10:17:52 thehostname dhcpd: DHCPREQUEST for 10.200.112.212 from f0:de:f1:79:47:99 via 10.200.112.1: unknown lease 10.200.112.212.</div><div>Jun 12 10:18:03 thehostname dhcpd: DHCPREQUEST for 10.200.112.212 from f0:de:f1:79:47:99 via 10.200.112.1: unknown lease 10.200.112.212.</div><div>Jun 12 10:18:06 thehostname dhcpd: DHCPREQUEST for 10.200.112.212 from f0:de:f1:79:47:99 via 10.200.112.1: unknown lease 10.200.112.212.</div><div>Jun 12 10:18:18 thehostname dhcpd: DHCPREQUEST for 10.200.112.237 from f0:de:f1:7e:d4:f7 via 10.200.112.1: unknown lease 10.200.112.237.</div><div><br></div><div>Client is (10.200.113.52) and this time it worked. But sometimes it does not work</div><div><br></div><div>Any advice or input is welcome!</div><div><br></div><div apple-content-edited="true"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div><br class="Apple-interchange-newline">Håkan Hagenrud</div></span></span></span></div></span></div></span></div></div></body></html>