
.network
如何/是否可以在不寫入/修改介面檔案的情況下發出一次性 DHCP 請求?
使用dhclient
,您只需運行dhclient enp23s0f4
即可取得 IP 位址。我正在尋找等效的工具,最好只使用ip
和systemd-networkd
相關的工具。
對於更多上下文,假設伺服器上有一個介面實體連接到上游網絡,但未配置或關閉;特別是它沒有.network
關聯的單位。
在正常工作條件下,介面應保持這種狀態,但有時管理員需要啟動介面並使用 DHCP 設定它。以前他們會ip link set enp23s0f4 up
先dhclient enp23s0f4
拿到一個地址,但是isc-dhcp-client
已棄用。networkctl
可用於啟動介面並由 管理systemd-networkd
,例如networkctl up enp23s0f4
:
# networkctl status enp23s0f4
● 2: enp23s0f4
Link File: /usr/lib/systemd/network/99-default.link
Network File: n/a
State: degraded (unmanaged)
Online state: unknown
Type: ether
Path: pci-0000:17:00.4
...
顯然,管理員可以建立一個簡單的網路單元檔案並以這種方式配置設備,例如:
# /etc/systemd/network/enp23s0f4.network
[Match]
Name=enp23s0f4
[Network]
DHCP=yes
然後使用networkctl reload
來套用配置,但是這樣有留下配置檔案的潛在危險。我具體是不是尋求這個解決方案並尋找一些無法在隨機重啟後倖存下來的短暫的東西。我能想到的最接近的方法是將單元文件放入/run/systemd/network
而不是/etc
,但這似乎仍然是一個不必要的解決方法,而不是一個正確的解決方案。