Linux
將 DHCP 客戶端從 udhcpc 更改為 systemd-networkd 時如何保持 DHCP 伺服器提供的 IP
我有一台設備,我想升級它的文件系統和軟體包。
現在安裝的是某種帶有busybox的buildroot。它的 DHCP 客戶端是,我這樣執行它是為了獲得.
udhcpc``/sbin/udhcpc -R -b -p /var/run/udhcpc.eth0.pid -i eth0``eth0
我正在將文件系統和軟體包升級為
Ubuntu 18.04
基於而不是buildroot
.作為其中的一部分,新的 DHCP 客戶端是
systemd-networkd
.
udhcpc
FS升級前的IP與升級後的IP不同systemd-networkd
。這適用於具有相同mac的相同介面。
有沒有辦法保留舊IP?
$$ … $$
要使用的 DHCPv4 客戶端標識符。取
mac
,duid
或 之一duid-only
。**如果設置為mac
,則使用連結的 MAC 地址。**如果設置為duid
,則使用符合 RFC4361的客戶端 ID,它是 IAID 和 DUID(見下文)的組合。如果設置為duid-only
,則僅使用 DUID,這可能不符合 RFC,但某些設置可能需要使用它。預設為duid
.
- 如果您想恢復到之前安裝獲得的行為並且它沒有使用任何 DUID,則使用此參數:
ClientIdentifier=mac
- 如果較舊的安裝使用 DUID 並且可能使用特定於介面的 IAID,則還必須從中檢索這些值。然後它們應該用於或影響文件中描述的各種其他參數
ClientIdentifier= DUIDType= DUIDRawData= IAID= ... ?
希望你屬於前一種情況。
現在,由於它是關於伺服器的,所以應該可以實現一些穩定性,正如@roaima在評論中所寫,在簡單的網路設置中保持相同 IP 地址的正確方法可能是更改 DHCP 伺服器上的設置以別無選擇DHCP客戶端。