Einmalige DHCP-Anfrage mit systemd-networkd

Einmalige DHCP-Anfrage mit systemd-networkd

Wie ist es möglich, eine einmalige DHCP-Anfrage zu stellen, ohne eine .networkDatei für die Schnittstelle zu schreiben/ändern?

Mit dhclientkönnten Sie einfach ausführen, dhclient enp23s0f4um eine IP-Adresse zu erhalten. Ich suche nach einem Äquivalent, vorzugsweise unter Verwendung nur ipund systemd-networkd-assoziierter Tools.

Um mehr Kontext zu erhalten, gehen wir davon aus, dass es auf einem Server eine Schnittstelle gibt, die physisch mit einem Upstream-Netzwerk verbunden ist, ansonsten aber nicht konfiguriert oder ausgefallen ist; insbesondere ist ihr keine .networkEinheit zugeordnet.

Unter normalen Arbeitsbedingungen sollte die Schnittstelle so bleiben, aber gelegentlich muss ein Administrator die Schnittstelle aufrufen und mit DHCP konfigurieren. Früher mussten sie dies tun ip link set enp23s0f4 upund dann dhclient enp23s0f4eine Adresse erhalten, aberisc-dhcp-client ist veraltet. networkctlkann verwendet werden, um die Schnittstelle zu aktivieren und zu verwalten systemd-networkd, z networkctl up enp23s0f4. B.:

# 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
...

Natürlich kann der Administrator eine einfache Netzwerkeinheitendatei erstellen und das Gerät beispielsweise folgendermaßen konfigurieren:

# /etc/systemd/network/enp23s0f4.network
[Match]
Name=enp23s0f4
[Network]
DHCP=yes

Und dann verwenden Sie, networkctl reloadum die Konfiguration anzuwenden, aber dies birgt die potenziellen Gefahren, die Konfigurationsdatei zu verlassen. Ich bin speziellnichtIch frage nach dieser Lösung und suche nach etwas Kurzlebigem, das zufällige Neustarts nicht übersteht. Das Beste, was mir einfällt, ist, die Unit-Datei in /run/systemd/networkstatt in einzufügen /etc, aber das scheint immer noch eher eine unnötige Problemumgehung als eine richtige Lösung zu sein.

verwandte Informationen