Redhat

通過 DHCP 配置 Linux 靜態路由

  • August 3, 2018

我有一堆需要設置靜態 IPv4 路由表的 RedHat 虛擬機。我想集中此配置,我想到了可以提供此資訊的 DHCP 服務(請參閱 RFC3442)。

  • RHEL 5 和 RHEL6 附帶的任何 DHCP 客戶端是否支持此功能?
  • 進行路由表配置還有其他選擇嗎?
  • 切換到 IPv6 會簡化這種配置嗎?

歡迎任何其他想法。

請參閱:RFC3442 - DHCPv4 的無類別靜態路由選項

您是否考慮過通過 Puppet 或 Chef 處理此問題?我認為編寫一個模組來檢查以確保路由存在並在它們不可用時應用它們是相當容易的。這為您提供了與單個 DHCP 服務配置文件相同的靈活性和集中控制。

如果虛擬機設置了靜態 IP,您可以在網路介面的路由配置文件中進行設置,例如“/etc/sysconfig/network-scripts/route-eth0”。這也可以通過配置管理工具輕鬆管理。

如果您希望通過 DHCP 執行此操作,請確保您已按照 RedHat 知識庫文章 ( https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/6.1_Technical_Notes正確配置了您的 DHCP 客戶端/ar01s04s05.html )

為確保在使用 NetworkManager 時正確處理由 DHCP 伺服器提供的 RFC3442 標準無類別靜態路由,應將以下行放入 /etc/dhclient.conf,或者,如果使用每個介面的 DHCP 選項,則 /etc/dhclient-< ifname>.conf:

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; 
option ms-classless-static-routes code 249 = array of unsigned integer 8; 
also request rfc3442-classless-static-routes;
also request ms-classless-static-routes;

這些行將確保從 DHCP 伺服器請求 RFC3442 無類別靜態路由,並確保它們由 NetworkManager 正確處理。

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