我正在尝试让 OSX Lion Server 通过 DHCP 为其客户端(所有 OSX Lion)提供静态路由。我无法让客户端真正应用静态路由。
到目前为止,我已经设法通过编辑 /etc/bootpd.plist 并添加如下内容,使 DHCP 服务器(BOOTPD)真正提供 DHCP 提供的 DHCP OPTION 33(static_route):
<key>dhcp_option_33</key>
<data>[some base64 goes here]</data>
..并重新启动 DHCP 服务。
在客户端上,我设法通过修改并将选项 33 添加到 DHCPRequestedParameterList 键来让客户端实际请求 dhcp 选项:
<key>DHCPRequestedParameterList</key>
<array>
... keys snipped for brevity ...
<integer>33</integer>
</array>
.. 并重新启动客户端。这会使客户端从 DHCP 服务器请求 static_route 选项(我可以在ipconfig getpacket en0),但实际上并没有应用该规则。
有没有人成功通过 DHCP 在 OSX 客户端上应用 static_route 选项?
答案1
值得一提的是,OSX 客户端似乎没有实现 DHCP 选项 121(取代选项 33),考虑到 Apple 被列为 RFC 3442 的作者,这令人惊讶。
我猜他们也不支持选项 33(我无法通过 ISC DHCPD 使其工作)。
一个解决方法是启动一些丑陋的东西:
https://discussions.apple.com/thread/1757618?start=0&tstart=0
答案2
该问题是针对 Lion 编写的,但适用于之后的几个版本。
El Capitan 及更高版本完全支持 DHCP 配置静态路由的 DHCP 选项 121。
Yosemite 及更早版本需要附加软件才能使用 DHCP 静态路由,可从此处获取:https://github.com/beckit/DHCP_121_macOS