Networking

CentOS 7 DHCP 客戶端 - 如何使用“無類靜態路由”(“程式碼 121”)?

  • September 19, 2019

根據這個答案…

https://unix.stackexchange.com/a/457577/61742

…我可以使用以下配置在我的 DHCP 客戶端中使用來自我的 DHCP 伺服器的推送路由,方法是在/etc/dhclient.confor/etc/dhcp3/dhclient.conf文件中放置以下配置…

option classless-static-routes code 121 = array of { ip-address, ip-address };

但是在 CentOS 7 中這個文件不存在,但是下面的文件…

[root@localhost ~]# ps -eaf | grep dhcli
root       780   650  0 15:02 ?        00:00:00 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-enp0s8.pid -lf /var/lib/NetworkManager/dhclient-00cb8299-feb9-55b6-a378-3fdc720e0bc6-enp0s8.lease -cf /var/lib/NetworkManager/dhclient-enp0s8.conf enp0s8
root       783   650  0 15:02 ?        00:00:00 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-enp0s17.pid -lf /var/lib/NetworkManager/dhclient-8512e951-6012-c639-73b1-5b4d7b469f7f-enp0s17.lease -cf /var/lib/NetworkManager/dhclient-enp0s17.conf enp0s17
root      2218  1152  0 15:36 pts/0    00:00:00 grep --color=auto dhcli

注意:注意“-cf”參數的值(文件:/var/lib/NetworkManager/dhclient-enp0s8.conf/var/lib/NetworkManager/dhclient-enp0s17.conf)。

我的問題是:在 CentOS 7 DHCP 客戶端上使用“無類靜態路由”(程式碼 121)的正確方法是什麼?

謝謝!


加:

這是我的 ISC KEA DHCP (DHCPv4) 的配置…

cat /usr/local/etc/kea/kea-dhcp4.conf

[...]
"option-def": [{
       "name": "rfc3442-classless-static-routes",
       "code": 121,
       "space": "dhcp4",
       "type": "record",
       "record-types": "uint8,uint8,uint8,ipv4-address"
   }
],
"option-data": [{
       "name": "rfc3442-classless-static-routes",
       "data": "10,1,4, 10.1.6.4"
}]
[...]

目標是將 10.1.4.0/24 的請求路由到我的 DHCP 客戶端中的 ip 10.1.6.4/32。

ip route add 10.1.4.0/24 dev enp0s8 via 10.1.6.4注意:我在每個 DHCP 客戶端中使用該命令會得到相同的結果。

從這個答案中無恥地複制:

如果您希望通過 DHCP 執行此操作,請確保您已按照此處的 RedHat 知識庫文章正確配置了 DHCP 客戶端

> > 為確保在使用 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://unix.stackexchange.com/questions/459945