[LINUX] Problem, dass die virtuelle Maschine unter LXC keine IPv4-Adresse erhalten kann

Es gibt eine Technologie namens LXC (Linux Containers). Es bietet eine virtualisierte Umgebung auf Anwendungsebene unter Linux, aber kürzlich ist ein Problem aufgetreten, bei dem ich auf diesem Computer keine IPv4-Adresse erhalten konnte. In diesem Artikel werden die Ursachen und Gegenmaßnahmen vorgestellt. Hinweis) LXC und LXD werden im Artikel verwechselt.

TL; DR

Auf der virtuellen Maschine Führen Sie systemctl edit systemd-networkd.service aus, um den Editor zu starten

[Service]
BindReadOnlyPaths=/sys

Eingeben und speichern. Führen Sie dann "systemctl restart systemd-networkd.service" aus, um den Dienst neu zu starten.

Identifiziere das Problem

Es ist bekannt, dass dieses Problem hauptsächlich in einer Umgebung auftritt, die die folgenden Bedingungen erfüllt.

--Systemd-networkd wird für den DHCP-Client verwendet --systemd Version ist 244.1 oder höher

Derzeit wird diese Umgebung nur von führenden Distributionen wie ArchLinux und Fedora erfüllt. Da es sich jedoch nicht um ein verteilungsabhängiges Problem handelt, wird die Anzahl der von dem Problem betroffenen Systeme in Zukunft wahrscheinlich zunehmen.

Ursache

Die LXC-Seite ist sich der Ursache des Problems bewusst und arbeitet derzeit daran. https://discuss.linuxcontainers.org/t/no-ipv4-on-arch-linux-containers/6395/23 Dem Bericht zufolge ist diese Regression auf eine Fehlerbehebung in systemd-224.1 zurückzuführen, die darauf zurückzuführen ist, dass das Verzeichnis / sys im Container nicht schreibgeschützt ist.

Eine Schreibberechtigung für / sys im Container ist aus verschiedenen Gründen erforderlich, z. B. für udev- und Netzwerkoperationen. Die systemd-Seite scheint jedoch den Fixvorschlag der LXC-Seite für dieses Problem abgelehnt zu haben.

Daher ist es möglich, damit umzugehen, aber es scheint, dass geringfügige Änderungen auf der LXC-Seite nicht ausreichen und es zu einer Eskalation auf die Kernel-Ebene kommen wird.

Es wird irgendwann behoben, aber dieses Problem muss vorläufig behoben werden, bis ein neuer gepatchter Kernel verfügbar ist.

Bewältigung

Folgendes wird als vorübergehende Maßnahme vorgeschlagen, die vom Benutzer ergriffen werden kann.

Derzeit erwägt LXC, das Verteilungsimage mit der Überschreibungsdatei systemd-networkd zu verteilen.

Wie oben erwähnt, ist es dringend, aber ich hoffe, es wird hilfreich sein.

Recommended Posts

Problem, dass die virtuelle Maschine unter LXC keine IPv4-Adresse erhalten kann
Erstellen Sie eine virtuelle Linux-Maschine unter Windows