Es hängt sehr von der Konfiguration der Schnittstelle ab, die Sie dem Container hinzufügen möchten.
Wenn Sie über eine vorhandene Schnittstelle auf dem Host, die Sie im Inneren des Behälters sichtbar sein soll:
# on the host:
pid=$(lxc-info -pHn foobar)
ip link set dev eth3 netns $pid name eth1
Dies Ihres Host eth3
Schnittstelle verursachen in den Behälter foobar
, zu eth1
umbenannt verschoben werden. Dies ist in etwa gleich dieser Konfiguration:
lxc.network.type=phys
lxc.network.link=eth3
lxc.network.name=eth1
Ein weiteres nützliches Szenario eine neue Schnittstelle im Inneren des Behälters, auf dem Host an eine bestehende Brücke überbrückt zu schaffen wäre:
# on the host:
pid=$(lxc-info -pHn foobar)
ip link add name veth0 type veth peer name veth0_container
brctl addif br0 veth0
ip link set dev veth0_container netns $pid name veth0
Dieser Wille Erstellen Sie ein Paar verbundener virtueller Ethernet-Schnittstellen (veth0
und veth0_container
), fügen Sie einen von ihnen zu der br0
Brücke hinzu, und verschieben Sie den anderen in den Container foobar
. Dies entspricht in etwa diese Konfiguration:
lxc.network.type=veth
lxc.network.link=br0
lxc.network.name=veth0
Tks für Ihre Antwort! Wie wäre es mit dem Hinzufügen der IP-Adresse zum Erstellen einer neuen Schnittstelle im Container (Ihr 2. Fall): lxc.network.ipv4 = 192.168.1.100/24, lxc.network.ipv4.gateway = 192.168.1.1 – Diamond
BTW, sollte der Befehl sein "ip link add name veth0 typ veth peername veth0_container". Und auf Debian kann ich lxc-device command nicht finden – Diamond
Hoppla, hinzugefügt das fehlende 'add' zu dem' ip link add ... 'Befehl. Ich habe auch die Antwort aktualisiert, um den Befehl 'lxc-device' zu vermeiden, hoffentlich haben Sie mindestens' lxc-info' :) – lanzz