Mac OS X服务器configurationDHCP选项66和67

我需要configurationMountain Lion(10.8.2)OS X Server BOOTP来提供DHCP选项66和67,以便为我的networking上的PC提供PXE引导。 我已经尝试过下面的bootpd MAN页面,但它们不够具体。 我也在网上读了冲突的信息,但是对于Mountain Lion DHCP没有任何明确的信息。

从bootpd手册页:

bootpd有一个内置的types转换表,用于许多其他选项,主要是RFC 2132中指定的那些选项,并将尝试将属性列表中出现的任何types转换为二进制包格式。 例如,如果bootpd知道该选项的types是IP地址或IP地址列表,则它将从IP地址的stringforms转换为二进制networking字节顺序数值。

如果选项的types是数字值,则它将从string,整数或布尔值转换为适当大小的networking字节顺序数值。

无论bootpd是否知道选项的types,都可以使用数据属性列表types来指定DHCP选项

<key>dhcp_option_128</key> <data> AAqV1Tzo </data> 

我的TFTP服务器是172.16.152.20 ,启动文件是pxelinux.0

我编辑了/etc/bootpd.plist并将以下内容添加到子网字典中:

 <key>dhcp_option_66</key> <data> LW4gLWUgrBCYFAo= </data> <key>dhcp_option_67</key> <data> LW4gLWUgcHhlbGludXguMAo= </data> 

根据手册页,数据元素应该是Base64编码的,但无论我尝试什么,我都无法得到PXE客户端启动。

我曾尝试编码172.16.152.20使用各种方法:

  • 回声“172.16.152.20”| openssl enc -base64返回MTcyLjE2LjE1Mi4yMAo =
  • 生成172.16.152.20string的DHCP选项代码实用程序( http://mac.softpedia.com/get/Internet-Utilities/DHCP-Option-Code-Utility.shtml )得出: LW4gLWUgMTcyLjE2LjE1Mi4yMAo = (在上例中使用)
  • 生成来自172.16.152.20的IP地址的DHCP选项代码实用程序产生: LW4gLWUgrBCYFAo =

用上面的方法编码pxelinux.0同样会产生不同的编码。

我已经尝试使用所有三种编码数据元素的方法,但似乎没有工作,即我的PXE启动客户端不会被定向到我的TFTP服务器。 谁能帮忙?

问候,保罗亚当斯。

我终于得到这个工作感谢苹果论坛的一个线程:

https://discussions.apple.com/thread/4561762?start=15&tstart=0

在OS X Mountain Lion中,苹果公司正在期待某些DHCP选项的空字符结束string 。 贡献者John Lockwood创build了一个实用程序,该实用程序将生成包含以null结尾的选项string的正确bootpd XML。 参考上面的线程,并在这里下载实用程序:

http://jelockwood.blogspot.co.uk/2013/06/dhcp-server-on-os-x-server.html

将生成的代码添加到我的bootpd.plist中使我能够仅使用OS X DHCP服务来PXE引导PC。