Networking

通過 DHCP 添加靜態路由

  • October 15, 2016

我正在嘗試讓 OSX Lion 伺服器通過 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 選項?

FWIW,OSX 客戶端似乎沒有實現 DHCP 選項 121(取代選項 33),考慮到 Apple 被列為 RFC 3442 的作者,這令人驚訝。

我猜他們也不支持選項 33(我無法通過 ISC DHCPD 工作)。

一種解決方法是一些啟動的醜陋:

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

該問題是為 Lion 編寫的,但之後適用於多個版本。

El Capitan 及更高版本完全支持 DHCP 選項 121 用於 DHCP 提供的靜態路由。

Yosemite 和更早的版本需要額外的軟體來處理 DHCP 靜態路由,可在此處獲得:https ://github.com/becket/DHCP_121_macOS

引用自:https://serverfault.com/questions/405034